はじめに
業務ではTeamsをメインのコミュニケーションツールとして利用していて、大体の通知系はTeamsに飛んでくるように設定しています。
対応すべき通知を発見して、Teams上でコメントのやり取りなどをしているいつの間にかログが流れて存在を忘れてしまうことがあります。
忘れない/自分以外も気づけるようにと対応すべきTeamsの通知をチケットかする仕組みを作りました
目次
利用するもの
Microsoft Teams
AzureDevOps
Azureロジックアプリ
PAT発行
AzureロジックアプリからAzureDevOpsへの認証はPersonal Access Tokens(PAT)を利用します。
AzureDevOpsにログインをしてヘッダーメニュー右上のUser settings→Personal Access TokensをクリックしてPATの作成画面に行きます。
右上のNew Tokenボタンを押下してPATを作成します。入浴内容は以下を参考にしてください。
Name:任意の名前
Expiration(UTC):カスタムで一年後を設定するのがおすすめです
Work Items:Read & writeにチェックを入れる。これをしないとチケット作成/更新権限が付与されない
Createボタンを押下するとPATが表示されますので、大事に保管をお願いします。
ロジックアプリを登録
Azureにログインしてロジックアプリ画面へ遷移します。
左上に追加ボタンがあるので押下してください。
今回はマルチテナント→従来の重量課金プランを利用します。
※私が実際ロジックアプリを作ったときにはこの選択肢がなかったのでプランの詳しい内容はわかっておりません。
次の画面で従来の重量課金プランを利用するをクリックしてください。
リソースグループやアプリ名などの必須項目を入力して確認及び作成ボタンを押下する
作成したロジックアプリの概要画面に遷移して、編集をクリックします。
そうすると以下ようなロジックアプリのデザイナーが表示されます。
Teamsのチャットトリガーの作成をします。
トリガーの追加を押下して、検索テキストにteamsと入力して以下のトリガーを選択してください。
こちらを選択するとTeamsへのログインが求められるのでログインをしてください。
チームとチャネルを選択できるようになるので、トリガーとしたいチャネルを選択してください。
PATを変数化したほうが便利なので変数定義をしましょう。
Teams通知の内容からチケットに出力したい内容を抜き出すためにDataOperationのParseJSONのアクションを利用しますのでアクションの追加をします。
必要に応じて変数定義を追加して次のアクションで利用できるようにするのがミソです。
次はいよいよAzureDevOpsにチケット登録をします。
AzureDevOpsの「Azure DevOpsにHTTP要求を送信する」のアクションを選択してください。
パラメータを以下のように設定してください。
途中はだいぶ割愛しながら説明しましたが、jSONのパースや変数定義周りを理解できれば簡単にカスタマイズできると思います。
既存のチケットがある場合は、コメントを残すなどもできますので使いこなせると便利です。