使用 Azure Build API 将参数传递给 azure yaml 管道时遇到问题
Facing issue while passing parameter to azure yaml pipeline using Azure Build API
我尝试在下面的管道中使用参数 ::
- 名称:var1
显示名称:var1
类型:字符串
默认值:变量 2
价值观:
- 变量2
- 变量 3
- 变量4
现在当我试图被 postman 击中并在下面的 body 中传递参数时
post 调用 --> https://dev.azure.com///_apis/build/builds? api-版本=5.0
正文 -->
{
“定义”:{“id”:1234},
“var1”:“变量1”
}
仍然是当我在管道中获取参数值时..我得到的是默认值,而不是我使用 api 传递的值。
echo "传递的变量是 ${{ parameters.var1 }}"
output --> 传递的变量是 variable2
谢谢
沙拉德
这是我们已向产品团队报告的问题:https://developercommunity.visualstudio.com/content/problem/1000544/parameters-to-api-rest-build-queue-method.html
目前,作为一种解决方法,我们可以使用下面未记录的 REST API(由开发工具跟踪)通过传递参数来触发 YAML 管道。
POST https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineID}/runs?api-version=5.1-preview.1
Content-Type: application/json
Accept: application/json
Request body:
{
"stagesToSkip":[],
"resources":{
"repositories":{
"self":{
"refName":"refs/heads/master"
}
}
},
"templateParameters":{
"image":"ubuntu-16.04",
"var1":"variable1"
},
"variables":{}
}
供您参考的yaml文件:
parameters:
- name: image
displayName: Pool Image
type: string
default: ubuntu-latest
values:
- windows-latest
- vs2017-win2016
- ubuntu-latest
- ubuntu-16.04
- macOS-latest
- macOS-10.14
- name: var1
displayName: var1
type: string
default: variable2
values:
- variable1
- variable2
- variable3
- variable4
trigger: none
jobs:
- job: build
displayName: build
pool:
vmImage: ${{ parameters.image }}
steps:
- script: echo building $(Build.BuildNumber) with ${{ parameters.image }}
- script: echo building $(Build.BuildNumber) with ${{ parameters.var1 }}
我尝试在下面的管道中使用参数 ::
- 名称:var1
显示名称:var1
类型:字符串
默认值:变量 2
价值观:
- 变量2
- 变量 3
- 变量4
现在当我试图被 postman 击中并在下面的 body 中传递参数时
post 调用 --> https://dev.azure.com/
{ “定义”:{“id”:1234}, “var1”:“变量1” }
仍然是当我在管道中获取参数值时..我得到的是默认值,而不是我使用 api 传递的值。
echo "传递的变量是 ${{ parameters.var1 }}" output --> 传递的变量是 variable2
谢谢 沙拉德
这是我们已向产品团队报告的问题:https://developercommunity.visualstudio.com/content/problem/1000544/parameters-to-api-rest-build-queue-method.html
目前,作为一种解决方法,我们可以使用下面未记录的 REST API(由开发工具跟踪)通过传递参数来触发 YAML 管道。
POST https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineID}/runs?api-version=5.1-preview.1
Content-Type: application/json
Accept: application/json
Request body:
{
"stagesToSkip":[],
"resources":{
"repositories":{
"self":{
"refName":"refs/heads/master"
}
}
},
"templateParameters":{
"image":"ubuntu-16.04",
"var1":"variable1"
},
"variables":{}
}
供您参考的yaml文件:
parameters:
- name: image
displayName: Pool Image
type: string
default: ubuntu-latest
values:
- windows-latest
- vs2017-win2016
- ubuntu-latest
- ubuntu-16.04
- macOS-latest
- macOS-10.14
- name: var1
displayName: var1
type: string
default: variable2
values:
- variable1
- variable2
- variable3
- variable4
trigger: none
jobs:
- job: build
displayName: build
pool:
vmImage: ${{ parameters.image }}
steps:
- script: echo building $(Build.BuildNumber) with ${{ parameters.image }}
- script: echo building $(Build.BuildNumber) with ${{ parameters.var1 }}