我遇到了一个问题,我想用参数“BuildVersion”替换正文中下面的文本“Test to Output”。API POST在硬编码时可以工作,但我想让它写回运行时捕获的AUT的exe,并添加到currentBuild。description,但就是搞不懂语法。有人能给我指出正确的方向吗?这是一个Jenkins脚本与PowerShell用于POST请求。
def BuildVersion = currentBuild.description
echo BuildVersion
powershell '''
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization", "token")
$body = "{`n `"value`": `"Test to Output`"`n}"
$response = Invoke-RestMethod 'https://api.clickup.com/api/v2/task/task_id/field/field_id' -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json
'''
}
1条答案
按热度按时间ao218c7q1#
使用
withEnv
将Groovy变量作为环境变量传递到PowerShell中。这比使用字符串插值法更安全,因为字符串插值法容易受到脚本注入的影响。使用
powershell returnStdout: true
以字符串形式获取PowerShell的输出,然后使用JsonSlurper
将其解析回对象。我不知道REST API中JSON的格式,所以我写了???来代替您必须使用的JSON路径。