0

xml レポートを Jira xRay (テスト実行アイテム) にインポートしようとしています。

私が見つけたドキュメントは、Create API key によって生成されるべき client_id と client_secret を参照しています。API キーの作成では、1 つの文字列 (トークン) のみが生成されます。

そのため、トークンだけを使用して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

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

"{"エラー":"無効な JWT: JsonWebTokenError: jwt の形式が正しくありません"}" という結果になります

.

誰でも助けてください。

4

1 に答える 1

1

最初に、Xray を Jira サーバー/データセンターまたは Jira Cloud で使用しているかどうかを明確にする必要があります。これらは異なる製品であり、API がわずかに異なるためです。また、Jira Cloud と Jira サーバー/データセンターも別の製品です。確認するには、たとえば Jira 管理者に尋ねることができます。

Xray Cloud を使用している場合、これはドキュメントサイトです。この場合、JUnit XML レポートを送信するには、Xray API キーセクションで取得したクライアント ID とクライアント シークレットを使用して認証を行う必要があります。認証リクエストの詳細については、こちらをご覧ください。これにより、2 番目のリクエストで使用するトークンが返されます。2 番目のリクエストは、ここで説明されているように HTTP POST であり、以前に取得したトークンを渡す必要があります。メインの REST API ドキュメント サイトは、これです。

Jira サーバー/データセンターで Xray を使用している場合、これは適切なドキュメントサイトです。Xray サーバーでは、認証メカニズムは Jira 自体によって提供されます。基本認証またはパーソナル アクセス トークンのいずれかを使用できます (Jira >= 8.14 を使用している場合)。これについては、REST API 専用の Xray サーバー/データセンター ページで詳しく説明しています。使用する認証メカニズムを選択したら、ここで説明されているように HTTP POST リクエストを作成するだけです。

Xray サーバー/データセンターとクラウドの両方で、さまざまなテスト自動化レポート形式とさまざまな認証メカニズムを使用する、いくつかのコード スニペットを含むオープンソース GitHub プロジェクトがあります。

于 2021-11-02T18:34:22.423 に答える