从CLI触发詹金斯的工作

时间:2019-01-29 12:43:45

标签: bash jenkins continuous-integration

基于this,我试图触发自己的Jenkins构建。

首先,我尝试仅从主页连接到Jenkins和GET数据:

curl -X GET -u $u:$p http://$ip

不出所料,这给了我整个html页面。

我再次尝试:

curl -X GET -u $u:$p http://$ip/job/$j

其中j是我要触发的工作(输入Jenknis时,我可以选择某个工作,并转到具有以下地址的页面:http://ip/job/j/

但是,这没有产生任何输出(至少没有错误)

然后,我尝试单击Jenkins上的“使用参数构建”选项卡,发现导航到的页面的地址后缀为build?delay=0sec

所以我尝试添加它,然后又得到了一些输出。

现在,所有这一切都只是一个POC,以表明我可以访问正确的IP,但是当尝试使用POST和基本上同一行(即curl -X POST -u $u:$p http://$ip/job/$j/build?delay=0sec;SOME_PARAM=FOO)实际触发构建时,此输出失败:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 403 No valid crumb was included in the request</title>
</head>
<body><h2>HTTP ERROR 403</h2>
<p>Problem accessing /job/hailo_nightly/build. Reason:
<pre>    No valid crumb was included in the request</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/>

</body>
</html>

我错了什么?

也尝试使用curl --user <your_jenkins_username>:<your_jenkins_API_key> http://<jenkins_server_url>/job/<your_jenkins_job_name>/build from here,但这与GET相同

0 个答案:

没有答案