通过jenkins API去build一个job
背景
查看jenkins的api
直接访问 JENKINS_URL/job/JOB_NAME/api/ 就可以查看jenkins的api
build一个job的话,是POST请求 JENKINS_URL/job/JOB_NAME/build
会提示:
这是jenkins的安全策略导致的,需要传递一个crumb
解决方法
有两个方案,
第一种方案:
1. 先去掉jenkins的安全策略设置,如图,去掉勾选
在jenkins全局安全设置中 取消勾选 “防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)”
2. 允许anonymous 访问,如下图,勾选上
3. 设置token,token是针对指定job的,所以去到job中去设置
那么就可以通过POST请求访问 JENKINS_URL/job/test1/build?token=TOKEN_NAME 触发这个job了
第二种方案: 安全这块不用去掉防止跨站点请求伪造,通过传递crumb来实现;但允许anonymous 访问还是要设置的
POST请求的时候带上这个Jenkins-Crumb(推荐这种方法)
访问 JENKINS_URL/crumbIssuer/api/json 就可以获取到你的crumb,当然不同的客户端去访问得到的不一样
备注
将文中的JENKINS_URL替换成你自己的jenkins地址,
JOB_NAME替换成job的名字;
TOKEN_NAME 替换成你自己写的token值,如我上面的jwentest1
通过jenkins API去build一个job的更多相关文章
- jenkins插件set build description使用规则
配置前要注意的点: 先安装插件:set build description 安装该插件后,在[Post-build Actions]栏目中会多出description setter功能,可以实现构建完 ...
- 利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解
本文转载自利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解 导语 由于最近工作需要利用 Jenkins 远程 API 操作 Jenkins 来完成一些列操作,就抽空研究 ...
- 学霸笔记系列 - Python Selenium项目实战(一)—— 怎么去验证一个按钮是启用的(可点击)?
Q: 使用 Python Selenium WebDriver 怎么去验证一个按钮是启用的(可点击)? A:Selenium WebDriver API 里面给出了解决方法is_enabled() 使 ...
- python3 jenkins api操作
一.安装依赖包 pip install python-jenkins 二.常用操作 0.调用jenkins(以下用的server都是这里的环境) import jenkins server = jen ...
- 如何去设计一个自适应的网页设计或HTMl5
如何去设计一个自适应的网页设计或HTMl5 如今移动互联网随着3G的普及,越来越火爆,更多需求跟随而来!APP应用市场和APP应用数量成倍成倍的增长!从而给移动互联网带来新的挑战! 移动设备正超过桌面 ...
- Jenkins下载历史Build版本的归档文件
/root/.jenkins/jobs/zgg-crm-pre/builds//com.zgg$crm/archive/com.zgg/crm/0.0.1/crm-0.0.1.war https:// ...
- 使用faker去构造一个User-Agent
faker可以仿造各种各样的信息,可以使用faker去构造一个User-Agent from faker import Factory f = Factory.create() 'User-Agent ...
- mac 10.13 build 一个 redis desktop manager
build 的东西比较多,性能差的电脑编译会很久. 下载地址:https://redisdesktop.com/download 本来想下载一个,但是发现只有 windows 是免费的,不过官网提供了 ...
- shell中调用jenkins API批量运行历史任务
shell中调用jenkins API批量运行jenkins带参数的任务: #!/bin/sh #startdate=20150127 startdate=20150201 while [ " ...
随机推荐
- [原]Docker部署SuperMap8.1.1
摘要:本文主要实践在Docker上制作SuperMap(超图)V8.1.1镜像,文中将使用 docker commit 方式创新镜像(Dockerfile择机再做).本文中使用的宿主环境及镜像环境都是 ...
- 《笨方法学Python》加分题1
1. 让你的脚本再多打印一行 我将这个题目理解为在脚本中增加一个空行,因此,在脚本中增加一条 print “\n”命令即可python中\为转义符,‘\n’为换行, ‘\t’是tab,‘\\’才是普通 ...
- jquery 判断 元素是否具有某个class
两种方法如下: 1.hasClass(‘classname’) 2.is(‘.classname’) 例子: 1.使用is(‘.classname’)的方法 $('div').is('.redColo ...
- Cmd控制台修改编码方法
Cmd控制台修改编码方法 一.前言 在Unbuntu中用sqlite3-command-line操作sqlite3还好好的,到了windows下查询表内容时发现中文全部乱码了!马上想到sqlite3内 ...
- drf5 版本和认证组件
开发项目是有多个版本的 随着项目的更新,版本就越来越多.不可能新的版本出了,以前旧的版本就不进行维护了 那我们就需要对版本进行控制,这个DRF框架也给我们提供了一些封装好的版本控制方法 版本控制组件 ...
- iOS 系统通知
iOS相当多一部分系统事件实际上都是通过通知来完成的,依赖于通知的广播形式,我们可以在AppDelegate中通过添加空通知来捕捉所有通知: static NSString *const MYNOTI ...
- WPF 依赖属性&附加属性
依赖属性 暂无 附加属性 1.在没有控件源码的前提下增加控件的属性 2.多个控件需要用到同一种属性 使用附加属性可以减少代码量,不必为每一个控件都增加依赖属性 3.属性不确定是否需要使用 在某些上下文 ...
- Android开发 - 设置DialogFragment全屏显示
默认的DialogFragment并不是全屏,但有些需求需要我们将对话框设置为全屏(内容全屏),Android并没有提供直接的API,通过其它不同的方法设置全屏在不同的机型上总有一些诡异的问题,经过测 ...
- Ubuntu 16.04虚拟机调整窗口大小自适应Windows 7
Windows 7上Ubuntu 16.04虚拟机安装成功后,默认的虚拟机窗口比较小,需要适当调整,才能把虚拟机的屏幕放大, 适合使用,以下介绍调整方法. 安装VMware Tools 启动虚拟机, ...
- PHPCMS9.6.0最新版SQL注入和前台GETSHELL漏洞分析 (实验新课)
PHPCMS9.6.0最新版中,由于/modules/attachment/attachments.php的过滤函数的缺陷导致了可以绕过它的过滤机制形成SQL注入漏洞,可导致数据库中数据泄漏. 而且在 ...