2016-09-13 27 views
0

我有許多項目字段需要通過API進行更新,這在工作界面中不可見。我通過執行項目ID的GET來獲取這些屬性。我需要更新的幾個字段是 - previousStatus,categoryID,resourcePoolID,scheduleID,eac和其他。請注意我的extRefID爲空。
我曾經嘗試這樣做 -Attask - 通過API更新隱藏的項目屬性

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 

與身體

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

但似乎沒有任何工作。第三個電話的響應碼爲200,但previousStatus仍未更新。 對於其他調用我得到:

「參數與主鍵值(S)\」 previousStatus \「未找到」

任何一個可以請建議是正確的做法,如果它是可以實現的?提前致謝!

回答

1

這些字段中的大部分都可以並且應該使用API​​進行設置,但其中一些字段仍在計算中,因此無法直接設置。以前的狀態正是它所說的,它是通過更改項目的狀態來自動設置的。如果項目是CUR並更改爲CPL,則以前的狀態將爲CUR,因爲它之前處於CUR狀態。這用於報告或審計以確保流程合規性。

EAC也是從任務和項目屬性中自動計算出來的。

應該注意的是,categoryID是遺留的術語,它們自此在UI中被重新標記爲Forms。所以你會去安裝並從那裏獲取ID。您必須在項目中至少有一個表單才能設置後續的自定義表單值。通過使用API​​的v5並設置categoryIDs集合,您可能擁有不止1個。

CompanyID,ScheduleID,ResourcePoolID等都可以設置沒有問題。

如果你不能在UI中設置它,你可能無法在API中設置它。這種情況的一個例外是extRefID,它不易在UI中設置,但打算在API中設置。