連携: Jira、Xray、Azure DevOps、Slack、Telegram
Nexus Studioは、Jira Cloud、Xray Cloud、Azure DevOps、Slack、Telegramの5つのサービスに接続します。各サービスは有効にするまでオフになっており、弊社のサーバーを経由することなく、お使いのマシンから直接アクセスされます。このページでは、各連携の機能、読み取られるキー、および行われない処理について説明します。
執筆:Verdict System LLC、Nexus Studioチーム。2026年10月9日。
各連携の仕組み
- 有効にするまでオフ。 各サービスには専用のスイッチ(
JIRA_ENABLED、XRAY_ENABLED、AZURE_BOARDS_ENABLED、SLACK_ENABLED、TELEGRAM_ENABLED)があります。すべてデフォルトでfalseに設定されています。 - お使いのマシンから直接送信。 エンジンは、テストを実行するマシンから各サービスのAPIを直接呼び出します。弊社のサーバーを経由することは一切なく、課題、アラート、テスト結果が弊社に閲覧されることもありません。
- キーはワークスペース内に保持。 トークンやキーは、ローカルディスク上のワークスペース内にある
.envファイルの行として保存されます。連携の設定画面からこれらを編集でき、すべてのトークン、キー、Webhookは伏字で表示されます。 - サンドボックス実行は除外。 サンドボックス実行は作成中のテストであり、確定した結果ではありません。課題の作成、コメント、クローズを行うことはありません。
テストが失敗し続ける限り、テストごとに1つの課題を保持
JiraとAzure Boardsは同じライフサイクルに従います。課題は実行単位ではなくテスト単位で管理されるため、毎晩失敗するテストであっても、毎晩新しい課題が作られるのではなく、履歴が残る1つの課題として扱われます。
- 最初の失敗で1つの課題を作成。 実行結果がBREACHED、BREACHED_FLAKY、CHAOS_BREACHED、またはTIMEOUTとなった場合、そのテストに対してエラー情報と失敗時のスクリーンショットを添付した課題が1つ作成されます。
- 再度の失敗時にはコメントが追加されます。該当の課題がオープンの間は、次の失敗時に新しいスクリーンショットが添付されたコメントが追加されます。2つのブラウザで同時に失敗した場合は、同じ課題に追加されます。
- 完全にパスすると課題はクローズされます。実行されたすべてのブラウザでテストが完全にパスすると、その旨を伝えるコメントが課題に追加され、完了ステータスへと移行します。ワークフローに該当するトランジションやステータスがない場合は、コメントのみが追加されます。
- その後の失敗では新しい課題が起票されます。課題が削除された場合や移動された場合の失敗でも同様です。
添付ファイル:デフォルトではスクリーンショットのみとなります。Playwrightのトレースと実行ログは、Cookieや認証ヘッダー、入力されたパスワードなどのセッションデータが含まれる可能性があるため、設定で NEXUS_ISSUE_ATTACH_TRACE=true をオプトインした場合にのみ添付されます。各ファイルは最大 10 MB まで添付されます。
FLAKY(不安定)によって起票されることはありません。失敗した後にリトライでパスした実行はバグではないためです。BLOCKED、UNREACHABLE、CRASHED、または設定エラーも同様で、これらはアプリケーションではなく環境に起因するものです(判定基準の詳細)。どの課題がどのテストに属しているかは、ワークスペース内の evidence/integrations/issue-map.json で管理されます。
Jira Cloud
- 接続:Atlassianアカウントのメールアドレスと、id.atlassian.com で作成したAPIトークンを使用します。設定のIntegrationsで、お使いのJiraサイトの任意のリンクを貼り付けてください。Studioがサイトとプロジェクトキーを保持します。サイトアドレスである
JIRA_BASE_URLは https である必要があります。Check connectionを実行するとテストが行われ、データは作成されません。 - 課題:上記で説明したライフサイクルに従い、
JIRA_PROJECT_KEY内にBugが起票されます。完全にパスすると、課題はJIRA_DONE_TRANSITIONで指定されたトランジション(デフォルトは Done、大文字・小文字を問わず名前で一致)を経て移動します。 - 重複防止:過去24時間以内に同じ要約のBugが作成されていた場合、2件目は起票されません。
- 手動対応:必要に応じて、Evidence LockerからJiraに失敗を送信することも可能です。
Xray Cloud
XRAY_ENABLED=true が設定されている場合、すべての nexus ci 実行時にJUnit XMLがXray CloudへTest Executionとしてインポートされます。これは XRAY_PROJECT_KEY にインポートされ、未設定の場合は JIRA_PROJECT_KEY に、また XRAY_TEST_PLAN_KEY を設定した場合はそのTest Plan配下にインポートされます。
- 接続:Jiraの「アプリ」>「Xray」>「グローバル設定」>「APIキー」で作成されたAPIキーのペア(
XRAY_CLIENT_IDおよびXRAY_CLIENT_SECRET)を使用します。 - 外部に送信されるデータ:該当する実行のJUnitファイルのみであり、それ以外は送信されません。以前の実行によって残されたJUnitファイルがインポートされることはありません。
- 実行自体を失敗させることはありません:インポートに失敗した場合でも、シークレットが伏せ字にされた状態で、実行ログにその理由が1行で出力されます。
Azure DevOps:Boards、Test Plans、Pipelines
AZURE_DEVOPS_ORG_URL(https://dev.azure.com/<org> または https://<org>.visualstudio.com)と AZURE_DEVOPS_PROJECT に設定する、1つの個人用アクセストークン(PAT)と1つのプロジェクトが必要です。PATはAzure DevOps自体のホストにのみ送信され、ログ行に出力されることは決してありません。設定の Integrations で Connect Azure DevOps を実行すると、プロジェクトと作業項目タイプがチェックされ、データは作成されません。
- Azure Boards:
AZURE_BOARDS_ENABLED=trueの場合、失敗すると上記のライフサイクルに従ってAZURE_BOARDS_WORK_ITEM_TYPE(デフォルトは Bug)タイプの作業項目が開かれます。問題なく成功すると、AZURE_BOARDS_DONE_STATE(デフォルトは Resolved)の状態に移行します。その状態を受け入れないプロセスにはコメントのみが追加されます。PAT には Work Items(Read & write)が必要です。Evidence Locker から手動で失敗を Azure Boards に送信することもできます。 - Azure Test Plans: CI/CD 画面で生成される
azure-pipelines.ymlは、PublishTestResults@2タスクを使用して実行の JUnit XML を公開するため、すべてのパイプライン実行が Test Plans の Runs の下に表示されます。 - Azure Pipelines:
nexus ci-remote --provider=azureはAZURE_PIPELINE_IDのパイプラインの実行をキューに入れ、完了を待機し、その JUnit XML をこのマシンに持ち帰ります。これには PAT に Build(Read & execute)が必要です。
Slack
- 接続:
SLACK_WEBHOOK_URLに Incoming Webhook URL を1つ設定します。設定には テストメッセージを送信 ボタンがあります。 - 取得内容: Block Kit メッセージ: 実行の概要、および
NEXUS_SLACK_NOTIFY=trueの場合は失敗、不安定(flaky)、カオス、またはビジュアルリグレッションのテストごとに1つのメッセージが届きます。失敗に関するメッセージには、Jira の課題がある場合にそのリンクが含まれます。 - 手動: Evidence Locker から失敗のテキストサマリーを Slack に投稿できます。Slack にはファイルは送信されません。
Telegram
- 接続: @BotFather で一度作成した独自のボットを
TELEGRAM_TOKENに設定します。設定の QR で接続 を使用すると、チャットがペアリングされ、TELEGRAM_CHAT_IDが入力されます。共有ボットはありません。 - 取得内容: 失敗時のアラート(
NEXUS_TELEGRAM_NOTIFY=trueの場合はテストごとに1つ)、および Studio から共有するように選択したレポートとファイルです。 - 有効にする前に: Telegram はレポートや PDF などのファイルを受信でき、それらは Telegram のサーバーに送信されます。規制対象の環境では、まずコンプライアンスチームにご確認ください。
キー
すべてのキーはワークスペースの .env の1行に対応しています。設定画面ですべて編集できます。
| サービス | キー | デフォルト |
|---|---|---|
| Jira Cloud | JIRA_ENABLED, JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN, JIRA_PROJECT_KEY, JIRA_DONE_TRANSITION | オフ、プロジェクト QA、トランジション Done |
| Xray Cloud | XRAY_ENABLED, XRAY_CLIENT_ID, XRAY_CLIENT_SECRET, XRAY_PROJECT_KEY, XRAY_TEST_PLAN_KEY | オフ、空白の場合は Jira プロジェクト |
| Azure DevOps | AZURE_BOARDS_ENABLED, AZURE_DEVOPS_ORG_URL, AZURE_DEVOPS_PROJECT, AZURE_DEVOPS_PAT, AZURE_BOARDS_WORK_ITEM_TYPE, AZURE_BOARDS_DONE_STATE, AZURE_PIPELINE_ID | オフ、タイプ: バグ、状態: 解決済み |
| 課題の添付ファイル | NEXUS_ISSUE_ATTACH_TRACE | オフ: スクリーンショットのみ |
| Slack | SLACK_ENABLED, SLACK_WEBHOOK_URL, NEXUS_SLACK_NOTIFY | オフ |
| Telegram | TELEGRAM_ENABLED, TELEGRAM_TOKEN, TELEGRAM_CHAT_ID, NEXUS_TELEGRAM_NOTIFY | オフ |
パイプラインでは、AZURE_PIPELINE_ID 以外の同じキーがパイプラインのシークレット変数となり、設定されていないキーに対応するサービスはオフのままになります(CI/CD におけるシークレット)。
ご質問
Nexus Studio は私の Jira や Azure DevOps のデータを閲覧しますか?
いいえ。エンジンはお客様のマシンから直接、お客様のキーを使用して Jira、Xray、Azure DevOps、Slack、Telegram と通信します。データが弊社のサーバーを経由することはありません。
フレキーテスト(不安定なテスト)によってチケットが作成されますか?
いいえ。FLAKY では何も作成されません。BREACHED_FLAKY では作成されます。失敗自体に再現性がなく、再試行してもそれが隠蔽されないためです。
あるテストが今週 30 回失敗しました。作成される課題は何件ですか?
1 件です。初回の失敗以降の各失敗に対してコメントと最新のスクリーンショットが追加され、すべてのブラウザでテストが正常にパスするまで継続します。
Jira と Azure Boards を同時に使用できますか?
はい、可能です。それぞれがテストごとに独自の課題を保持します。