каков правильный подход к их определению или мне нужно это сделать? Следует ли мне также использовать вкладку «Переменные», чтобы заранее определить их и переопределить значения позже в полезной нагрузке запроса REST?
Вы можете вызвать API REST с переменными времени очереди напрямую parameters
.
Состояние в , которое отправляет :
, если значения переменных конвейера будут изменены во время очереди конвейера, они не могут быть определены в определении YAML конвейера, но с использованием переменных пользовательского интерфейса панель и вкладка «Переменные» на странице «Триггер».
Это означает, что когда вы определяете переменную в файле YMAL, вы не можете изменять ее во время очереди конвейера, но если вы определили ее в пользовательском интерфейсе, вы можете изменить это с переменными времени очереди
Однако мы все еще можем запустить Azure конвейер DevOps с типом YAML через REST API с переменными времени очереди.
В качестве теста я создаю конвейер с типом YAML, например следующие без предопределенных переменных в YAML или UI:
pool:
vmImage: 'ubuntu-latest'
trigger:
branches:
include:
- mster
steps:
- script: echo $(Test)
displayName: 'Do something'
Затем я использую REST API со следующим телом запроса:
{
"parameters": "{\"Test\":\"123\"}",
"definition": {
"id": 66
}
}
* 10 25 * В состоянии покоя конвейер запускается и выдает:
![enter image description here](https://i.stack.imgur.com/jc0KF.png)
Надеюсь, это поможет.