1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ノーコードでTeamsの通知を検知してAzureDevOpsへチケットを作る

Posted at

はじめに

業務ではTeamsをメインのコミュニケーションツールとして利用していて、大体の通知系はTeamsに飛んでくるように設定しています。
対応すべき通知を発見して、Teams上でコメントのやり取りなどをしているいつの間にかログが流れて存在を忘れてしまうことがあります。
忘れない/自分以外も気づけるようにと対応すべきTeamsの通知をチケットかする仕組みを作りました

目次

  1. 利用するもの
  2. PAT発行
  3. ロジックアプリを登録

利用するもの

Microsoft Teams
AzureDevOps
Azureロジックアプリ

PAT発行

AzureロジックアプリからAzureDevOpsへの認証はPersonal Access Tokens(PAT)を利用します。
AzureDevOpsにログインをしてヘッダーメニュー右上のUser settings→Personal Access TokensをクリックしてPATの作成画面に行きます。
image.png

右上のNew Tokenボタンを押下してPATを作成します。入浴内容は以下を参考にしてください。
Name:任意の名前
Expiration(UTC):カスタムで一年後を設定するのがおすすめです
Work Items:Read & writeにチェックを入れる。これをしないとチケット作成/更新権限が付与されない
image.png

Createボタンを押下するとPATが表示されますので、大事に保管をお願いします。

ロジックアプリを登録

Azureにログインしてロジックアプリ画面へ遷移します。
左上に追加ボタンがあるので押下してください。
今回はマルチテナント→従来の重量課金プランを利用します。
image.png

※私が実際ロジックアプリを作ったときにはこの選択肢がなかったのでプランの詳しい内容はわかっておりません。

次の画面で従来の重量課金プランを利用するをクリックしてください。

リソースグループやアプリ名などの必須項目を入力して確認及び作成ボタンを押下する

作成したロジックアプリの概要画面に遷移して、編集をクリックします。
そうすると以下ようなロジックアプリのデザイナーが表示されます。
image.png

Teamsのチャットトリガーの作成をします。
トリガーの追加を押下して、検索テキストにteamsと入力して以下のトリガーを選択してください。
image.png

こちらを選択するとTeamsへのログインが求められるのでログインをしてください。
チームとチャネルを選択できるようになるので、トリガーとしたいチャネルを選択してください。

PATを変数化したほうが便利なので変数定義をしましょう。

Teams通知の内容からチケットに出力したい内容を抜き出すためにDataOperationのParseJSONのアクションを利用しますのでアクションの追加をします。
image.png

私は以下のようにParse設定をしています。
image.png

必要に応じて変数定義を追加して次のアクションで利用できるようにするのがミソです。

次はいよいよAzureDevOpsにチケット登録をします。
AzureDevOpsの「Azure DevOpsにHTTP要求を送信する」のアクションを選択してください。
image.png
パラメータを以下のように設定してください。

image.png

途中はだいぶ割愛しながら説明しましたが、jSONのパースや変数定義周りを理解できれば簡単にカスタマイズできると思います。

既存のチケットがある場合は、コメントを残すなどもできますので使いこなせると便利です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?