我有一个带输入步骤的Jenkins管道,我想通过脚本提交这个输入(单字符串参数).到目前为止,我正在尝试使用curl,理想情况下我将通过Python请求库发送它.这应该是一个简单的POST请求,但是使用CSRF会变得棘手.我已经获得了Jenkins-Crumb(在这种情况下使用curl,来自同一台机器和相同的bash会话),但仍然无法发送内容......
我正在发送Jenkins-Crumb:XXX标题,就像在https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API上解释的那样
我的请求看起来像这样:
curl -vvv -X POST --user '${USER}:${API_KEY}' -H "Jenkins-Crumb:${JENKINS_CRUMB}" -d 'json="{"parameter":{"name":"${PARAM_NAME}","value":"asd"},"Jenkins-Crumb":"${JENKINS_CRUMB}"}"' 'http://${JENKINS_URL}/job/${JOB_NAME}/${BUILD_NR}/input/'
Run Code Online (Sandbox Code Playgroud)
我正在POST的URL与构建日志中链接的URL(控制台输出)相同.