Can HTML submit button trigger a Jenkins job ?

瀏覽次數:72 次
跳到第一則未讀訊息

Shifa Shaikh

未讀,
2020年11月1日 下午1:49:162020/11/1
收件者:Jenkins Users

My HTML code is like below where i pass the crumb and try to trigger a Jenkins DSL job along with passing parameters:

<html>
<body>
<tr>
<td>
<form action='https://localhost:8080/job/myjob1/buildWithParameters?paramone=myhost1-stop-myfolder -H Jenkins-Crumb:d863847724897hghjtg37684yh4j3y9847dsfhkuhd' method=POST><input type='submit' value='START'/>
</form>
</td>
</tr>
</body>
</html>

On the browser i see the URL as:

https://localhost:8080/job/myjob1/buildWithParameters?paramone=myhost1-stop-myfolder%20-H%20Jenkins-Crumb:d863847724897hghjtg37684yh4j3y9847dsfhkuhdI

I frankly have no idea how can I pass the crumb using HTML submit button.


I had obtained my crumb from https://localhost:8080/crumbIssuer/api/xml


When i click on START button i get 


HTTP ERROR 403 No valid crumb was included in the request


My Jenkins has SAML based SSO for login and I would like the user triggering the START button to login with his credentials hence, I do not pass the credentials in the URL.


The job myjob1 is configured to be triggered remotely.


Also, I'm able to trigger the job using curl utility but not sure how-to using HTML button.


Can you please suggest how to get this to work?

jeremy mordkoff

未讀,
2020年11月2日 中午12:17:002020/11/2
收件者:Jenkins Users
simple answer is no. an href cannot include a headers directive or anything else)


or you could build a proxy that did nothing but add that header. But if you do that, you might as well allow anonymous users to start jobs and then the header becomes superfluous (I think). 

Ivan Fernandez Calvo

未讀,
2020年11月3日 中午12:21:582020/11/3
收件者:Jenkins Users
also, if your authentication is SAML, you will have to use an API Token to call the API. SAML delegate the authentication in your IdP so Jenkins does not process your User and Password only the TOKEN generated by your IdP. 
回覆所有人
回覆作者
轉寄
0 則新訊息