jira - Jira XRAY - 如何使用 xray API 导入 xml?
问题描述
我正在尝试将 xml 报告导入到 Jira xRay - 到测试执行项目。
我可以找到的文档引用了 client_id 和 client_secret,它们应该由 Create API key 生成。创建 API 密钥只生成一个字符串,一个令牌。
因此,我无法弄清楚如何仅使用令牌来提交 xml 报告。
例如,这个命令:
curl -H "Content-Type: application/json" -X POST --data @"cloud_auth.json" https://xray.cloud.getxray.app/api/v2/authenticate
我不能使用它,因为它需要client_id 和client_secret。此外,端点本身返回
Cannot GET /api/v2/authenticate
.
使用此命令:
curl -H "Content-Type: text/xml" -X POST -H "Authorization: Bearer $token" --data @"data.xml" https://xray.cloud.getxray.app/api/v1/import /执行/junit?testExecKey=XNP-23
导致 "{"error":"Invalid JWT: JsonWebTokenError: jwt malformed"}"
.
请问有人可以帮忙吗?
解决方案
首先,您需要澄清您是在 Jira 服务器/数据中心还是 Jira Cloud 上使用 Xray,因为它们是不同的产品,并且 API 略有不同;除了 Jira Cloud 和 Jira 服务器/数据中心也是不同的产品。例如,要找出答案,您可以询问您的 Jira 管理员。
如果您使用的是 Xray Cloud,那么这是文档站点。在这种情况下,为了提交 JUnit XML 报告,您需要使用您在Xray API 密钥部分获得的客户端 ID 和客户端密码进行身份验证。身份验证请求在此处进行了详细说明,这将返回一个令牌,您将在第二个请求中使用该令牌。第二个请求是 HTTP POST,如此处所述,您需要传递之前获得的令牌。主要的 REST API 文档站点就是这个。
如果您在 Jira 服务器/数据中心上使用 Xray,那么这是正确的文档站点。在 Xray 服务器中,认证机制由 Jira 自己提供。您可以使用基本身份验证或个人访问令牌(如果您的 Jira >= 8.14)。这在专用于其 REST API的 Xray 服务器/数据中心页面上有详细说明。选择要使用的身份验证机制后,您只需要发出 HTTP POST 请求,详见此处。
有一个开源 GitHub 项目,其中包含一些代码片段,适用于 Xray 服务器/数据中心和云,使用不同的测试自动化报告格式和不同的身份验证机制。
推荐阅读
- python - 为什么无限循环不在多处理中运行?
- dynamic - 此表达式的类型为 'a -> 'a 数组数组,但表达式应为 'b 数组类型
- r - 根据它们的常见程度更改 ggplot2 热图 y 轴中因子的顺序
- python - Python - 测试函数返回条形图
- java - 使用 Jtextfield 框中文本中的 char,如果它与首选字符串的一半匹配,则在显示框中显示首选字符串
- android - Android Viewpager2 和 RecyclerView Item onClick 监听器
- reactjs - React 路由器 - 单击 Productcard 并重定向到包含所单击卡片详细信息的组件,
- java - 如何在执行复杂计算时显示 ProgressBar 或 AlertDialog(完成后关闭)
- scipy - 行加权和的近似低秩矩阵
- prolog - Prolog Flow Free 求解器