我们一直在使用ASANA API大约4个月,但今天我们开始尝试在Asana中创建任务时遇到错误:
5:15:48,208 ERROR [stderr] (pool-13-thread-1) Exception in thread "pool-13-thread-1" com.sun.jersey.api.client.ClientHandlerException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "num_hearts" (Class net.joelinn.asana.tasks.Task), not marked as ignorable
05:15:48,210 ERROR [stderr] (pool-13-thread-1) at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@6eae04be; line: 1, column: 296] (through reference chain: net.joelinn.asana.tasks.Task["num_hearts"])
错误发生在client.createTask()调用上,请参阅下面的代码:
protected void createProjectTasks(Project template, AsanaDetails asanaDetails, Long createdProjectId) {
try {
String asanaWorkspaceName = asanaDetails.getWorkspaceName();
Asana asana = new Asana(asanaDetails.getApiKey());
Tasks tasks = asana.projects().getTasks(template.id);
Workspace workspace = getWorkspace(asana, asanaWorkspaceName);
if (workspace == null) {
throw new AsanaException("Asana workspace with name " + asanaWorkspaceName + " is not found");
}
if (tasks == null) {
return;
}
Collections.reverse(tasks);
TasksClient client = asana.tasks();
for (Task task : tasks) {
TaskRequestBuilder taskRequestBuilder = new TaskRequestBuilder();
if (StringUtils.isNotBlank(task.name)) {
taskRequestBuilder.name(task.name);
taskRequestBuilder.completed(false);
taskRequestBuilder.addProject(createdProjectId);
taskRequestBuilder.workspace(workspace.id);
client.createTask(taskRequestBuilder);
}
}
} catch (ApiException e) {
throw new AsanaException(e.getMessage());
}
}
我检查了Task类,没有用" num_hearts"注释的字段,所以,我有点困惑这里弄坏了什么,我们还没有做任何代码更改大约一个月......
这是api版本:
<dependency>
<groupId>net.joelinn</groupId>
<artifactId>asana</artifactId>
<version>0.5.4</version>
</dependency>
有什么想法? 提前致谢
答案 0 :(得分:2)
我们很高兴在API中发布了对任务和故事中心中的支持。这些包括新领域,#34; hearted&#34;,&#34; hearts&#34;和&#34; num_hearts&#34;。您可以在our documentation中了解详情。
不幸的是,您的客户端抛出了一个错误,因为它到达了一个无法识别的新字段(num_hearts)。由于客户端似乎是open source,您可能希望向他们发送拉取请求以添加对新心属性的支持。或者,可能值得概括客户端,以便在将来添加新字段时不会抛出错误。为了使API与产品开发保持同步,我们将不时添加字段和端点。你可以依靠不会消失的现有领域,但依赖于没有添加新领域是不好的。