WorkFront (AtTask) API - 为项目创建新基线

WorkFront (AtTask) API - Create new baseline for project

是否可以使用 WorkFront API 通过 ID 为项目创建新基线?

例如,当我使用 WorkFront UI 创建基线时,如果我在 chrome 中打开 devtools/Network,我可以看到有一个 POST 请求 attask/api-internal/BLIN,据我所见,请求的参数应该是这样的: https://<COMPANY>.attask-ondemand.com/attask/api-internal/BLIN/fields=["objCode","ID","projectID","name","isDefault"]&method=post&updates={"objCode":"BLIN","ID":"","projectID":"<PROJECT_ID>","name":"NEW_BASELINE","isDefault":false}

所以我尝试使用 Postman 并得到了回复

"error": {
    "class": "com.attask.common.AuthenticationException",
    "message": "You are not currently logged in"
}

如果我使用 ...&apiKey=<API_KEY>

将 API 键附加到 URL,我会收到相同的消息

从那里我尝试登录以获取会话 ID,然后我混合并匹配将 sessionID 和 apiKey 添加到 URL 等的末尾。当我使用 sessionID 时,我得到以下错误:

"error": {
    "class": "java.lang.IllegalArgumentException",
    "message": "method POST is not allowed for authorization type COOKIE"
}

我可能做错了什么?这甚至可以使用 API?

来实现

你几乎一路走到了那里。您不需要传递这些字段,因为它们是在您传递更新时隐式定义的。这应该适合你:

https://<domain>.my.workfrontcom/attask/api/v6.0/BLIN?updates={"objCode":"BLIN","ID":"","projectID":"<projectID>","name":"<baseline name>","isDefault":false}&apiKey=<api key>

确保以 POST.

的形式提交