Azure DevOps サービス |Azure DevOps Server |Azure DevOps Server 2022
この記事では、Azure Boards プロジェクトをGitHub リポジトリに接続した後で、作業項目をコミット、プル要求、ブランチ、ビルドGitHubにリンクする方法について説明します。 コミットとブランチに#mention構文を使用したり、! メンションを使用して作業項目のディスカッションからGitHubプル要求を参照したり、Azure Boards作業項目から直接GitHubコミット、プル要求、またはブランチ リンクを追加したりできます。
Note
GitHub統合サポート:
- Azure DevOps Services: GitHub用のAzure Boards アプリを使用して、GitHub.com およびGitHub Enterprise Server リポジトリの両方と統合します。
- Azure DevOps Server 2020 以降: GitHub Enterprise Server リポジトリとの統合のみをサポートします。
- その他の Git リポジトリ: 統合はサポートされていません。
Prerequisites
| Category | Requirements |
|---|---|
| Permissions | Azure BoardsプロジェクトおよびGitHubリポジトリの両方への貢献者 |
| プロジェクト接続 | Azure Boardsプロジェクトは、コミット、プル要求、およびブランチが存在し、リンクを設定したいGitHubリポジトリに接続されています。 詳細については、「Azure Boards-GitHub 統合を参照してください。 |
Note
[開発] セクションと GitHub リンクの種類を表示するには、Hosted XML プロセス モデルを使用するプロジェクトで作業項目の種類を更新する必要があります。 詳細については、「 選択した作業項目の種類の XML 定義を更新する」を参照してください。
AB# を使用して、GitHubから作業項目をAzure Boardsにリンクする
GitHubコミット、pull request、またはイシューから、次の構文を使用して、Azure Boardsの作業項目へのリンクを作成します。 コミット メッセージのテキスト内に を入力します。 または、プル要求または問題の場合は、説明内に を入力します。 コメントまたは pull request タイトルで を使用しても、作業項目にリンクは作成されません。
AB#{ID}
たとえば、 は作業項目 ID 125 にリンクします。
コミットまたは pull request メッセージを入力して、作業項目を切り替えることもできます。 システムは、 または を 、 、 と共に認識し、次の #メンション項目に適用します。
プル要求の説明に有効な状態名 ( など) が含まれている場合、システムは参照先の作業項目をその特定の状態に更新します。 状態名が直接認識されない場合、Azure Boardsは、Resolved や Completed などのワークフロー カテゴリとの照合を試みます。 一致するものが見つかった場合、作業項目は、そのカテゴリで定義されている最初の使用可能な状態に遷移します。
既定では、、、またはで参照される作業項目は、解決済みカテゴリーに関連する最初の状態に移行します。 現在のプロセスにこのような状態が存在しない場合は、代わりに作業項目が 完了 カテゴリの最初の状態に遷移します。
Important
作業項目をリンクして他のブランチをターゲットにすることはできますが、プル要求が既定のブランチにマージされない限り、状態遷移ルールは適用されません。
詳細については、「ワークフロー カテゴリの状態をAzure Boardsバックログとボードで使用する方法を参照してください。
例については、次の表を確認してください。
| コミットまたは pull request メッセージ | Action |
|---|---|
Fixed AB#123 |
"解決済み" ワークフロー状態カテゴリか、何も定義されていない場合は "完了" ワークフロー状態カテゴリに作業項目をリンクし、切り替えます。 |
Closed AB#123 |
作業項目を [終了] ワークフロー状態にリンクして切り替えます。 何も定義されていない場合、遷移は行われません。 |
Adds a new feature, fixes AB#123. |
"解決済み" ワークフロー状態カテゴリか、何も定義されていない場合は "完了" ワークフロー状態カテゴリに作業項目をリンクし、切り替えます。 |
Fixes AB#123, AB#124, and AB#126 |
Azure Boards作業項目 123、124、126 へのリンク。 最初の項目 123 のみを "解決済み" ワークフロー状態カテゴリか、何も定義されていない場合は "完了" ワークフロー状態カテゴリに切り替えます。 |
Fixes AB#123, Fixes AB#124, Fixes AB#125 |
Azure Boards作業項目 123、124、126 へのリンク。 すべての項目を "解決済み" ワークフロー状態カテゴリか、何も定義されていない場合は "完了" ワークフロー状態カテゴリのいずれかに切り替えます。 |
Fixing multiple bugs: issue #123 and user story AB#234 |
GitHubの問題123およびAzure Boardsの作業項目234へのリンク。 切り替えは行われません。 |
Note
同じGitHub リポジトリを 2 つ以上のAzure DevOps組織で定義されているプロジェクトに接続した場合、予期しないAB#メンション リンクが表示されることがあります。 詳細については、「接続の 問題を解決する」を参照してください。 このため、GitHub リポジトリは、単一のAzure DevOps組織で定義されているプロジェクトにのみ接続することをお勧めします。
pull request の説明で AB# を使用して作業項目へのリンクを追加すると、それらのリンクは、GitHub pull request の Development セクションに表示されます。 これらのリンクは、pull request の説明で を使用する場合にのみ使用できます。 作業項目から直接 pull request にリンクしている場合は表示されません。 説明から 参照を削除すると、開発セクションからも削除されます。
作業項目からGitHubブランチを作成する
作業項目から直接GitHubブランチを作成するには、次の手順に従います。
ボードから、GitHubブランチの作成に使用する作業項目を見つけます。
Work item actions>新しいGitHubブランチ を選択します。
GitHubブランチの作成ダイアログで、ブランチ名を入力します。 GitHub リポジトリとベース ブランチを選択します。
を選択してを作成します。
Azure Boards指定したGitHub リポジトリにブランチを作成し、作業項目にリンクします。 詳細については、「Azure Boards-GitHub 統合を参照してください。
GitHub のブランチ、コミット、またはプルリクエストに作業項目のリンクを追加する
作業項目を開き、[ 開発 ] 領域に移動します。
[+ リンクの追加] を選択します。 各ドロップダウン メニューから、link の種類、GitHub リポジトリ、および GitHub pull request を選択します。 リポジトリ内で検索およびドリルダウンして、URL をコピーして貼り付けなくても、特定のプル要求またはコミットを検索して選択できます。
[+ リンクの追加] を選択します。
作業項目に pull request リンクを追加するための 5 段階のシーケンスを示すスクリーンショット。
Azure Boards、有効なリンクを入力したことを確認します。 リンク先のGitHubリポジトリはAzure Boardsプロジェクトに接続されている必要があります。そうでないと、検証が失敗します。
Note
Azure DevOps Serverと GitHub Enterprise Server を使用している場合は、AB# リンクを完了するときに遅延が発生します。 このプロセスでは、「プッシュ・プル」設計を活用し、Commit、PR、Issue の増分変更について GitHub イベントから 1時間ごとにデータを取得します。
リンクの自動更新
複数のイベントによって作業項目フォームのリンクが自動的に更新されるため、手動で作成する必要はありません。 これらのイベントは次のとおりです。
| GitHub イベント | Action |
|---|---|
| ブランチへのリンク | ブランチからプル要求が作成されると、作業項目に自動的にリンクされます。 |
| マージ コミット | pull request がマージされると、結果のマージ コミットは作業項目に自動的にリンクされます。 |
| 分岐の削除 | ブランチが削除された場合 (通常はマージ後)、そのリンクは作業項目から自動的に削除されます。 |
[開発] セクションでリンクを表示または開く
作業項目フォームの [開発] セクションには、
GitHub アイコンを使用してコミットとプル要求をGitHubするために作成されたリンクが一覧表示されます。
リンクを選択して、コミットまたはプル要求をGitHubで開きます。
GitHubのpull request分析情報
[開発] セクションGitHubプル要求にリンクすると、追加の状態の詳細が表示されるため、プル要求をGitHubで開かずに進行状況を評価できます。
プルリクエストインサイトの前提条件
pull request insights を表示するには、GitHub の Azure Boards アプリ に移動し、チェックへの読み取りおよび書き込みアクセスの更新されたアクセス許可を受け入れます。
pull request の状態の詳細を表示する
GitHubのプルリクエストがリンクされている作業項目を開きます。
[ 開発 ] セクションで、リンクされた pull request を見つけます。 pull request リンクの横に次の状態の詳細が表示されます。
- 下書きの状態: pull request がまだ下書きであるかどうかを示します。
- レビューの状態: pull request にレビューが必要か、承認されているか、変更が要求されたかを示します。
- チェックの状態: CI チェックが成功、失敗、または保留中のどちらであるかを示します。
状態インジケーターをポイントして詳細を表示するか、pull request リンクを選択してGitHubで直接開きます。
! を使用してGitHubのプルリクエストをメンションする
! メンションを使用して、作業項目のリッチ テキスト フィールドまたはディスカッション コメントから直接GitHub pull request を参照して議論します。 テキスト フィールド!を入力すると、接続されているリポジトリからGitHubプル要求を検索して選択するために使用できるピッカーが表示されます。 選択したプル要求がクリック可能なリンクとして挿入されます。
この機能を使用すると、手動で URL をコピーすることなく、作業項目の説明、受け入れ条件、またはディスカッション スレッドで関連するプル要求を簡単に参照できます。
YAML パイプラインのビルド状態を表示する (ビルドに統合)
Azure Pipelines YAML を使用して、GitHub リポジトリでホストされているコードをビルドする場合は、関連する作業項目に対する Integrated in build リンクを自動的に作成できます。 この機能により、GitHub リポジトリのビルドの追跡可能性が提供され、Azure Reposで使用できるエクスペリエンスとの同等性が実現されます。
この機能を有効にするには:
YAML パイプラインを開き、[その他のアクション]、[設定] の順に選択します。
[ パイプラインの設定 ] ダイアログで、[ このビルドの新しい作業項目を自動的にリンクする] を有効にします。
このビルド オプションの [新しい作業項目を自動的にリンクする] を示す YAML パイプライン設定ダイアログのスクリーンショット。
ビルドが完了すると、関連する各作業項目の [開発] セクションに [ビルドに統合] リンクが自動的に表示され、作業項目からビルドまでの完全な追跡可能性がチームに提供されます。
[開発] セクションの [ビルドに統合] リンクを示す作業項目のスクリーンショット。
この設定の構成の詳細については、「 作業の追跡をサポートするようにパイプラインを構成する」を参照してください。
ボード上GitHubオブジェクトを表示する
ボード上でGitHub注釈を有効にすると、リンクされたGitHubコミット、プル要求、または問題をすばやく開いて詳細を確認できます。 詳細については、「カードの カスタマイズ」を参照してください。
次のステップ
ステータス バッジを構成する
関連コンテンツ
- Azure Boards を GitHub と統合する
- 作業の追跡をサポートするためのパイプラインの構成
- Azure Boards のバックログとボードにおけるワークフロー カテゴリ ステートの使い方を理解する
- 作業項目をオブジェクトにリンクする
- GitHubとAzure Boards統合のトラブルシューティング