如何使用workfront api将小时对象添加到任务?

时间:2018-01-18 11:49:15

标签: rest workfront-api

我想写一个休息客户端,它会为特定的工作前端任务增加几个小时。即添加更多这些:

enter image description here

The docs对此并不十分清楚。他们对任何TBF都不是很清楚,它只是一个对象列表,没有如何关联它们的例子。这就像尝试用字典学习西班牙语一样!

enter image description here

我试图对新一小时进行POST:

POST https://company.attask-ondemand.com/attask/api/v7.0/hour?apiKey=<api key>

{
    "objCode": "HOUR",
    "entryDate": "2018-01-18",
    "hours": 1,
    "status": "SUB",
    "taskID" : "<task id>"
}

但我从工作场所回来的是:

{
    "data": {
        "objCode": "HOUR",
        "ID": null
    }
}

有趣的是,如果我搜索任务的小时数:

GET https://company.attask-ondemand.com/attask/api/v7.0/hour/search?taskID=<task ID>&apiKey=<api key>

我收到了几个小时但他们不包含任何TaskIds:

{
    "data": [
        {
            "ID": "<id>",
            "objCode": "HOUR",
            "entryDate": "2018-01-16",
            "hours": 3,
            "status": "SUB"
        },
        {
            "ID": "<id>",
            "objCode": "HOUR",
            "entryDate": "2018-01-15",
            "hours": 1,
            "status": "SUB"
        },
        {
            "ID": "<id>",
            "objCode": "HOUR",
            "entryDate": "2018-01-18",
            "hours": 0.75,
            "status": "SUB"
        }
    ]
}

即使the docs声明此对象包含taskId字段?

有没有人有这方面的经验?如何将新小时添加到任务对象?

1 个答案:

答案 0 :(得分:1)

你快到了。您只需要发送更多数据。我不确定所需的最小字段是什么,但是我能够在给定日期下针对特定任务在给定用户下记录1小时,并将其显示在任务之下。

POST https://x.my.workfront.com/attask/api/v7.0/hour?taskID=<id of task>&ownerID=<user to log hours under>&hours=1.0&entryDate=2017-12-27&apiKey=<key>"

请注意,您可以传递其他有效的ID类型,例如问题,而不是TaskID。