PowerAutomate で連携する Teams と Planner と Redmine

# はじめに
お客様の問い合わせがRedmineに届き、1問い合わせに対しteamsのスレッドを1つ立てて弊社内で検討という運用をしている。
が、都度都度スレッドを立てる作業が人手で行われており、地味に手間だったので、PowerAutomateを使って諸々を自動化してみた。









# それぞれのツールについて


### PowerAutomate


Microsoftが出す、GUIベースの自動化ツール
Web上とデスクトップアプリケーションがあるが、メンバーとのフロー共有のためWeb上のものを使用
コネクタとして、TeamsやPlannerといった同Microsoftのツールや、
RedmineなどのAPIが使えるものは大体使える
サーバレスで24時間365日、監視する（ここではRedmine）ことが可能（※有料）








### Teams
Microsoftが出す、チャットツール
みんな使ってると思うので説明不要
Redmineの1チケットに対して1スレッドを立てて内部検討などをしている







### Planner
Microsoftが出す、タスク管理ツール
Teamsのタブに追加して、グループメンバー内での管理もできる
他メンバーのタスク状況も見れるので導入
Redmineの1チケットに対して1タスクを作成し、ボールがどこにあるのかや残タスクを確認









### Redmine
Webベースのプロジェクト管理ソフトウェア
課題管理や、ガントチャートでのタスク管理ができる
ここではお客様の問い合わせフォームとして使用のため、内部的なタスク管理としては使用していない
対顧客用として使用するため、外部サーバであるMyRedmineという製品化されているものを使用している

# 実施前の運用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/2063d92d-1ce6-5a44-991f-67d3631ad679.png)



















このうち、②と③を自動化、あわよくばPlannerとも連携したい！！！
というのも……
・たまにメール通知を見逃す
・チケット起票ごとにスレ建てが面倒
　⇒メンション対象や文章は固定化しているのにRedmineからのコピペが無駄に手間
・誰がどのチケットを持っているのかスレッド上では一目でわかる場所がない





# 実施後の運用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/b999d78a-5bda-2178-c5e6-18314fff8aab.png)


②、③をPowerAutomateにやってもらうような運用に変更することで、
……対応内容の検討にスムーズに入れるように！！










# PowerAutomateのフロー
![flow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/b97bf7dc-b4fd-82f6-37cd-69f54f768cd1.png)





###### トリガー：チケット作成
Redmine API を使用できるようにし、チケットの新規作成を検知・情報を取得する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/74565f16-5709-becd-54db-b470799d54d9.png)



###### 変数に「お客様名」を格納
他のお客様が追加になったとき、トリガーのプロジェクトとこの変数を修正するのみでフローをコピーして利用できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/c32a281a-1ef4-07e4-2043-46c7b19002ab.png)


###### 変数に「メンションリスト」を作成～変数「メンションリスト」を結合
Excelのテーブルにメンション対象のメンバーをまとめておくことで、対象のメンバーが変更になった場合でもフローの変更は不要
複数お客様（プロジェクト）になると、複数のPowerAutomateのフローを作成する必要があるので、外部でメンション対象のメンバーは管理する
このExcelのテーブルでは、メンバーのRedmineアカウントとMicrosoftアカウントを連携できるように構築している
また、リストを一つの文字列としておくことで、後述のteamsのスレッド本文に組み込みしやすくしている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/290f4f7c-6f3b-5c59-64eb-130486e1c1ae.png)



###### Teamsにメッセージを投稿
トリガーで取得したRedmineチケットの情報や、メンションリストなどを利用して本文を作成する。
※リンクはこのステップを開く度に壊れるので注意（メモからコピペできるようにしている）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/a3b3a831-94b2-779a-6432-f76ff5689610.png)

###### Plannerにタスクを作成
トリガーで取得したRedmineチケットの情報を利用して本文を作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/bea1e103-0a40-8fd9-43c3-62a280ad3ae7.png)

###### Excelを更新
PlannerとRedmineとTeamsを連携するためにそれぞれのIDを格納したExcelを作成しておき、新規起票時に追加するようにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/57c95c9d-a107-27ed-1851-d29b3468e8ab.png)

###### Plannerのタスク詳細を編集
タスクの作成では操作できない"メモ"を編集する
ここに、TeamsのスレッドのリンクやRedmineのチケットのリンクを追加する
※TeamsのURLは使用しているチームのスレッドから「リンクをコピー」してチーム・チャネルを取得可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822713/397afb21-348c-b197-0568-0e902f45303d.png)

# 終わりに
手間だなぁから始めた自動化でしたが、
PowerAutomateを導入することで、対応の初動が少し早くなったなと感じました。
この少しをやらなくて済むようになったのが意外と大きかったと導入してから感じてます。
Redmineのプロジェクトごとに作成する必要がある、PowerAutomateの更新時にメンテナンスが出てくる可能性がある、というデメリットもありますが、それを加味しても有り余るメリットでした。やってみてよかった！！！

#### 参考
https://qiita.com/kazuki_yoshida/items/f09e4e4f052dcac47f8a

https://note.com/mdk12358/n/nc9a4ecf767b9