Jenkins:用buildWithParameters触发一个作业,给出白/空白屏幕

时间:2014-06-25 08:19:37

标签: jenkins

我正在使用Jenkins版本1.567。我试图通过调用buildWithParameters选项从URL启动Jenkins作业。

我的网址设置如下:

http://myjenkinsserver:8090/job/pc_test/buildWithParameters?token=PC123&Parm1=1

这项工作非常顺利,但是,我看到了一个空白的白色屏幕。所以除非我手动登录Jenkins,否则我不知道该作业是否成功。这不常发生。以前它会显示项目页面,我可以看到我的工作状态。

但我不确定是什么改变了以显示空白页。

有人可以建议一个解决方案,我可以通过URL触发工作,然后查看工作结果吗?

感谢。

4 个答案:

答案 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按钮进行确认。之后,您将被重定向到项目页面。