🌊

Azure PilelinesでJSONファイルから変数を読み込む

2022/06/21に公開

Pipelineの中で、条件に応じて決まった変数をロードしたいと思って、やり方を整理しました。

たとえば「Release-ModuleName-Version」みたいなタグを張られたときに、ModuleNameに該当するアプリをビルドしたいみたいな用途です。

- pwsh: |
    $variables = Get-Content $(Build.SourcesDirectory)\$(module).json | ConvertFrom-Json -AsHashtable
    $variables.GetEnumerator() | ForEach-Object {
        $name = $_.key
        $value = $_.value
        Write-Host "##vso[task.setvariable variable=$name]$value"
        Write-Host "##[debug]Debug $name=$value"
    }
  displayName: JSONファイルから変数をロード

フラットなJSONファイル限定ですが、こんな感じでいけます。

構造化されたものを動的に読みたい場合は、サードパーティのTaskとかを探したほうが良いかも?

つかったことはないですが、以下のようなパッケージを見かけました。

以上です。

Discussion