Attask - 通过 API 更新隐藏的项目属性

Attask - Update hidden project properties through API

我有许多项目字段要通过 API 更新,它们在 Workfront UI 中不可见。我通过对项目 ID 执行 GET 来获取这些属性。我需要更新的几个要命名的字段是 - previousStatus、categoryID、resourcePoolID、scheduleID、eac 和其他。请注意我的 extRefID 为空。
我试过这个 -

 https://abc.attasksandbox.com/attask/api/project/57--b8477f7?DE:project={previousStatus:EST}&apiKey=759--ux&method=put

还有这个

https://xyz.attasksandbox.com/attask/api/project/57d6--f7?DE=previousStatus:EST&apiKey=759--xu&method=put

还有这个

https://xyz.attasksandbox.com/attask/api/project/57--f7?updates={"previousStatus":"EST"}&apiKey=7--xuk&method=put

和JSON编辑如下

https://xyz.attasksandbox.com/attask/api/project/57--f7&apiKey=7--xuk&method=put

与 body 作为

{
    Project: [ 
        { 
            previousStatus: "EST"
        } 
    ] 
}

但似乎没有任何效果。我收到第 3 次调用的响应代码 200,但 previousStatus 仍未更新。 对于其他电话,我接到:

"Parameter with primary key value(s) \"previousStatus\" not found"

任何人都可以提出正确的方法(如果可行的话)吗?提前致谢!

这些字段中的大部分可以并且应该使用 API 进行设置,但其中一些字段仍需要计算,因此无法直接设置。 Previous Status 正是它所说的,它是通过更改项目状态自动设置的。如果项目为 CUR 并更改为 CPL,则 previousStatus 将为 CUR,因为它之前处于 CUR 状态。这用于报告或审计以确保流程合规性。

EAC 也是根据任务和项目属性自动计算的。

需要注意的是,categoryID 是遗留术语,它们在 UI 中被重新标记为表单。所以你会去设置并从那里获取 ID。您必须在项目上至少有一个表单才能设置后续的自定义表单值。通过使用 API 的 v5 并设置 categoryIDs 集合,您可能拥有超过 1 个。

CompanyID、ScheduleID、ResourcePoolID 等都可以毫无问题地设置。

如果您不能在 UI 中设置它,您可能也不能在 API 中设置它。一个例外是 extRefID,它在 UI 中不容易设置,但打算在 API 中设置。