Jenkins から Jira に送信されるビルド イベントとデプロイ イベントを自動化する

このトピックでは、Jenkins for Jira を使用して Jenkins サーバーを Jira Cloud サイトに接続するプロセスにおけるオプションのステップを詳しくご説明します。接続を完了してデータを流すだけであれば、このステップは不要です。また、このステップには、Jenkins パイプラインが作成される仕組みに関する十分な実務知識が必要となります。チームによっては、多数のパイプラインを実行している Jenkins サーバーへの接続をセットアップする際に役に立つでしょう。

Jenkins for Jira アプリを使用して Jenkins サーバーから Jira にビルド イベントとデプロイ イベントを送信する場合は、Jenkins サーバー上の Atlassian Jira Cloud プラグインを通じて、Jira にデータを送信するための明示的な指示をサーバー パイプラインで探すことになります。具体的には、それらのパイプラインを定義する Jenkinsfile 内でこれらの指示を探します。

こうした指示は、Jenkins サーバーに接続する際に Jira で生成される「セットアップ ガイド」に詳述されています。

さらに、Jenkins サーバーで Atlassian Jira Cloud プラグインをセットアップする際には、Jenkins 管理者が次のような詳細オプションの有効化を選択できます。

  • ビルドを自動送信する

  • デプロイを自動送信する

これらのオプションを選択すると、Atlassian Jira Cloud プラグインでは、パイプラインの Jenkinsfile に含まれている明示的な指示だけでなく、ビルド ステージとデプロイ ステージの特定の命名規則も確認されます。これらのいずれかが見つかると、接続済みの Jira サイトにデータが送信されます。詳細については、「Jenkins for Jira の仕組み」を参照してください。

チームに自動化が適しているかを検討する

Some teams, which use a consistent naming convention for build and deployment stages when writing their Jenkinsfiles, may find using stage names more convenient that writing specific instructions into each build and deployment stage, especially if their Jira spaces utilize a large number of Jenkins pipelines.

これがチームにとって適切なオプションかどうかを調べるには、開発者に連絡して次のことを尋ねてください。

  1. Who maintains the Jenkinsfiles relevant to each Jira space?

  2. あなたのチームは以下のことを望んでいますか?

    • Jira にデータを送信する各パイプラインをきめ細かく制御する

    • Jenkins がパイプラインを実行するたびに、Jira にビルドとデプロイの更新を送信する

Once you know who maintains the Jenkinsfiles for each Jira space, ask those team members:

  1. Jenkinsfile を書くとき、ビルド ステージとデプロイ ステージで一貫した命名構造を採用していますか?

    • 例: 

      • すべてのビルド ステージの名前は stage('build')? ですか?

      • すべてのデプロイ ステージの名前は stage('deploy to staging'stage('deploy to prod' などですか?

  2. その場合、命名構造はどのようになっていますか?

セットアップ オプション


上記の質問に対するチームの回答に応じて、これらのオプションを有効にすることがチームにとって適切かどうかが変化します。

ビルド データを自動送信する

この設定は、Jenkins がビルド イベントを Jira に送信する方法を対象としています。

チームが Jenkins をどのように使用するかに基づいて、次の選択肢があります。


チームのニーズ

  1. パイプラインが実行されるたびに、Jenkins から Jira にビルドの更新を送信したい。

  2. Jenkinsfile を記述する際のビルド ステージの命名構造が一貫している。

    • たとえば、すべてのビルド ステージに stage('build') という名前が付けられている場合

あなたやJenkins 管理者は次のことを実行する必要があります。

  • このオプションを有効にする

  • チームのビルド ステージの命名構造と一致する正規表現フィルターを入力する

    • 例:

      • すべてのビルド ステージに stage('build') という名前が付けられている場合

      • ^build$ という正規表現を入力する


チームのニーズ

  1. Jenkins がパイプラインを実行するたびに、Jira にビルドとデプロイの更新を送信したい。

  2. Jenkinsfile を記述する際のビルド ステージの命名構造が一貫していない

あなたやJenkins 管理者は次のことを実行する必要があります。

  • このオプションを有効にする

  • 正規表現のフィルター フィールドはのままにする


チームのニーズ

  1. Jira にデータを送信する各パイプラインをきめ細かく制御したい

あなたやJenkins 管理者は次のことを実行する必要があります。

  • このオプションを無効にする

デプロイ データを自動送信する

この設定は、Jenkins がデプロイ イベントを Jira に送信する方法を対象としています。

チームが Jenkins をどのように使用するかに基づいて、Jenkins 管理者が知っておくべきことは次のとおりです。


チームのニーズ

  1. Jenkinsfile を記述する際のデプロイ ステージの命名構造が一貫している。

    • たとえば、すべてのデプロイ ステージに stage('deploy to staging')stage('deploy to prod') などの名前が付けられている場合

  2. すべてのパイプラインからデプロイ データを Jira に送信したい

あなたやJenkins 管理者は次のことを実行する必要があります。

  1. このオプションを有効にする

  2. チームがデプロイ ステージで使用する名前に一致する正規表現フィルターを入力する

    • 例:

      • すべてのデプロイ ステージに stage('deploy to staging')stage('deploy to prod') などの名前が付けられている場合

      • ^deploy to (?<envName>.*)$ という正規表現を入力する

        • 「staging」や「prod」などの特定のステージ名の代わりに (?<envName>.*) を使用すると、Jenkins が環境名を抽出して Jira で表示します。


チームのニーズ

  • Jenkinsfile を記述する際のデプロイ ステージの命名構造が一貫していないまたは

  • Jira にデータを送信する各パイプラインをきめ細かく制御したい

あなたやJenkins 管理者は次のことを実行する必要があります。

  • このオプションを無効にする

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。