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

Jira XRAY - how to import an xml using xray API?

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

我能找到的文档提到了 client_id 和 client_secret,它们应该由创建 API 密钥生成。创建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。此外,端点本身 returns

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

来自:https://docs.getxray.app/display/XRAYCLOUD/Import+Execution+Results+-+REST#ImportExecutionResultsREST-JUnitXMLresults

结果为“{“错误”:“无效的 JWT:JsonWebTokenError:jwt 格式错误”}”

.

有人能帮忙吗?

首先你需要澄清你是在 Jira server/datacenter 还是 Jira Cloud 上使用 Xray,因为它们是不同的产品并且 API 略有不同;另外Jira Cloud和Jira server/datacenter也是不同的产品。例如,您可以询问您的 Jira 管理员。

如果您使用的是 Xray Cloud,则 this is documentation 站点。 在这种情况下,为了提交 JUnit XML 报告,您需要使用您在 Xray API Keys section. The authentication request is detailed here 上获得的客户端 ID 和客户端密码进行身份验证,这将 return 一个令牌您将在第二个请求中使用。 第二个请求是 HTTP POST,如 here 所述,您需要传递之前获得的令牌。 主要的 REST API 文档站点是 this one

如果您在 Jira server/datacenter 上使用 Xray,则 this is proper documentation 站点。 在Xray server中,认证机制由Jira自己提供。 您可以使用基本身份验证或个人访问令牌(如果您有 Jira >= 8.14)。这在 Xray server/datacenter page dedicated to its REST API 上有详细说明。 选择要使用的身份验证机制后,您只需发出一个 HTTP POST 请求,详细信息 here.

有一个 open-source GitHub project with some code snippets,用于 Xray server/datacenter 和云,使用不同的测试自动化报告格式和不同的身份验证机制。