我正在使用Jenkins版本1.567。我试图通过调用buildWithParameters选项从URL启动Jenkins作业。
我的网址设置如下:
http://myjenkinsserver:8090/job/pc_test/buildWithParameters?token=PC123&Parm1=1
这项工作非常顺利,但是,我看到了一个空白的白色屏幕。所以除非我手动登录Jenkins,否则我不知道该作业是否成功。这不常发生。以前它会显示项目页面,我可以看到我的工作状态。
但我不确定是什么改变了以显示空白页。
有人可以建议一个解决方案,我可以通过URL触发工作,然后查看工作结果吗?
感谢。
答案 0 :(得分:0)
触发作业后,您可以使用Jenkins API检查其状态。
有关详细信息,请参阅http://your-jenkins-host/api/
。查看文档。
我希望这会有所帮助。
答案 1 :(得分:0)
您需要向POST
发出http://myjenkinsserver:8090/job/pc_test/build
次请求,并在请求正文中json
(值必须为 url encoded )参数。你的例子的主体是(不是网址编码,所以它很容易阅读):
json={"parameter": {"name": "Parm1", "value": "1"}, "statusCode": "303", "redirectTo": "."}
这里是url编码版本(使用此版本):
json=%7B%22parameter%22%3A%20%7B%22name%22%3A%20%22Parm1%22%2C%20%22value%22%3A%20%221%22%7D%2C%20%22statusCode%22%3A%20%22303%22%2C%20%22redirectTo%22%3A%20%22.%22%7D
还要确保设置Content-Type: application/x-www-form-urlencoded
使用curl的完整示例:
curl --data "json=on=%7B%22parameter%22%3A%20%7B%22name%22%3A%20%22Parm1%22%2C%20%22value%22%3A%20%221%22%7D%2C%20%22statusCode%22%3A%20%22303%22%2C%20%22redirectTo%22%3A%20%22.%22%7D" http://myjenkinsserver:8090/job/pc_test/build --verbose
答案 2 :(得分:0)
这是一个老问题,但关于此问题的信息仍然相当稀少。
这是添加"部署"的示例。按钮到Jenkins 2.89.4上的构建描述:
pipeline {
agent any
stages {
stage('Sample') {
steps {
sh 'echo "Sample"'
}
}
post {
success {
script {
currentBuild.description = "<form method='post' action='/job/sine-deploy/build'><input name='json' type='hidden' value=\"{'parameter': {'name': 'TRIGGERED_FROM_BUILD', 'runId': '${JOB_NAME}#${BUILD_NUMBER}'}, 'statusCode': '303', 'redirectTo': '/job/sine-deploy/'}\" /><input name='Submit' type='submit' value='Deploy' class='submit-button primary' /></form>"
}
}
}
}
}
需要启用安全HTML才能使表单生效。
答案 3 :(得分:0)
一种合适的解决方法是使用build-with-parameters plugin。
将URL更改为:
http://myjenkinsserver:8090/job/pc_test/
parambuild
?token=PC123&Parm1=1
这将向您显示带有所选构建参数的页面。您需要单击Build
按钮进行确认。之后,您将被重定向到项目页面。