前からやりたいと思っていたことの1つが、Webサイトに問題があったときにVSTSに作業項目を登録するということでした。拡張機能とかWebhookでできるかな、と思っていましたが、いつの間にか標準でできるようになっていましたので紹介します。
Application Insightsの「作業アイテム」を選択します。Visual Studio Team ServicesとGitHubが選択できます。
- URL : 連携するVSTSのURLを指定します。
- プロジェクトコレクション : VSTSの場合は一つしかないので指定する必要はありません。
- プロジェクト : プロジェクト名を指定します。
- 承認 : VSTSとOAuthで連携させます。
- 区分 : VSTSのAreaに登録している区分を指定します。配下は\で区切ります。
承認するとOAuthのいつものウィンドウが表示されるので、承諾をクリックします。これはVSTS側でいつでも取り消せます。
担当者をとりあえず私に指定しいます。OKを押すと検証が実行され、問題なければ連携完了です。失敗する場合、プロジェクト名や区分名が間違っていないか確認してください。区分やプロジェクト名は大文字小文字を区別しないようです。
実際にどうやるのかやってみましょう。
Application Insightsのブレードに検索があります。ちょうど都合よく例外が起きているリクエストがあったので、クリックして表示します。
例外が起きてますね。普通のタスクツールであればこんな手順になるでしょうか。
- タスク管理ツールにタスクを作成
- 例外コード、時間などの発生条件をコピペ
- 登録すると通知される、もしくはメールやチャットで連絡
何らかのエラーがあったらSlackに障害通知をしている例も多いと思います。このApplication Insightsでの連携を実施していると、「作業項目の作成」をクリックするだけでVSTS側にタスクがバグとして登録されます。
担当者に指定した人の作業項目クエリーに例外が発生したという作業が登録されています。これは実際振り分けるためのエスカレーションを実施する人を登録しておいて、そのあとで誰か実際に作業する人に振り分けるというのもありです。
作業項目を開いてみると、Application Insightsにあった例外コードがそのままコピペされています。VSTS以外にもGitHubのissueに対しても登録ができますので、どちらかを使っている人はApplication Insightsの作業項目の作成機能を使ってみてください。
たぶんApplication InsightsのWebhook使えば、例外発生時に自動的に登録するってこともできるんじゃないかと思っています。