首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python与JIRA XRAY集成

Python与JIRA XRAY集成
EN

Stack Overflow用户
提问于 2018-11-08 00:49:19
回答 1查看 3.9K关注 0票数 2

我可以将JIRA包与python一起使用,并更新或从jira获取问题详细信息。但是我想知道如何使用python中的post请求将测试执行结果导入到XRAY JIRA中。我已经使用JAVA和XRAY REST API和一个用于cucumber测试的json文件完成了这项工作。

对于手动测试,在python中不能做同样的事情。请注意,要求是在使用python的自动化方法中,在XRAY中的测试执行中将手动测试状态更新为通过/失败。

EN

回答 1

Stack Overflow用户

发布于 2019-04-11 07:41:51

这就是解决方案。

首先,使用jira api创建"Test Execution“类型的新问题:

代码语言:javascript
复制
fields_dict = {
    'project': 'AB',
    'summary': 'New execution',
    'description': 'Test execution creation via python',
    'issuetype': {'name': 'Test Execution'}
}

test_execution = jira.create_issue(fields = fields_dict)

现在,我们需要将测试与此测试执行关联起来。对于本例,让我们将一个名为"AB-3“的测试关联起来。别忘了在这篇文章中包含身份验证的细节。您可以以相同的方式关联测试集,即"AB-3“可以是单个测试,也可以是测试集。

代码语言:javascript
复制
requests.post("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key + "/test", json{"add": ["AB-3"]})

这将为我们与此测试执行关联的每个测试创建一个唯一的id。我们需要这个唯一的id来更新执行状态。

代码语言:javascript
复制
r = requests.get("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key

test_id = r.json()[0]['id']

如果您有多个测试,当然要使用循环。我只是订阅了第一个项目,因为我知道我们只有一个测试。

然后,为了更新执行状态,我们执行PUT:

代码语言:javascript
复制
requests.put("https://my.jira.com/rest/raven/1.0/api/testrun/" + str(test_id) + "/status?status=PASS")

你可以使用“通过”或“失败”,等等。别忘了认证!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53194104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档