首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从python脚本获取jenkins构建状态

从python脚本获取Jenkins构建状态可以通过Jenkins提供的API来实现。以下是一个完善且全面的答案:

Jenkins是一个开源的持续集成和交付工具,它可以帮助开发团队自动化构建、测试和部署软件项目。通过Jenkins提供的API,我们可以从Python脚本中获取Jenkins构建状态。

Jenkins提供了多种API接口,其中最常用的是REST API。通过REST API,我们可以获取Jenkins的各种信息,包括构建状态。

获取Jenkins构建状态的步骤如下:

  1. 导入必要的Python库,如requests库,用于发送HTTP请求。
代码语言:txt
复制
import requests
  1. 设置Jenkins的URL和认证信息。如果Jenkins设置了安全认证,需要提供用户名和API Token或密码。
代码语言:txt
复制
jenkins_url = "http://jenkins.example.com"
username = "your_username"
api_token = "your_api_token"
  1. 构建API请求的URL。根据Jenkins的API文档,构建状态可以通过以下URL获取:
代码语言:txt
复制
api_url = f"{jenkins_url}/job/{job_name}/{build_number}/api/json"

其中,job_name是Jenkins中的任务名称,build_number是构建号。

  1. 发送HTTP请求获取构建状态。
代码语言:txt
复制
response = requests.get(api_url, auth=(username, api_token))
  1. 解析API响应并获取构建状态。
代码语言:txt
复制
if response.status_code == 200:
    data = response.json()
    result = data["result"]
    print(f"The build status is: {result}")
else:
    print("Failed to retrieve build status")

在上述代码中,我们首先检查HTTP响应的状态码是否为200,表示请求成功。然后,我们解析API响应的JSON数据,并从中提取构建状态。

根据Jenkins构建状态的不同,result可能是以下几种值之一:

  • SUCCESS:构建成功
  • FAILURE:构建失败
  • UNSTABLE:构建不稳定
  • ABORTED:构建被中止
  • NOT_BUILT:未构建

根据获取的构建状态,我们可以根据实际需求进行相应的处理。

腾讯云提供了云原生解决方案,其中包括容器服务、容器注册表、容器镜像构建等产品,可以帮助开发团队更好地管理和部署容器化应用。您可以参考腾讯云容器服务(TKE)的相关文档了解更多信息:腾讯云容器服务(TKE)

以上是关于从Python脚本获取Jenkins构建状态的完善且全面的答案。希望对您有帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

jenkins拉取gitlab代码_python 获取jenkins构建信息

前言 python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了 新建项目 打开Jenkins新建一个自由风格的项目 源码管理 Repository...URL 代码仓库地址 Credentials git仓库登陆的账号和密码凭证 指定分支(为空时代表any)分支默认*/master 构建shell脚本 执行shell,先pip3安装requirements.txt.../python3/lib/python3.7/site-packages/idna-2.8.dist-info/INSTALLER' Consider using the `--user` option.../python3/bin/pytest [root@3be4b6cd9b8c]# ln -s /var/jenkins_home/python3/bin/pytest /usr/bin/pytest [...root@3be4b6cd9b8c]# pytest --version pytest 6.2.1 构建job 上面需要的环境都安装完成后,执行shell的时候,直接输入pytest命令就可以执行自动化的脚本

