JavaScriptを有効にしてください

Azure DevOps と To-Do リストを連係させ隊

 ·   4 分で読めます  ·   Kento

前回, Azure DevOps を使ってタスク管理をする仕組みを作りました
Azure DevOps を使ってタスク管理をし隊 | クラウドを勉強し隊
しかし, タスクを入力したり, 確認するたびに毎回ブラウザを開いて, Azure DevOps にアクセスするのは面倒です
そこで To-Do リストと連携させてみました

なぜ Microsoft To-Do なのか

今回, To-Do リストに Microsoft To-Do リストを選びました
1番の理由は, MS 製品との親和性が高いからです.
普段の業務で Outlook, Teams といった MS 製品を使っています.
これらのサービスはネイティブで MS To-Do に連携する機能が揃っています.
そのため ブラウザを開くのが面倒という問題が解決されます

また, 最近 MS Viva Insights というサービスに含まれている バーチャルコミュートという機能を使っています
Viva Insightsでの仮想通勤 - Microsoft サポート
これは あらかじめ設定した退勤時間になると1日のまとめを促してくれます.
このまとめ作業のなかに To-Do リストにタスクを追加する機能があり, 今回 MS To-Do リストと連携することにしました
※初めから To-Do リストだけでいいじゃないかと思われるかもしれません.
前回の記事 で書いた通り個人的には 時間管理が非常に重要であり, To-Do リストだけだと実現できませんでした

連携させるときのポイント

今回, Azure DevOps の1つの Task と To-Do リストの項目を1対1で対応させますやりたいこととしては

  1. Azure DevOps で Task を作成すると To-Do リストにも追加される
  2. Azure DevOps で Task を Close すると To-Do リストでも Complete される
  3. To-Do リストに項目を追加すると Azure DevOps のTask が追加される
  4. To-Do リストで Complete すると Azure DevOps の Task が Close される

です.
メイン, サブ で使い分けずに Azure DevOps も To-Do リストもアクティブ・アクティブで使いたいということです
そのため, DevOps の Task と To-Do リストの項目を 1:1 で対応させる仕組みが必要です

image01
DevOps と To-Do の対応関係:

Power Automate とは

上記の仕組みを作成するために今回は Power Automate を利用しました
Power Automate はいわゆるローコードツールで, あらかじめ用意されているテンプレートやコネクタを組み合わせて自動化の仕組みを作成することができます
このテンプレートには Azure DevOps と To-Do リストの連携させるものがありました.
今回自分がやろうとしていることとは残念ながら違っていましたが, 参考にしました

Azure DevOps から To-Do リストへの連携

先述の通り, Azure DevOps と To-Do リストを 1:1 で対応させる必要があります
Azure DevOps にも To-Do リストにも各項目に ID が振られているので,これを互いに参照するようにしました
流れは図の通りです

image02
Power Automate フロー:

Azure DevOps の Task に To-Do リストの ID を入力する項目を事前に追加していました (詳しくは前回のブログを見てください)
Azure DevOps を使ってタスク管理をし隊 | クラウドを勉強し隊

image03
Azure DevOps の Task:

ここに ID が実際に入力されていたら To-Do との連携はできているとみなします
逆にここに ID が入力されておらず, null の場合, To-Do との連携はできていないとみなし, 同じ名前の項目を To-Do リストに追加します
この時, Azure DevOps の Task の ID を To-Do リストに入力する処理も行います.
あとは, Azure DevOps 側で Close 処理が行われると, ID を基に To-Do リストの項目も Complete にするなどの処理を入れています

image04
Power Automate フローの編集01:

image05
Power Automate フローの編集02:

To-Do リストから Auzre DevOps への連携

Azure DevOps から To-Do リストへの連携と同じです.
To-Do リストに項目が追加されると Azure DevOps に Task を追加します.
To-Do リストの期限から Azure DevOps側の Sprint を判断しています
それ以外の ID 連携の流れは同じで, ID 部分が null なら連携処理を行う,
ID 部分に値が入っていれば連携済みと判断します
そして, Close 処理が行われると連携済みの ID から Azure DevOps 側のTask を Complete にします(フローの流れは先ほどとほぼ同じです)

image06
Power Automate フローの編集03:

image07
Power Automate フローの編集04:

試してみる

①を試してみます
Azure DevOps にタスクを作成し, 自分に割り当てます.
このときは To-Do リストの ID は入力されていません

image08
検証01:

しばらくすると, To-Do リストに項目が追加され, Azure DevOps の方にも ID が追加されています

image09
検証02:

image10
検証03:

image11
検証04:

②を試してみます
先ほどの Task を Close に持っていきます
しばらくすると To-Do リストの方も Complete になっています

image12
検証05:

image13
検証06:

image14
検証07:

③と④に関しては, ぜひご自身でお試しください
決してめんどくさいわけでは,,,,,

最後に

前回に引き続き, タスク管理を効率化させてみました
null 判定で連携の有無を判断すると To-Do リストに詳細を入れることが出来なかったり, 適切な User Story に入れることができなかったり しているので 改善の余地はあります.
が, 一通りやりたいことは実現できたかなと思います
あとはちゃんとタスクを入力する自分の習慣!!!

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中