作者:枫涵笑 | 来源:互联网 | 2022-12-09 17:19
我可以通过将POST调用发送到http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / buildWithParameters来构建具有其参数默认值的Jenkins作业
并且可以通过发送到以下URL来覆盖默认参数“产品”,“套房”和“标记”:
http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / buildWithParameters?product = ALL&suites = ALL&markers = ALL
但是我看到了一些示例,可以通过发送带有新值的JSON正文来覆盖参数。我正在尝试通过发送以下json主体来做到这一点。他们都不适合我。
{
'product': 'ALL',
'suites': 'ALL',
'markers': 'ALL'
}
和
{
"parameter": [
{
"name": "product",
"value": "ALL"
},
{
"name": "suites",
"value": "ALL"
},
{
"name": "markers",
"value": "ALL"
}
]
}
如果要覆盖参数“ product”,“ suites”和“ markers”的值,要发送什么JSON?
1> RaamEE..:
我将保留原始问题,并在此处详细说明触发参数化构建的各种API调用。这些是我使用的通话选项。
附加文档:https : //wiki.jenkins.io/display/JENKINS/Remote+access+API
作业包含3个参数,名称分别为:产品,套件,标记
将参数作为URL查询参数发送到/ buildWithParameters:
http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / buildWithParameters?product = ALL&suites = ALL&markers = ALL
将参数作为JSON数据\有效负载发送到/ build:
http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / build
JSON数据\有效负载不作为调用的json_body发送(这让我感到困惑),但是数据有效负载中的评分器为:
json:'{
"parameter": [
{"name":"product", "value":"123"},
{"name":"suites", "value":"high"},
{"name":"markers", "value":"Hello"}
]
}'
以下是上述每个调用的CURL命令:
curl -X POST -H“ Jenkins-Crumb:2e11fc9 ... 0ed4883a14a” http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / build --user“ raameeil:228366f31 ... f655eb82058ad12d” --form json ='{“ parameter”:[{“ name”:“ product”,“ value”:“ 123”},{“ name”:“ suites”,“ value”:“ high”},{“ name”:“标记”,“值”:“ Hello”}]} '
curl -X POST \' http:// jenkins:8080 / view / Orion_phase_2 / job / test_remote_api_triggerring / buildWithParameters ?product = 234&suites = 333&markers = 555 '\ -H'授权:Basic c2hsb21pb ... ODRlNjU1ZWI4MjAyOGFkMTJk' -control:no-cache'\ -H'jenkins-crumb:0bed4c7 ... 9031c735a'\ -H'postman-token:0fb2ef51 -...-...-...- 6430e9263c3b'
向Python的请求
发送的内容为了在Python中发送上述调用,您需要传递:
标头= jenkins-crumb
auth =您的(user_name,user_auth_token)的元组
数据=字典类型{'json':{“ parameter”:[....]}的json字符串