我正在尝试使用Jira通过构建REST API传递参数,但它无法覆盖该参数。
管道:
parameters:
- name: "Testplan"
type: string
default: "NoPlanDefined"
stage: Test
jobs:
- job: Testing_And_Transfer
- task: PowerShell@2
displayName: "Testing API Call"
inputs:
targetType: 'filepath'
filePath: './script/Jira.ps1'
arguments:
-Jira_id ${{ parameters.Testplan }}
Jira.ps1内容:
Param(
[string]$Jira_id = "no ID"
)
#-----------------------Jira API--------------------------
echo 'This is a test \n ID: '
echo $Jira_id
我的REST命令设置如下:
URL: https://dev.azure.com/{My corp}/MyHello/_apis/build/builds?api-version=6.0
正文:
{
"definition": {
"id": 1
},
"parameters": "{ \"Testplan\":\"Postman\" }"
}
- 使用触发器时,ps1返回NoPlanDefined,符合预期。
- 使用手动触发器并更改参数时,参数会按预期更改。
- 尝试通过Rest API更改参数时,Postman为空而不是Testplan。
我在使用REST API时有做错什么吗?
templateParameters
是一个对象而不是字符串。因此,在有效载荷中,参数属性变为"parameters": { Testplan: "Postman" }
。 - Mihai Albert