我正在尝试使用工作流导出报告时间。我已经成功地创建了一个在时间更改时发送http请求的工作流。
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);
}这项工作,我得到了一个触发器,一些工作时间被改变,但我不知道是哪一个。但在另一台服务器上,我创建了一个jsp,它通过REST API返回给您,以获取该问题的所有工作项。这是可行的,除了它看起来不像是最新更改的工作项在我执行抓取之前保存到数据库中,所以我没有得到我正在寻找的只有较旧的工作项。所以在我开始之前,先做一些延迟/队列(或其他东西)。有没有办法将更改后的工作项json (与从//youtrackserver/rest/issue/issueid/timetracking/workitem/workitemid)返回的相同)添加到doHttpPost的有效负载中?如果不是json,可能是其他形式的数据?
发布于 2017-04-24 16:12:01
在YouTrack 2017.2之前的Workflow API中,无法从问题中获取工作项。在YouTrack 2017.2中会出现新的属性(issue.workItems),这样您就可以通过issue.workItems.added获得添加的工作项。
您也可以尝试一下experimental Workflow API (它是基于JS的,并受浏览器内编辑器的支持)。
工作项的API没有在旧API的文档中描述,但您可以在实验API参考中找到:BaseWorkItem,IssueWorkItem,Issue。
https://stackoverflow.com/questions/43545793
复制相似问题