見出し画像

【Power Automate】【Workflows】【Jira】【Teams】(失敗?)JiraプロジェクトからTeamsチャネルへの投稿をチームメンバー全員に通知する

やりたかったこと

Jiraプロジェクトの未完了課題一覧を、Incoming Webhookを通じて定期的にプロジェクトチームのTeamsのチャネルに投稿した際、チームメンバーに通知が届くようにしたい。メンバーごとの設定等の操作を一切必要としない方法にて。

できたこと

Power Automateをアクティベート済みのユーザーに対して通知を発信できた。(ユーザーごとの操作を要するのでは意味がない!😢)

背景

・Incoming Webhookによる投稿では@メンションが働かない。
・チャネルの通知設定は個人単位で行う必要があるため、人によっては投稿を認識できないケースが発生しうる。
・Jira,Teams以外に使うシステムはなるべく少なくしたい。(Teamsに投稿があったことをメールで通知させるとかしたくない)
・調べて出てくるOffice365 Groupsを用いた方法だと現在の環境ではURIがチャネルに対応していないように見受けられた。

解決方法の概要

Power AutomateのWork flowsを用いて、トリガーはチャネルに新規投稿があったときとし、条件設定でJiraよる投稿である場合に限定しTeamsコネクタでのHTTP要求送信を行い、チーム全体に対するメンション機能を持つフレーズを含ませた投稿を、元の投稿に返信する形で送信する。

解決方法の詳細(といっても丁寧には書きません)

フローはこんな感じ。

メインで参考にしたのはこちら。

あとサブ参考はこちら。

ただしこれらの中で使用されている「Microsoft 365 groupsコネクタ」は2024年3月現在、チャネルへのメンションができないようになっているのではないかと思われる。
そこでTeamsコネクタの「Mircrosoft Graph HTTP要求を送信する」を使用した。

で、今回はJiraの自動投稿の場合に通知をしたかったので条件設定。

Jiraからの自動投稿でコネクタが認識できるパラメーターのうち、自動投稿固有となりうるのは「概要」だけだったので、条件の変数としては「チャネルに新しいメッセージが追加されたとき」(=トリガー)の「メッセージの概要」が「次の値を含む」とし、Jiraの方の自動投稿の設定で「概要」に自動投稿を識別できるキーワードを含めるようにし(例えば「Auto」)、自動投稿とそれ以外を区別できるようにした。

アクションはこちら。詳しくは先の参考にしたサイトのOffice365 Groupsの中身と同じなのでそちらをご覧あれ。(雑)

元の投稿に対する返信の形でチームへメンションしたかったのでURIの末尾は「replies」とした。メッセージIDは元の投稿のIDね。

で、実行されるとこんな感じで、Incoming Webhookの投稿に、自身の返信の形で全体メンションが行われる。

これで、チャネルの通知設定を「投稿ごと」にしていないユーザーでも、Power Automateを有効化(アクティベート)済みのユーザーにはフィードに通知が飛ぶようになる。

メモ

・Jiraプロジェクトからの通知をコネクタであるIncoming Webhookから届かせた投稿に限定する条件は今回の方法で設定できるが、他のシステムからの通知だったり、他のコネクタ経由だったりすると条件設定方法は異なると思われる。変数として取得可能な元投稿の各パラメーターは、一度Teamsに全て出力されるようなアクションを登録し確認すればよいだろう。(今回の場合は「概要」パラメーターだけが唯一元投稿の識別子となり得るようだったため、そこに特定の文字列(例えば「Auto」)を含ませることで条件分けさせた。)

パラメーターはこんなのがあるので、どれが取得可能なのか確かめるために


取得可能そうな変数毎に
(各変数):変数名
にして出力させる。取得できない場合はTeamsにて(各変数)部分が出力されない。
JiraのTeamsへの投稿の場合は「contentType」, 「etag」, 「ロケール」、「messageType」、「概要」が取得できるようだが、この中で任意の自動投稿を常に識別可能とするのは「概要」のみ。etagはその投稿固有なのでJiraの投稿すべてを識別するパラメーターではない。

コメント

・この方法による自動応答の投稿はチャネル内ではルール作成者のTeamsアカウントから行われているように見えて(通常の投稿のように見える)、なんか癪だったので(笑)、私は本文に「《自動応答》」という文言をわざわざ入れちゃった。(フィード通知はWork flowからに見えるけど。)
・投稿に対する自動返信をするときには使えそう(そんなんある?)。
・やっぱり各ユーザーにPower Automateをアクティベートしてもらわないといけないというのはいただけないよなぁ。Jiraのコミュニティで質問したけどやっぱりJiraの自動投稿自体でのメンションはできないそう。

あまりに雑すぎる内容だ。。。日本語もわけわかんないことになっている気がする。。。しかし丁寧に作る余裕がない。。。ので追々きれいに整えていくかも?まぁでも色々ググって頑張った結果このページに辿り着いた人ならきっと読解できるだろう!(投げやり

この記事が気に入ったらサポートをしてみませんか?