2017-04-21 115 views
0

我試圖通過使用工作流程導出報告的時間。我已成功地使發送時間變如何在youtrack的工作流程中導出工作項目

rule Post work items 
when issue.Spent time.changed { 
    var url="https://myserver/jsp/testReceiveOfHours.jsp?issueid="+issue.getId(); 
    var payload="{\n\t\"payload\": {\n\t\t\"json\": true\n\t}\n}"; 
    doHttpPost(url,payload); 
} 

這項工作HTTP請求工作流,我得到一個觸發器,一些工作時間改變,但我不知道是哪個。但在另一臺服務器上,我製作了一個jsp,通過REST API返回到youtrack以獲取該問題的所有工作項目。這樣做的工作原理除了它看起來並不像在執行提取之前將最憎惡的已更改的工作項目保存到數據庫中,所以我不會收到我只查找較舊的工作項目。所以在我進入某種延遲/隊列(或某物)之前。有沒有辦法將修改後的工作項json(與從/ youtrackserver/rest/issue/issueid/timetracking/workitem/workitemid返回的相同)添加到doHttpPost的有效內容中?如果不是json可能是其他形式的數據?

回答

1

在2017.2之前的YouTrack中的Workflow API中,無法從問題中獲取工作項。在YouTrack 2017.2中會出現新的財產(issue.workItems),以便您可以通過issue.workItems.added獲得額外的工作項目。

您也可以嘗試一個experimental Workflow API(這是基於JS和支持瀏覽器內編輯器)。

工作項API不在舊API的文檔中描述,但您可以在實驗性API參考中找到它:BaseWorkItem,IssueWorkItem,Issue

+0

我不能讓工作流編輯器接受issue.workItems,它只是變得紅並不會保存/使用。此方法是否需要新的JavaScript工作流程? – Johan

相關問題