🔗

Azure DevOps の Graph コネクタを使って Microsoft 365 Copilot に回答させる

2024/12/12に公開

はじめに

Graph コネクタには標準コネクタとしていくつかの外部サービスと簡単に接続できます。今回は Azure DevOps に接続して Microsoft 365 Copilot に回答させてみます。

実行手順

詳しい手順は以下のドキュメントが参考になります。

https://learn.microsoft.com/ja-jp/microsoftsearch/azure-devops-connector?WT.mc_id=M365-MVP-5002941

Azure DevOps を Graph コネクタに接続する方法は 2 種類がありますが、今回は作業項目を使用します。Copilot から回答させるのであれば Wiki を接続するのも面白そうです。

接続名と ID を設定します。Copilot が Graph コネクタを使用するためには説明が必要ですので忘れないように。

データ ソースは Azure DevOps OAuth と Microsoft Entra ID OAuth (プレビュー) を使用する方法があります。試したところ Microsoft Entra ID OAuth の方法はうまくできなかったので、今回は Microsoft Entra ID OAuth を使用しました。アプリは https://app.vsaex.visualstudio.com/app/register から登録できます。Azure DevOps OAuth からのアプリの作成は 2025 年 2 月以降ブロックされるので、それまでにプレビューが取れることを期待しています。

データの構成では既定で選択されているプロパティのほかに追加のプロパティを選択できます。

検索対象をプロジェクトのメンバーにするかすべてのユーザーにするかを選択できます。

プロパティ ラベルを割り当てます。通常はそのままで問題ありません。

スキーマを管理します。通常はそのままで問題ありません。

クロールのスケジュールを設定します。

データ ソースを公開すると、自動的に結果の種類も追加されます。バーティカルは追加されないので手動で追加します。

実行結果

まずは Microsoft Search の検索結果を見てみます。キーワードで検索すると一致する作業項目が表示されます。

アサインされているユーザーを指定したクエリも可能です。

Microsoft 365 Copilot

Copilot からも質問してみます。データは取得できているようです。ただ、確認してみたところ、ID は正しくありませんでした。たとえば「カスタマイズの実施」の ID は 2 と回答していますが、正しくは 8 です。

プロンプトを工夫すると正しそうな結果を返してくれました。内部的には {{organization-id}}@{{tenant-id}},{{item-id}} の形式で格納されているようです。

ID で検索するようプロンプトを書いてみました正しく取得できていません。クエリを使った検索はできないようです。

宣言型エージェント

宣言型エージェントとしても呼び出し可能です。

アプリ マニフェストはこちらを参考にしてください。

https://github.com/karamem0/samples/tree/main/microsoft-365-copilot-azure-devops-api-plugins

おわりに

作業項目に関しては精度が低くいまひとつな結果になってしまいました。Copilot がクエリ検索に対応していないようなのでそこが改善されればもう少し使えるようになる気がします。または API を作ってプラグインとして実行するとよりよい結果を出せそうです。また、宣言型エージェントであれば instructions でハレーションを回避できるので、ID の問題などは解決できるのではないでしょうか。

Discussion