gpt4 book ai didi

curl - 在 Jenkins 中批准升级构建作业的 API (curl) 命令

转载 作者:行者123 更新时间:2023-12-01 15:14:31 24 4
gpt4 key购买 nike

有什么方法可以让审批者使用 curl 命令批准特定构建?

我正在使用 Promoted Builds 插件来手动批准构建。

当我在 curl 命令下尝试时,它给出“错误 400 未提交任何内容”。我到处搜索但无法得到正确的答案。请帮忙

curl http://admin:XXXXXXXXXXXX@JENKINS_URL/job/JOB_NAME/129/promotion/promotionProcess/PromoteForTesting/promotionCondition/hudson.plugins.promoted_builds.conditions.ManualCondition/approve?token=abcde1234

当我尝试传递 JSON 数据时,它抛出“错误 403 请求中未包含有效的碎屑”

命令是 curl http://admin:XXXXXXXXXXXX@JENKINS_URL/job/JOB_NAME/129/promotion/promotionProcess/PromoteForTesting/promotionCondition/hudson.plugins.promoted_builds.conditions.ManualCondition/approve?token=abcde1234 --data-urlencode json='{&Submit=Approve}'

我关注了这个API support for manual approval of promoted builds in Jenkins?发布作为引用但没有运气

最佳答案

是的,经过多次即插即用后终于找到了解决方案。想分享一下,因为它可以帮助其他人。首先,我传递的 Json 值不正确,并且没有促销期望的所有参数。其次,因为我启用了 CSRF 保护,所以 HTTP 请求应该有一个有效的碎屑。所以我所做的是我手动批准了一些虚拟工作并获得了成功提升工作的 JSON。它包含所有传递的参数。所以它帮助我获得了应该从 CURL 命令传递的所有参数。所以最后工作 URL 在下面。您可以根据需要向 JSON DATA 传递/删除任何其他参数。

请注意:crumb 字段名称已根据许多 stackoverflow 答案中提供的答案进行了更改。现在文件名不是“.crumb”而是“Jenkins-Crumb”

curl -v -H "Jenkins-Crumb:XXXXXXXXXXX"-X POST http://USER:TOKEN@JENKINS_URL/job/JOB_NAME/JOB_NUMBER/promotion/promotionProcess/PromoteForTesting/promotionCondition/hudson.plugins.promoted_builds.conditions.ManualCondition/approve --data-urlencode json='{"parameters":[{"_class":"hudson.model.StringParameterValue","name":"PARAMETER","value":""},{"_class":"hudson .model.StringParameterValue","name":"Job","value":"Deploy(ZettaDevelopment)"},{"_class":"hudson.model.StringParameterValue","name":"BuildSelection","value":"PARAMETER"},{"_class":"hudson.model.StringParameterValue","name":"PARAMETER","value":"PARAMETER"}]}'

传递的参数值是使用http://USER:TOKEN@JENKINS_URL/job/JOB_NAME/JOB_NUMBER/promotion/promotionProcess/PromoteForTesting/promotionBuild/Build_NUMBER/api/json 找到的

此处 Build_NUMBER 是我手动批准的构建。从输出中您可以轻松获得要传递的所需参数。

希望这至少对我有用:-)

关于curl - 在 Jenkins 中批准升级构建作业的 API (curl) 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39920650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com