kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azure DevOps CLIでWork Itemの一覧をざっくり処理する

知り合いから、「Azure BoardsのWork Itemをざっくり見たい。ブラウザー以外で」という相談をたまに受けます。

なぜブラウザー以外かといえば、ブラウザーはたいていテストに使ってるからなんですね。やむを得ない事情で閉じないといけないとか、常時起動できるかといえばそうでもない。

Azure CLIの拡張機能でAzure DevOpsが提供されています。ネットワークの問題がなければ(GitHub Releaseからのダウンロードなので、止めている組織もあります)、これで入ります。

az extension add --name azure-devops

az devops loginでPATを使ったログインになります。

Azure Boardsの特定のIDを中身を取りたい場合こうします。

az boards work-item show --id xxx

これでWork Itemの結果が取得できますが、REST APIと同じJSONで返却されます。概要だけ見たいときはtable形式で。

az boards work-item show --id xxx --output table

ID    Type    Title                         Assigned To           State
----  ------  ----------------------------  --------------------  -------
614   Task    ワークスペースのところを書く     hoo@exsample.com      Active

これではいちいちID覚えてないといけないので、クエリで自分(@Me)にアサインされているタスクを検索します。

az boards query --wiql
  "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.State] = 'Active'"

WIQLの構文はこちらを見てください。

docs.microsoft.com

JSON形式で返ってくるので、--output tableでもうちょっと見やすくなります。

ID    Title
----  ----------------------------------------------
23    サブメニューまでログイン
92    TFS本サンプルのテスト
107   TFSUGの華麗なデモ

これでIDとTitleが取れるので、az board show --id 23 --open で対象のアイテムがブラウザーで開かれます。プレビューですが、az interactiveでインタラクティブなコマンドが使えます。ヒストリーも強力なので便利そうです。

az interactiveを使う場合、プレビューですが、Windows Terminalsを使うほうがいいでしょう。cmd.exeよりもコンソール出力の応答がいいようです。