はじめに
VSTSには外部のWebサービスと連携する機能があります。イベントとしては多くないのですが、いろいろな通知が一か所にまとめられるといいものです。そんなサービス連携を紹介します。
Teamsとの連携
Microsoft Teams – グループ チャット ソフトウェア
TeamsはMSが先日からOffice 365サービスの1つとして提供している要はSlackやHipChat, ChatWorkみたいなやつです。Office 365のひとつなので、同じアカウントを共有するVSTSとの連携は結構楽です。ちょっとやってみましょう。
Teamsの設定に関しては省略します。
Teamsで通知用のチャネルを作っておいて、そのチャネルにVisual Studio Team Servicesのコネクタを追加します。
使用するアカウントおよび、VSTSのテナント名を指定します。既定ではデフォルトのMSアカウントになっているかもしれないので、気を付けてください。現時点において、MSアカウントを連携に使用することはできません。必ずOffice 365のアカウントを使ってください。
いつも通りアプリケーションの承認します。いつでもVSTS側で取り消しできます。
Teamsへの通知を指定します。ビルドやリリース、作業項目とかありますね。訳語がいまいち統一されていない(作業アイテムと作業項目など)のはスルーで。
区分と種類がありますが、ここでは全部通知させます。大きなチームになったら、VSTSのチームごとに通知とかにしましょう。VSTSでチームを作った場合、区分パスがそのままAreaに該当しているので、わかりやすいはずです。
チームに関してはこちらをどうぞ。
VSTSでWork Itemを作るとこのように通知されました。
チャネルへの通知は複数設定できます。同様にビルドが完了した通知を設定してみましょう(大体同じなので省略)。
こんな風にビルド完了通知がきます。
VSTSのService Hook
実はこの機能、TeamsがVSTSへのService Hookに登録することで実現しています。VSTSから外部サービスへの登録もできるのですが、office 365関係のサービスの場合、Office 365から操作することが前提になっています。VSTSからOffice 365のService Hookはしないでください(やろうとしてもエラーになります)。
こんな感じで、Office 365のWeb Hookが追加されています。ここから編集できそうな気がしますが、絶対に編集しないでください。削除する場合は必ずTeams側から実施します。
これはほかのOffice 365サービスのFlowを使う場合でも同じです。ちなみにFlowの場合はMSアカウントのVSTSのサービス呼び出しができるんですよね。はやくTeamsもサポートしてほしいものです。
Teams以外にもSlackやHipChatへの通知も標準で提供されています。ChatWorksはないようですが、Web Hookが提供されているので、それでやればいいんじゃないでしょうか。
まとめ
というわけで、VSTSの通知機能の紹介でした。Slack一強みたいな感じでしたけど、Teamsこれからどうなるんでしょうね。標準でOffice 365のアカウント連携して使えるのは非常に便利なので、Office 365ユーザーには受けそうです。
VSTSのAPIもartifactへのアクセス手段とかもうちょっとあればいいんですが(ないですよね…)。