API(curl)命令以批准Jenkins中的升级生成作业

API(curl)命令以批准Jenkins中的升级生成作业,curl,jenkins-plugins,jenkins-api,Curl,Jenkins Plugins,Jenkins Api,审批人是否可以使用curl命令批准特定的生成 我正在使用升级的构建插件来手动批准构建 当我尝试下面的curl命令时,它给出了“Error 400 Nothing submitted”。我到处找,但找不到正确的答案。请帮忙 卷曲 当我试图传递JSON数据时,它抛出“错误403请求中未包含有效的碎屑” 命令是 curl--data urlencode json='{&Submit=Approve}' 我把这篇文章作为参考,但运气不好是的,经过大量的即插即用,终于找到了解决方案。。想分享,因为它可以帮

审批人是否可以使用curl命令批准特定的生成

我正在使用升级的构建插件来手动批准构建

当我尝试下面的curl命令时,它给出了“Error 400 Nothing submitted”。我到处找,但找不到正确的答案。请帮忙

卷曲

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

命令是 curl--data urlencode json='{&Submit=Approve}'


我把这篇文章作为参考,但运气不好

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

请注意:crump字段名称与许多stackoverflow答案中提供的答案不同。现在文件名不是“.crumb”,而是“Jenkins crumb”

curl-v-H“Jenkins Crumb:xxxxxxxxxx”-X POST--data urlencode json='{“参数”:[{u类”:“hudson.model.StringParameterValue”,“名称”:“},{u类”:“hudson.model.StringParameterValue”,“名称”:“作业”,“值”:“部署(ZettaDevelopment)”},{u类”:“hudson.model.StringParameterValue”,“名称”:“构建选择”,“值”:“参数”},{“_类”:“hudson.model.StringParameterValue”,“名称”:“参数”,“值”:“参数”}]}”

传递的参数值可以使用

这里的版本号是我手动批准的版本。从输出中,您可以轻松获得要传递的所需参数

希望这能有所帮助,至少对我有用:-)