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 リポジトリ: 統合はサポートされていません。
Tip
この記事の後半でAI を使用してこのタスクに役立てる方法をご説明します。または、Azure DevOps MCP Server で AI サポートを有効にする方法を参照して作業を開始できます。
Prerequisites
| Category | Requirements |
|---|---|
| Permissions | Azure Boards プロジェクトと GitHub リポジトリの両方に共同作成者アクセス権があります。 |
| プロジェクト接続 | Azure Boards プロジェクトを、リンクするコミット、プル要求、ブランチを含むGitHub リポジトリに接続します。 詳細については、「Azure Boards-GitHub 統合を参照してください。 |
Note
プロジェクトで Hosted XML プロセス モデルを使用している場合は、作業項目の種類を更新して、[開発] セクションとGitHubリンクの種類を確認します。 詳細については、「 選択した作業項目の種類の XML 定義を更新する」を参照してください。
AB# を使用して、GitHubから作業項目をAzure Boardsにリンクする
GitHub のテキストで AB# メンションを使って、Azure Boards の作業項目にリンクします。
リンクを作成するには:
- コミット メッセージ、pull request の説明、または問題の説明に
AB#{ID}を追加します。 - コミットをプッシュするか、プル要求または問題を保存します。
- 作業項目を開いて、[ 開発 ] セクションにリンクが表示されたことを確認します。
コメントまたは pull request タイトルで AB#ID を使用しても、作業項目にリンクは作成されません。
AB#{ID}
たとえば、AB#125 は作業項目 ID 125 にリンクします。
コミットまたはプル要求テキストから作業項目を切り替えることもできます。 Azure Boardsは、{state}、{state category}、fixなどのfixesまたはfixedとキーワードを認識し、その遷移を次のAB#参照に適用します。
プル要求の説明に有効な状態名 ( Closed AB#1234など) が含まれている場合、システムは参照先の作業項目をその特定の状態に更新します。 状態名が直接認識されない場合、Azure Boardsは、Resolved や Completed などのワークフロー カテゴリとの照合を試みます。 一致するものが見つかった場合、作業項目は、そのカテゴリで定義されている最初の使用可能な状態に遷移します。
既定では、fix、fixes、またはfixedで参照される作業項目は、解決済みカテゴリーに関連する最初の状態に移行します。 現在のプロセスにこのような状態が存在しない場合は、代わりに作業項目が 完了 カテゴリの最初の状態に遷移します。
Important
作業項目をリンクして他のブランチをターゲットにすることはできますが、プル要求が既定のブランチにマージされない限り、状態遷移ルールは適用されません。
詳細については、「ワークフロー カテゴリの状態をAzure Boardsバックログとボードで使用する方法を参照してください。
次のリンクのみの例を使用します。
| コミットまたは pull request メッセージ | Action |
|---|---|
AB#123 |
Azure Boards の作業項目 123 をリンクします。 状態遷移は発生しません。 |
Adds a new feature, AB#123. |
Azure Boards の作業項目 123 をリンクします。 状態遷移は発生しません。 |
AB#123, AB#124, and AB#126 |
Azure Boards の作業項目 123、124、126 をリンクします。 状態遷移は発生しません。 |
Fixing multiple bugs: issue #123 and user story AB#234 |
GitHub問題 123 へのリンクおよび Azure Boards の作業項目 234 へのリンク。 切り替えは行われません。 |
次のリンクと遷移の例を使用します。
| コミットまたは 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、および 125 へのリンク。 すべての項目を "解決済み" ワークフロー状態カテゴリか、何も定義されていない場合は "完了" ワークフロー状態カテゴリのいずれかに切り替えます。 |
Note
同じGitHub リポジトリを 2 つ以上のAzure DevOps組織で定義されているプロジェクトに接続した場合、予期しないAB#メンション リンクが表示されることがあります。 詳細については、「接続の 問題を解決する」を参照してください。 このため、GitHub リポジトリは、単一のAzure DevOps組織で定義されているプロジェクトにのみ接続することをお勧めします。
pull request の説明で AB# を使用して作業項目へのリンクを追加すると、それらのリンクは、GitHub pull request の Development セクションに表示されます。 これらのリンクは、pull request の説明で AB# を使用する場合にのみ使用できます。 作業項目から直接 pull request にリンクしている場合は表示されません。 説明から AB# 参照を削除すると、開発セクションからも削除されます。
作業項目からGitHubブランチを作成する
作業項目から直接GitHubブランチを作成するには、次の手順に従います。
ボードから、GitHubブランチの作成に使用する作業項目を見つけます。
Work item actions>からNew GitHub branchを選択します。
GitHubブランチの作成ダイアログで、ブランチ名を入力します。 GitHub リポジトリとベース ブランチを選択します。
を選択してを作成します。
Azure Boards指定したGitHub リポジトリにブランチを作成し、作業項目にリンクします。 詳細については、「Azure Boards-GitHub 統合を参照してください。
GitHubのブランチ、コミット、またはプルリクエストに作業項目のリンクを追加する
作業項目を開き、[ 開発 ] 領域に移動します。
[+ リンクの追加] を選択します。 各ドロップダウン メニューから、link の種類、GitHub リポジトリ、および GitHub pull request を選択します。 リポジトリ内で検索およびドリルダウンして、URL をコピーして貼り付けなくても、特定のプル要求またはコミットを検索して選択できます。
[+ リンクの追加] を選択します。
Azure Boards、有効なリンクを入力したことを確認します。 リンク先のGitHubリポジトリがAzure Boardsプロジェクトに接続されている必要があります。そうでない場合、検証に失敗します。
Note
Azure DevOps Serverと GitHub Enterprise Server を使用している場合は、AB# リンクを完了するときに遅延が発生します。 このプロセスでは、「プッシュ・アンド・プル」設計を用いて、1時間ごとにGitHubイベントからCommit、PR、Issueに関する増分変更を取得します。
リンクの自動更新
複数のイベントによって作業項目フォームのリンクが自動的に更新されるため、手動で作成する必要はありません。 これらのイベントは次のとおりです。
| GitHub イベント | Action |
|---|---|
| ブランチへのリンク | ブランチからプル要求が作成されると、作業項目に自動的にリンクされます。 |
| マージ コミット | pull request がマージされると、結果のマージ コミットは作業項目に自動的にリンクされます。 |
| 分岐の削除 | ブランチが削除された場合 (通常はマージ後)、そのリンクは作業項目から自動的に削除されます。 |
[開発] セクションでリンクを表示または開く
作業項目フォームの [開発] セクションには、
GitHub アイコンを使用してコミットとプル要求をGitHubするために作成されたリンクが一覧表示されます。
リンクを選択して、コミットまたはプル要求をGitHubで開きます。
GitHubのプルリクエスト洞察情報
[開発] セクションのリンクされたGitHubプル要求には、追加の状態の詳細が表示されます。 GitHubで pull request を開かずに進行状況を評価できます。
プルリクエストインサイトの前提条件
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 パイプラインを開き、
[その他のアクション]、[設定] の順に選択します。[ パイプラインの設定 ] ダイアログで、[ このビルドの新しい作業項目を自動的にリンクする] を有効にします。
ビルドが完了すると、関連する各作業項目の [開発] セクションに [ビルドに統合] リンクが自動的に表示され、作業項目からビルドまでの完全な追跡可能性がチームに提供されます。
この設定の構成の詳細については、「 作業の追跡をサポートするようにパイプラインを構成する」を参照してください。
ボード上GitHubオブジェクトを表示する
ボードでGitHub注釈を有効にすると、リンクされたGitHubコミット、プル要求、または問題をすばやく開いて詳細を確認できます。 詳細については、「カードの カスタマイズ」を参照してください。
AI を使って GitHub の作業を関連付けて管理する
Azure DevOps MCP サーバーを構成する場合は、作業項目フォームを手動で移動する代わりに、GitHubから作業項目へのリンクタスクを自然言語で記述できます。
シナリオの例として、これらのプロンプトを使用します。 サポートされる操作は、構成されたツールセット、拡張機能のバージョン、およびアクセス許可によって異なります。
一部のプロンプトでは、書き込みアクションを実行する代わりにガイダンスが返されたり、有効にした MCP ツールによっては複数のプロンプトが必要になる場合があります。
プロンプトを実行する前に、 <Contoso>、 <owner/repo>、 <sha> などのプレースホルダーを実際の値に置き換えます。
このクイック実行と検証のフローを使用します。
- テーブルから 1 つのプロンプトを実行します。
- 実行されたアクションの応答を確認します。
- 作業項目を開き、[ 開発 ] セクションで結果を確認します。
- 関連するGitHub成果物を開き、予想されるリンクまたは更新を確認します。
最初に次のプロンプトを試してください。
Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
| Task | プロンプトの例 |
|---|---|
| 作業項目を pull request にリンクする | Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42 |
| 作業項目をコミットにリンクする | Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha> |
| 作業項目を問題にリンクする | Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10 |
| 作業項目からGitHubブランチを作成する | Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main |
| PR マージ後にリンクされた作業項目の状態を更新する | After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved |
| 関連する作業項目を一括リンクする | Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42 |
| リンクされていない作業項目を検索する | List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request |
| 作業項目GitHubアクティビティの集計 | Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso> |
| PR に AB# 参照を追加 | Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126 |
| リンクされた PR の状態を確認する | Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso> |
Note
Visual Studio Codeを使用している場合は、エージェント モードを使用します。 Azure DevOps MCP サーバーの操作では、Azure DevOps データにアクセスして操作を行うために、エージェント モードが必要です。
AI 支援リンクのトラブルシューティング
- プロンプトが実行されない場合は、AI クライアントでエージェント モードが有効になっていることを確認します。
- アクセス エラーでプロンプトが失敗した場合は、アカウントが Azure DevOps プロジェクトとGitHub リポジトリにアクセスできるかどうかを確認します。
- リンクが作成されない場合は、すべてのプレースホルダー (
<Contoso>、<owner/repo>、<sha>など) を実際の値に置き換えて、プロンプトをもう一度実行します。 - 一括プロンプトが失敗した場合は、最初に 1 つの作業項目で再試行してから、小さいバッチで繰り返します。
- 結果が期待値と一致しない場合は、作業項目の開発セクションと関連するGitHub成果物で結果を確認します。
次のステップ
関連コンテンツ
- Azure BoardsをGitHubと統合します
- 作業の追跡をサポートするためのパイプラインの構成
- Azure Boards のバックログとボードにおけるワークフロー カテゴリの状態の使用方法を理解する
- 作業項目をオブジェクトにリンクする
- GitHubとAzure Boards接続の問題を解決する