Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
この記事では、Azure Boards プロジェクトを GitHub リポジトリに接続した後で、作業項目を GitHub コミット、プル要求、ブランチにリンクする方法について説明します。 コミットとブランチに #mention 構文を使用するか、Azure Boards 作業項目から直接 GitHub コミット、プル要求、またはブランチ リンクを追加できます。
注記
GitHub 用の Azure Boards アプリを使用することで、Azure Boards と Azure DevOps Services が GitHub.com および GitHub Enterprise Server リポジトリと統合されます。 Azure DevOps Server 2019 以降のバージョンは、GitHub Enterprise Server リポジトリとの統合のみをサポートしています。 他の Git リポジトリとの統合はサポートされていません。
前提条件
カテゴリ | 必要条件 |
---|---|
権限 | Azure Boards プロジェクトと GitHub リポジトリの両方に共同作成者。 |
プロジェクト接続 | リンク先またはリンク元のコミット、pull request、ブランチが存在する GitHub リポジトリに Azure Boards プロジェクトが接続されていること。 詳細については、 Azure Boards-GitHub 統合に関するページを参照してください。 |
注記
ホストされた XML プロセス モデルを使うプロジェクトでは、開発セクションと GitHub リンクの種類を表示する作業項目の種類を更新する必要があります。 詳細については、「 選択した作業項目の種類の XML 定義を更新する」を参照してください。
GitHub から Azure Boards 作業項目にリンクするには AB#
を使います
GitHub のコミット、pull request、または issue から Azure Boards 作業項目へのリンクを作成するには、次の構文を使います。 コミット メッセージのテキスト内に AB#ID
を入力します。 pull request または issue の場合は、タイトルまたは説明内に AB#ID
を入力します。 コメント内で AB#ID
を使用しても、作業項目へのリンクは作成されません。
AB#{ID}
たとえば、AB#125
は作業項目 ID 125 にリンクします。
コミットまたは pull request メッセージを入力して、作業項目を切り替えることもできます。 システムは、 {state}
または {state category}
を fix
、 fixes
、 fixed
と共に認識し、次の #メンション項目に適用します。
プル要求の説明に有効な状態名 ( Closed AB#1234
など) が含まれている場合、システムは参照先の作業項目をその特定の状態に更新します。 状態名が直接認識されない場合、Azure Boards は、 Resolved
や Completed
などのワークフロー カテゴリとの照合を試みます。 一致するものが見つかった場合、作業項目は、そのカテゴリで定義されている最初の使用可能な状態に遷移します。
既定では、fix
、fixes
、またはfixed
で参照される作業項目は、解決済みカテゴリに関連付けられている最初の状態に遷移します。 現在のプロセスにこのような状態が存在しない場合は、代わりに作業項目が 完了 カテゴリの最初の状態に遷移します。
詳細については、「 Azure Boards のバックログとボードでワークフロー カテゴリの状態を使用する方法」を参照してください。
例については、次の表を確認してください。
コミットまたは pull request メッセージ | アクション |
---|---|
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 issue 123 と Azure Boards 作業項目 234 にリンクします。 切り替えは行われません。 |
注記
同じ GitHub リポジトリを 2 つ以上の Azure DevOps 組織で定義されているプロジェクトに接続した場合、予期しない AB# メンション リンクが表示されることがあります。 詳細については、「接続の 問題を解決する」を参照してください。 このため、1 つの Azure DevOps 組織で定義されたプロジェクトにのみ GitHub リポジトリを接続することをお勧めします。
AB# を使用して作業項目へのリンクを追加すると、それらのリンクが pull request の [開発 ] セクションに表示されます。
作業項目から GitHub ブランチを作成する
作業項目から GitHub ブランチを直接作成するには、以下の手順を実行します。
ボードから、GitHub ブランチを作成する作業項目を見つけます。
ワーク項目アクション>新しいGitHubブランチを選択します。
[ GitHub ブランチの作成 ] ダイアログで、ブランチ名を入力し、GitHub リポジトリとベース ブランチを選択します。
作成を選択します。
Azure Boards によって、指定した GitHub リポジトリにブランチが作成され、作業項目にリンクされます。 詳細については、 Azure Boards-GitHub 統合に関するページを参照してください。
作業項目のリンクを GitHub ブランチ、コミット、または pull request に追加する
作業項目を開き、[ リンク ] タブに移動します。
[ リンクの追加 ] ダイアログで、 いずれかの GitHub リンクの種類を選択し、GitHub リポジトリを選択し、GitHub ブランチへの URL を入力し、コミットまたはプル要求を選択して、[ リンクの追加] を選択します。
次の例では、GitHub pull request へのリンクを追加します。
Azure Boards では、有効なリンクが入力されたかどうかの検査を完了します。 リンク先の GitHub リポジトリが Azure Boards プロジェクトに接続されている必要があります 。または、検証が失敗します。
注記
Azure DevOps Server と GitHub Enterprise Server を使用している場合、AB# リンクの完了に遅延が発生します。 Commit、PR、Issue の増分変更を 1 時間ごとに GitHub イベントからプルする「プッシュ アンド プル」設計が採用されています。
リンクの自動更新
複数のイベントによって作業項目フォームのリンクが自動的に更新されるため、手動で作成する必要はありません。 これには以下が含まれます:
GitHub イベント | アクション |
---|---|
ブランチへのリンク | ブランチからプル要求が作成されると、作業項目に自動的にリンクされます。 |
マージ コミット | pull request がマージされると、結果のマージ コミットは作業項目に自動的にリンクされます。 |
分岐の削除 | ブランチが削除された場合 (通常はマージ後)、そのリンクは作業項目から自動的に削除されます。 |
[開発] セクションでリンクを表示または開く
作業項目フォーム内の [開発] セクションには、GitHub のコミットと pull request に対して作成されたリンクが GitHub アイコンと共に一覧表示されます。
表示されたリンクを選ぶと、GitHub のコミットか pull request が開きます。
ボード上で GitHub オブジェクトを表示する
ボードで GitHub アノテーションを有効にすると、リンクされた GitHub コミット、pull request、または issue をすばやく開いて詳細を確認できます。 詳細については、「カードの カスタマイズ」を参照してください。