JIRA API:如何使用版本和测试周期更新测试结果?

时间:2016-02-18 23:42:09

标签: java jira jira-rest-api jira-zephyr

有人可以分享允许我更新给定版本的测试周期的步骤和代码吗?我可以让它更新Ad Hoc的测试结果,但这不是我想要的。这就是我所拥有的:

// 1. Get IssueId via "jira/rest/api/2/issue/" + issueKey
// 2. Get VersionId via "jira/rest/api/2/project/" + projectId + "/versions"
// 3. Get ProjectId via "jira/rest/api/2/project"
// 4. Create ExecutionId via "jira/rest/zapi/latest/execution", with issueId, projectId in header
// 5. Execute execution via "jira/rest/zapi/latest/execution" + executionId + "/execution" , with body containing status = 1 or 2

我有VersionId,但我在哪里放? 我需要获得TestCycle Id,但我无法弄清楚从哪里获得它,一旦我得到它,我在哪里放它?

2 个答案:

答案 0 :(得分:2)

测试周期按照Zephyr for JIRA中的版本和项目进行组织。因此,您应该在下面的GET请求中获取所选项目的给定版本的周期ID。

GET -  http://<jira_server>/rest/zapi/latest/cycle?projectId=10000&versionId=10100

通过上述请求,您将获得cycleId,在执行资源API中使用此ID&#34; http://jira_server/rest/zapi/latest/execution&#34;如下所示,以获得执行ID在该周期中的存在。

POST - http://<jira_server>/rest/zapi/latest/execution

HEADERS
Content-Type:application/json

BODY
{
  "issueId": 10600,
  "versionId": "10000",
  "cycleId": "16",
  "projectId": 10000
}

现在,在以下API中使用executionId作为{id}来更新测试结果http:/// rest / zapi / latest / execution / {id} / execute

用法

PUT 
http://<jira_server>/rest/zapi/latest/execution/{id}/execute

HEADERS
Content-Type:application/json

BODY
{
  "status": "1"
}

Response
200

如果您仍然遇到任何问题,请注册我们的支持网站&#34; https://support.getzephyr.com/hc/en-us&#34;使用您公司的电子邮件ID并使用选项&#34;提交案例&#34;与我们一起提出机票,我们的支持工程师会立即与您联系。它是跟踪Zephyr问题的更好渠道。

答案 1 :(得分:0)

我通过查看zapi文档来解决这个问题,我错误地查看了REST API文档但在那里找不到它,没有意识到测试周期是Zephyr解决方案。该请求应该看起来像这样:

https://jira.xxxxx.com/jira/rest/zapi/latest/cycle?{"versionId":12345,"projectId":12345}