我实际上试图对jenkins进行一些API调用以触发构建.
实际上,我面临两个问题:
在不受限制的环境中,我不需要连接来触发作业,我应该发送一个POST请求:
http://address/job/jobId/build?delay=0sec
在做这个时,我得到以下输出告诉我,我没有令牌值:
Error 401 Invalid password/token for user: HTTP ERROR 401
Problem accessing /job/Di%20Injector/build. Reason:
Invalid password/token for user:
Powered by Jetty://
我在哪里可以获得这些信息?
在受限制的环境中,我必须先登录才能做出任何工作,或者触发新的构建.事实是我不知道,我找不到要发送到服务器以获取访问权限的url/verb/params.
你能帮我这个吗?
解决方案是为Jenkins用户(或Jenkins构建用户)生成API令牌.
转到您的用户的以下链接:
http://YOUR_JENKINS_URL/user/YOUR_JENKINS_USER_ID/configure
从此部分复制user_id和令牌:
并启动以下命令以触发构建:
curl -X POST http://YOUR_JENKINS_USER_ID:YOUR_API_TOKEN@YOUR_JENKINS_URL/job/YOUR_JENKINS_JOB/build
我在我的https Jenkins服务器上做了一个快速测试.
没有令牌,我收到了这条消息:
Authentication required
使用user_id/token,使用curl命令构建正常:)