GitHub のワークフローとデプロイを Jira 作業項目にリンクする
GitHub のワークフローとデプロイを Jira にリンクする前に、次のことを行う必要があります。
GitHub for Atlassian Marketplace アプリを使用して、GitHub Cloud を Jira サイトに接続する
GitHub が GitHub for Atlassian Marketplace アプリを使用して Jira サイトに接続されている場合、GitHub Actions のワークフローとデプロイを Jira のソフトウェア スペースの作業項目にリンクできます。GitHub Actions を初めて使用する場合は、最初に GitHub Actions のドキュメント セットを読んでください。
作業項目キーを使用してデプロイを Jira 作業項目にリンクする
GitHub デプロイを Jira にリンクするには、コミット メッセージ、ブランチ名、プル リクエストに Jira 作業項目キーを含める必要があります。
「DEV-2095」など、リンク先の Jira 作業項目の作業項目キーを探します。
ブランチ名に作業項目キーを含めて、リポジトリで新しいブランチをチェックアウトします。たとえば、
git checkout -b DEV-2095-<branch-name>のようにします。ブランチへの変更をコミットする際は、コミット メッセージに作業項目キーを含めます。たとえば、
git commit -m "DEV-2095 <summary of commit>"などとします。プル リクエストを作成する際は、プル リクエストのタイトルに作業項目キーを使用します。
リンクされたブランチ、コミット、またはプル リクエストでデプロイが実行されると、Jira 作業項目、ボード、開発ページ、デプロイ タイムラインにデプロイ情報が表示されます。
Jira で GitHub ビルドを表示する
GitHub のワークフローは Jira では「ビルド」として表示されます。これらは Jira 作業項目の開発パネル、Jira ボードの作業項目カード、リリース ハブに表示されます。
Jira の作業項目で開発パネルを表示するには、スペース権限 "開発ツールの表示" が必要です。スペース権限の更新方法については、こちらをご確認ください。
プル リクエストに関連するコミット メッセージに作業項目キーが見つかれば、ビルドは自動的に Jira 作業項目にリンクされます。プル リクエストなしでブランチをマージすると、そのブランチの最後のコミット メッセージだけで Jira 作業項目キーがチェックされます。
上の図を例として使用して、main ブランチから分岐しているフィーチャー ブランチが 2 つあり、フィーチャー ブランチ (緑のドット) と main ブランチ (青のドット) の両方のすべてのコミットで、コードベースを構築してテストするワークフローがトリガーされるように GitHub Actions が設定されていると仮定します。
コミット メッセージに Jira 作業項目キー (JIRA-*) を含めることで、関連する Jira 作業項目に特定のワークフロー実行をリンクできます。次に例を示します。
ワークフロー実行 #6 は Jira 作業項目
JIRA-1とJIRA-2に関連付けられます。ワークフロー実行 #7 は Jira 作業項目
JIRA-1、JIRA-10,、JIRA-11に関連付けられます。ワークフロー実行 #2 は Jira 作業項目
JIRA-1にのみ関連付けられます。JIRA-1とJIRA-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 デプロイが識別されます。
上の図を例に取り、main ブランチから分岐するフィーチャー・ブランチが 2 つあり、main ブランチでプッシュするたびにデプロイがトリガーされるように GitHub Actions が設定されていると仮定します。
コミット メッセージに Jira 作業項目キー (JIRA-*) を含めると、対応する Jira 作業項目に関連するデプロイが表示されます。次に例を示します。
失敗したデプロイ #6 は Jira の作業項目
JIRA-1とJIRA-2に表示されます。デプロイ #7 は、関連するすべての Jira 作業項目に表示されます (どのコミットもまだ正常にデプロイされていないため)。
デプロイ環境をマッピングする
デプロイ イベントには、アプリがデプロイされた環境の名前が含まれます。Jira 作業項目に環境の詳細を表示するには、該当する環境が development、testing、staging、production のいずれであるかを 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 で環境名を自動的に検出できなくなるため、すべての環境名のパターンを指定する必要があります。
この内容はお役に立ちましたか?