74430
  • jenkins自动触发构建_jenkins调用bat脚本

    前言 跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。...jenkins的定时任务是用的crontab语法 定时构建语法 五颗星,中间用空格隔开 * * * * * 第一颗*表示分钟,取值0~59 第二颗*表示小时,取值0~23 第三颗*表示一个月的第几天...,取值1~31 第四颗*表示第几月,取值1~12 第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日 例子 1.每30分钟构建一次: H/30 * * * * 2.每2个小时构建一次...H H/2 * * * 3.每天早上8点构建一次 0 8 * * * 4.每天的8点,12点,22点,一天构建3次 0 8,12,22 * * * (多个时间点,中间用逗号隔开) 定时构建(Build...periodically) 定时构建(Build periodically):周期性进行项目构建,这个是到指定的时间必须触发构建任务.

    1.2K10

    Python-jenkins模块获取jobs的执行状态操作

    1 获取jobs的当前任务状态 server_1 = jenkins.Jenkins(‘http://%s:%s@192.168.37.134:8081/’,username, password)...获取状态前先确认2019文件夹下的get_node_list任务是否存在: server_1.assert_job_exists(‘2019/get_node_list’) 获取最后一次完成(不包括执行中的...job状态应该还包括running,pending状态,那么获取job的当前状态正确姿势如下: job_name = '2019/get_node_list' def get_jobs_status(job_name...26的状态,这时候也许你想获取25的状态,26是不小心误操作触发的,这个时候任务的最新状态也许就无法满足预期要求,或者是支持并发构建的job场景中就不适用了,关键还是需要结合应用场景制定对应的方案。...模块获取jobs的执行状态操作就是小编分享给大家的全部内容了,希望能给大家一个参考。

    3K30

    Jenkins自动构建发布镜像脚本

    大体流程如下:     1、提交代码到SVN     2、拉取代码到本地     3、执行maven package 打包     4、生成Dockerfile     5、构建、标签、推送镜像    ...6、发送邮件通知 主要分两个脚本,一个是jenkins配置的构建脚本,一个是构建推送以及邮件脚本,首先上Jenkins脚本 ###### ===* ***************************...************************* *== ###### ############ 开发人员在此位置一下添加程序编译过程 ####### #EVN_HOME jenkins全局变量控制...=======docker start=====================" #将文件传输到远程docker机器 scp -r -i ~/.ssh/id_rsa ${Archive_abs} jenkins...==" echo "===================end ==================" 这里注意最后的sh email.sh这句命令,email.sh是由pushimage.sh这个脚本生成

    1.5K30

    jenkins执行python脚本的方法

    jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍。还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑。...用Execute Windows batch command执行python脚本 ? 3. 用Execute shell执行python脚本,注意开始要写#!python.exe ?...以上三种方法需要在搭建jenkins的机器上安装python环境,并在jenkins的系统添加一个python安装路径的全局变量,键名试过写“python”或“Path”都ok。 ?...卸载之前的python环境,先安装了一个python3.5.1 的32位的安装包结果依然不行。 2. 我用的jenkins也不是最新版,怀疑是不是对python3的支持不好。...卸载之前的版本,安装了2.7.8的版本的python之后,采用3种方法运行python脚本都可以正确运行。但还是要记得在系统设置里添加python的安装路径才可以。

    8.8K20

    Jenkins Pipeline脚本优化:为Kubernetes应用部署增加状态检测

    在本篇博客中,作为一位资深运维工程师,我将分享如何将Jenkins Pipeline进化至不仅能支持部署应用直至Running状态检测,同时也能兼顾Deployment和StatefulSet资源的轮询更新...初始Jenkins Pipeline分析参照前文:Jenkins Pipeline 脚本优化实践:繁琐到简洁,初始化pipeline如下:pipeline { agent none // Use...Pipeline定义了一个基本的CI/CD流程,涵盖了代码拉取、Docker镜像构建、推送及在Kubernetes环境中的部署。...sleep(sleepTime) } } catch (Exception e) { echo "获取更新状态时发生错误:${e.getMessage...Pipeline代码详细定义参照本文开头给出的代码总结本篇博客通过对Jenkins Pipeline的进化过程展开讲解,展现了如何从简单的部署任务转变为一个健壮且兼顾各类工作负载状态监测的CI/CD流程

    57632

    gerrit触发jenkins执行脚本自动构建rpm包

    本文只涉及一部分,本文讲的是利用gerrit工具和jenkins工具在开发代码被review通过后merge到主干的时候触发rpm自动构建脚本,自动生成rpm包的过程。...编写模块的rpm build脚本,并将脚本内容填入构建执行脚本文本框中 如guardian模块的打包脚本 [root@promote ttt]# cat guardian_build_script.sh...git clone ssh://hanwei@gerrit.cmss.com:29418/EC_Openstack/guardian cd guardian git checkout kilo_dev python...进行任务构建(执行该模块的rpm build脚本) 可以看到第5次构建是由gerrit triger触发进行的。...并完成打包rpm,jenkins的console output输出脚本执行打印的信息。 ? ? jenkins在执行打包脚本可能需要root权限,默认是jenkins用户执行的。

    3.1K61

    Jenkins Pipeline 脚本优化实践:繁琐到简洁

    本文将介绍一次繁琐Pipeline脚本到精简Pipeline脚本的转化过程,以及这种转化所带来的好处。...在每个 stage 的 steps 中,都使用了类似的脚本来操作 git、构建 docker 镜像和部署到 Kubernetes。 使用了冗长的 shell 脚本来绑定变量和执行部署。...这种写法虽然直观,但存在以下问题: 代码冗余:相同的任务(例如构建与部署)重复编写了多次。 低效的修改:一旦需要调整构建或部署流程,需要同时修改多个类似的代码段。...执行效率提升:使用 parallel 来并行构建 Docker 镜像降低了整体构建时间。 可扩展性增加:如果将来要增加新的镜像构建或者 Kubernetes 部署,只需很少的修改即可。...总结来说,通过优化 Jenkins Pipeline 脚本,我们不仅提高了流程的效率,还大大减小了维护成本。在持续集成和持续部署的实践中,拥有一个简洁和高效的 Pipeline 是至关重要的。

    74852

    Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    设置这个值为0对于Jenkins移除一个失效的节点非常有用,并且不会丢失配置信息 远程工作目录: 指定slave的工作目录路径。...这种模式下,jenkins会尽量保持salve在线。如果不通过用户援助,启动slave, 如果slave不可获取jenkins将周期性的尝试启动slave。...In demand delay:告诉Jenkins如果有Job需要在此节点构建,需要在任务队列等待多长时间才会进入任务状态进行构建 Idle delay:告诉Jenkins多少分钟内如果没有Job需要构建就离线...配置完后,查看Slave状态如下: ?...构建时,会自动执行远程主机(192.168.30.174)上的python项目脚本 附pdf版下载地址: 为Jenkins添加Windows Slave远程执行python项目脚本.pdf

    2.5K30

    Python调用Ant构建时根据构建状态来决定命令行退出状态

    在使用python执行Ant构建时遇到的问题: 使用os.system()调用Ant构建时,不论构建成功还是失败(BUILD SUCCESSFUL/BUILD FAILED),命令行的总是正常退出...要解决问题: 首先想到的是获取ant命令的返回值,根据返回值来决定命令行的退出状态(0或非0,0代表正常退出) 查阅相关资料,得知python调用系统命令的函数有:os.system、os.popen.../BUILD FAILED),命令行总是正常退出(返回值为 0) 结论:命令行退出状态(即返回值)与Ant构建状态无关,只是表示Ant构建是否正常执行完毕的状态 既然命令行退出状态(即返回值...)与Ant构建状态无关, 那么只有 解析命令行输出结果,根据构建成功或失败来决定命令行退出状态 于是,使用os.popen()命令获得输出结果并解析返回状态值 具体Python脚本DEMO...Python.exe # python version 2.7.8 # -*- coding: utf-8 -*- "调用Ant执行构建,并返回构建结果" __author__ = "donhui"

    1K20
    领券