我正在尝试将 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 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 服务器/数据中心和云,使用不同的测试自动化报告格式和不同的身份验证机制。
当我尝试使用邮递员时,我遇到了同样的错误,我已经从开始和结束位置生成的令牌中删除了“并将令牌传递给API。这解决了这个问题