Azure DevOps の Graph コネクタを使って Microsoft 365 Copilot に回答させる
はじめに
Graph コネクタには標準コネクタとしていくつかの外部サービスと簡単に接続できます。今回は Azure DevOps に接続して Microsoft 365 Copilot に回答させてみます。
実行手順
詳しい手順は以下のドキュメントが参考になります。
Azure DevOps を Graph コネクタに接続する方法は 2 種類ありますが、今回は作業項目を使用します。Copilot から回答させる場合は Wiki を接続するのも有効です。
接続名と ID を設定します。Copilot が Graph コネクタを使用するためには説明が必要なので、忘れずに入力してください。
データ ソースは Azure DevOps OAuth と Microsoft Entra ID OAuth (プレビュー) の 2 つの方法があります。検証したところ、Microsoft Entra ID OAuth の方法はうまく動作しませんでしたが、今回は Microsoft Entra ID OAuth を使用しています。アプリは https://app.vsaex.visualstudio.com/app/register
から登録できます。Azure DevOps OAuth からのアプリ作成は 2025 年 2 月以降ブロックされる予定なので、それまでにプレビューが正式リリースされることを期待しています。
データの構成では、既定で選択されているプロパティに加えて追加のプロパティも選択できます。
検索対象をプロジェクトのメンバーにするか、すべてのユーザーにするかを選択できます。
プロパティ ラベルを割り当てます。通常は既定値のままで問題ありません。
スキーマを管理します。通常は既定値のままで問題ありません。
クロールのスケジュールを設定します。
データ ソースを公開すると、自動的に結果の種類も追加されます。バーティカルは自動追加されないため、手動で追加してください。
実行結果
Microsoft Search
まずは Microsoft Search の検索結果を確認します。キーワードで検索すると一致する作業項目が表示されます。
アサインされているユーザーを指定したクエリも可能です。
Microsoft 365 Copilot
Copilot からも質問してみます。データは取得できているようです。ただし、確認したところ ID は正しくありませんでした。たとえば カスタマイズの実施 の ID は 2 と回答されていますが、正しくは 8 です。
プロンプトを工夫すると正しい結果が返されました。内部的には {{organization-id}}@{{tenant-id}},{{item-id}}
の形式で格納されているようです。
ID で検索するようプロンプトを書いてみましたが、正しく取得できませんでした。クエリを使った検索はできないようです。
宣言型エージェント
宣言型エージェントとしても呼び出し可能です。
アプリ マニフェストについては、以下を参考にしてください。
おわりに
作業項目に関しては精度が低く、満足できる結果にはなりませんでした。Copilot がクエリ検索に対応していないため、今後の改善に期待しています。または API を作成してプラグインとして実行すると、より良い結果を得られる可能性があります。宣言型エージェントであれば instructions でハレーションを回避できるため、ID の問題なども解決できると考えられます。
Discussion