これはAzure DevOpsアドベントカレンダー19日目の記事です。
.@kkamegawa Azure Pipelines で Azure のREST を ワンライナー(Reposにスクリプト入れない)で実行したことありますか? #AzureDevOps Have you run Azure's REST on Azure Pipelines with One Liner (without Repos)?
— ちぇんじわーるど (@changeworlds) December 18, 2018
というちぇんわさんの無茶ぶり読者からのご質問があったので、簡単にやってみました。
Azure Pipeline task to call Azure REST API
難しいことはなくて、Azure PipelinesにPowerShellタスクを追加して、普通にPowerShellでのREST API呼び出しているだけです。もちろんアクセストークンなんかはこんな生書きしてはいけません(笑)。variablesか、Libraryに入れておくのが望ましいです。
一つ悩ましいとすれば「どうやってAzureのトークン取るの?」ということですが、今回の場合、AzureのREST APIのリファレンスには"Try It"というボタンがついているので、そこから持ってきました。
例えばVirtual Machinesの一覧を取るAPI。
このトークンの権限はちょっと調べてないですが、同様のことはAzure-CLIでもできます。Try Itからサインアウトしてもキーは使えていました。
ただまぁどうしてもRESTじゃないといけないということはあると思いますが、簡単にやるならAzure PowerShellタスクやAzure-CLIタスク使うとこの辺の面倒全部見てくれる(Login-AzureRmAccountコマンドレット不要)ので、そっちのほうがいいんじゃないかなと思いました。