Jira XRAY - 如何使用 xray API 导入 xml?

问题描述 投票:0回答:2

我正在尝试将 xml 报告导入到 Jira xRay - 测试执行项。

我能找到的文档引用了 client_id 和 client_secret ,它们应该由 Create API key 生成。创建API key只会生成一个字符串,一个token。

因此我无法弄清楚如何仅使用令牌来提交 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/execution/junit?testExecKey=XNP-23

来自 关于 JUnit XML 结果的 Xray 文档 Multipart 结果

"{"error":"Invalid JWT: JsonWebTokenError: jwt malformed"}"

请问有人可以帮忙吗?

jira jira-xray
2个回答
2
投票

首先您需要澄清您是在 Jira 服务器/数据中心还是 Jira Cloud 上使用 Xray,因为它们是不同的产品并且 API 略有不同;除此之外,Jira Cloud 和 Jira 服务器/数据中心也是不同的产品。要找到答案,您可以询问您的 Jira 管理员。

如果您使用 Xray Cloud,则 这是文档 站点。 在这种情况下,为了提交 JUnit XML 报告,您需要使用在Xray API 密钥部分获取的客户端 ID 和客户端密钥进行身份验证。身份验证请求的详细信息请参阅here,这将返回您将在第二个请求中使用的令牌。 第二个请求是 HTTP POST,如here所述,您需要传递之前获得的令牌。 主要的 REST API 文档站点是这个

如果您在 Jira 服务器/数据中心上使用 Xray,那么 这是正确的文档 站点。 在Xray服务器中,身份验证机制由Jira本身提供。 您可以使用基本身份验证或个人访问令牌(如果您有 Jira >= 8.14)。有关详细信息,请参阅 Xray 服务器/数据中心专用于其 REST API 的页面。 选择要使用的身份验证机制后,您只需发出 HTTP POST 请求,详细信息请参阅此处

有一个开源 GitHub 项目,其中包含一些代码片段,适用于 Xray 服务器/数据中心和云,使用不同的测试自动化报告格式和不同的身份验证机制。


0
投票

当我尝试使用邮递员时,我遇到了同样的错误,我已经从开始和结束位置生成的令牌中删除了“并将令牌传递给API。这解决了这个问题

© www.soinside.com 2019 - 2024. All rights reserved.