2017-04-21 73 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

相关问题