Передайте переменную JSON в определение выпуска AzureDevops - PullRequest
0 голосов
/ 12 апреля 2020

Моя цель - передать объект JSON с одного компьютера на другой с помощью переменных конвейера AzureDevops. Процесс начинается с сценария powershell, который получает объект JSON и сжимает его до:

$json=[{"test":"foo","bar":"hello}].

Обратите внимание, что это всегда будет массив. Теперь я установил переменную azure с помощью:

Write-Host "##vso[task.setvariable variable=Json]$json"

, теперь переменная инициализируется в конвейере выпуска, НО двойные кавычки не экранируются. Это означает, что, когда я пытаюсь получить $(Json) в следующем скрипте, он терпит неудачу из-за недопустимых символов, конечно. Мой вопрос: как избежать этих двойных кавычек? Я попытался добавить одинарные кавычки в начало и конец строки, но это не сработает. Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Вы пытались обернуть переменную конвейера строкой здесь перед ее использованием?

$json = @"
    $(Json)
"@
0 голосов
/ 13 апреля 2020

Вы можете попробовать следующий формат для файла JSON:

$json = @"
[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "value": "Bug22"
  },
  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.Common.Severity",
    "value": "3 - Medium"
  }
]
"@ | ConvertTo-Json -Compress
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...