GitHub のワークフローとデプロイを Jira 作業項目にリンクする

GitHub のワークフローとデプロイを Jira にリンクする前に、次のことを行う必要があります。

GitHub が GitHub for Atlassian Marketplace アプリを使用して Jira サイトに接続されている場合、GitHub Actions のワークフローとデプロイを Jira のソフトウェア スペースの作業項目にリンクできます。GitHub Actions を初めて使用する場合は、最初に GitHub Actions のドキュメント セットを読んでください。

GitHub デプロイを Jira にリンクするには、コミット メッセージ、ブランチ名、プル リクエストに Jira 作業項目キーを含める必要があります。

  1. 「DEV-2095」など、リンク先の Jira 作業項目の作業項目キーを探します。

  2. ブランチ名に作業項目キーを含めて、リポジトリで新しいブランチをチェックアウトします。たとえば、git checkout -b DEV-2095-<branch-name> のようにします。

  3. ブランチへの変更をコミットする際は、コミット メッセージに作業項目キーを含めます。たとえば、git commit -m "DEV-2095 <summary of commit>" などとします。

  4. プル リクエストを作成する際は、プル リクエストのタイトルに作業項目キーを使用します。

リンクされたブランチ、コミット、またはプル リクエストでデプロイが実行されると、Jira 作業項目、ボード、開発ページ、デプロイ タイムラインにデプロイ情報が表示されます。

Jira で GitHub ビルドを表示する

GitHub のワークフローは Jira では「ビルド」として表示されます。これらは Jira 作業項目の開発パネル、Jira ボードの作業項目カード、リリース ハブに表示されます。

Jira の作業項目で開発パネルを表示するには、スペース権限 "開発ツールの表示" が必要です。スペース権限の更新方法については、こちらをご確認ください。

プル リクエストに関連するコミット メッセージに作業項目キーが見つかれば、ビルドは自動的に Jira 作業項目にリンクされます。プル リクエストなしでブランチをマージすると、そのブランチの最後のコミット メッセージだけで Jira 作業項目キーがチェックされます。

メイン ブランチと 2 つのフィーチャー ブランチを使用して、GitHub ワークフローの実行が Jira 課題にどのように関連付けられているかを示したシナリオ例

上の図を例として使用して、main ブランチから分岐しているフィーチャー ブランチが 2 つあり、フィーチャー ブランチ (緑のドット) と main ブランチ (青のドット) の両方のすべてのコミットで、コードベースを構築してテストするワークフローがトリガーされるように GitHub Actions が設定されていると仮定します。

コミット メッセージに Jira 作業項目キー (JIRA-*) を含めることで、関連する Jira 作業項目に特定のワークフロー実行をリンクできます。次に例を示します。

  • ワークフロー実行 #6 は Jira 作業項目 JIRA-1JIRA-2 に関連付けられます。

  • ワークフロー実行 #7 は Jira 作業項目 JIRA-1JIRA-10,JIRA-11 に関連付けられます。

  • ワークフロー実行 #2 は Jira 作業項目 JIRA-1 にのみ関連付けられます。

  • JIRA-1JIRA-2 は両方とも同じプル リクエストの一部であるため、ワークフロー実行 #4 はこれら両方に関連付けられます。

GitHub ワークフローをプル リクエストで実行できるようにするには、プル リクエストのソース ブランチのブランチ名パターンをワークフロー設定で次のように指定する必要があります。

on: pull_request: branches: - main - feature**

Jira で GitHub デプロイを表示する

GitHub からのデプロイは、Jira 作業項目の開発パネル、Jira ボードの作業項目カード、リリース ハブ、およびデプロイ ページのデプロイ タイムラインに表示されます。GitHub Actions ワークフローにデプロイを追加するには、アクション chrnorm/deployment-action@releases/v1 を使用して GitHub でデプロイ アクションを作成する必要があります。

GitHub for Atlassian Marketplace アプリは deployment_status イベントのみをリッスンします。つまり、GitHub のデプロイは次の条件を満たす場合にのみ Jira に表示されます。

  • デプロイが GitHub のデプロイ作成 API または chrnorm/deployment-action@releases/v1 アクションを使用して作成されていること。

  • デプロイ作成後、デプロイ ステータス作成 API または chrnorm/deployment-status@releases/v1 アクションを少なくとも 1 回呼び出して、デプロイのステータスを更新すること。

GitHub for Atlassian Marketplace アプリでは、デプロイされたブランチをスキャンして、Jira 作業項目キーを含む新しいコミット メッセージを探すことで、新しい GitHub デプロイが識別されます。

メイン ブランチと 2 つのフィーチャー ブランチを使用して、GitHub デプロイが Jira 課題にどのように関連付けられているかを示したシナリオ例

上の図を例に取り、main ブランチから分岐するフィーチャー・ブランチが 2 つあり、main ブランチでプッシュするたびにデプロイがトリガーされるように GitHub Actions が設定されていると仮定します。

コミット メッセージに Jira 作業項目キー (JIRA-*) を含めると、対応する Jira 作業項目に関連するデプロイが表示されます。次に例を示します。

  • 失敗したデプロイ #6 は Jira の作業項目 JIRA-1JIRA-2 に表示されます。

  • デプロイ #7 は、関連するすべての Jira 作業項目に表示されます (どのコミットもまだ正常にデプロイされていないため)。

デプロイ環境をマッピングする

デプロイ イベントには、アプリがデプロイされた環境の名前が含まれます。Jira 作業項目に環境の詳細を表示するには、該当する環境が developmenttestingstagingproduction のいずれであるかを Jira に認識させる必要があります。Jira では、環境名に基づいて、デプロイ イベントをマッピングする環境が推測されます。たとえば、prod という名前の環境へのデプロイでは、production 環境が想定されます。

他の環境名(英語以外の環境名など)を使用すると、Jira はそれらを未定義の環境として表示します。これを解決するには、.jira/config.yml というファイルをリポジトリのメイン・ブランチに追加し、カスタム環境名を Jira が認識する標準環境名にマッピングすることで、カスタム環境を指定できます。

例を以下に示します。

deployments: environmentMapping: development: - "dev*" - "Entwicklung" - "desenvolvimento" - "дев" testing: - "testes" - "Test" - "TST-*" - "тест" staging: - "Pre-Prod" - "STG-*" - "staging" production: - "Produktion" - "produção" - "продакшн" - "PROD-*"

上記の例を使用すると、「TST-3」という名前の環境へのデプロイ・イベントは、testing 環境へのデプロイとして Jira に表示されます。一方、「produção」という名前の環境へのデプロイは、production 環境として Jira に表示されます。

Jira の 4 つの有効な環境タイプのそれぞれに、最大 10 個の glob パターンを指定できます。この設定ファイルを追加すると Jira で環境名を自動的に検出できなくなるため、すべての環境名のパターンを指定する必要があります。

 

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

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