使用Asana API创建任务时出错

时间:2014-08-05 15:06:10

标签: asana

我们一直在使用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>

有什么想法? 提前致谢

1 个答案:

答案 0 :(得分:2)

我们很高兴在API中发布了对任务和故事中心中的支持。这些包括新领域,#34; hearted&#34;,&#34; hearts&#34;和&#34; num_hearts&#34;。您可以在our documentation中了解详情。

不幸的是,您的客户端抛出了一个错误,因为它到达了一个无法识别的新字段(num_hearts)。由于客户端似乎是open source,您可能希望向他们发送拉取请求以添加对新心属性的支持。或者,可能值得概括客户端,以便在将来添加新字段时不会抛出错误。为了使API与产品开发保持同步,我们将不时添加字段和端点。你可以依靠不会消失的现有领域,但依赖于没有添加新领域是不好的。