zoukankan      html  css  js  c++  java
  • 通过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

  • 相关阅读:
    Volley(二)—— 基本Request对象 & RequestQueue&请求取消
    进程ps、kill 、grep
    vi常用命令
    查看linux系统版本
    linux下U盘的读取
    linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
    Python 列表
    Python 数据运算
    Python pyc知识了解
    Python for循环
  • 原文地址:https://www.cnblogs.com/jwentest/p/8204421.html
Copyright © 2011-2022 走看看