jenkins-通过api获取所有job及最新build信息

日常维护的API接口功能:

前提: python

  1. 获取所有job:
python 复制代码
def get_all_jobs(jenkins_url, username, password):
    url = f"{jenkins_url}/api/json"
    response = requests.get(url, auth=(username, password))
    if response.status_code == 200:
        data = response.json()
        jobs = data["jobs"]
        job_names = [job["name"] for job in jobs]
        return job_names
    else:
        print("Failed to retrieve job information")
        return []

jenkins_url = "http://jenkins.xxxxx.com:8080"
username = "xiaoxiang"
password = "xxxxx"

all_jobs = get_all_jobs(jenkins_url, username, password)

job_list = []

for job_name in all_jobs:
    job_list.append(job_name)
  1. 获取job 最新build时间:
python 复制代码
def get_job_last_build_time(jenkins_url, job_name,username,password):
    url = f"{jenkins_url}/job/{job_name}/lastBuild/api/json"
    #print(url)
    try:
        response = requests.get(url,auth=(username,password))
    #print(response.status_code)
    #try:
        if response.status_code == 200:
            data = response.json()
            st = int(data['timestamp']) / 1000
            st2 = datetime.datetime.fromtimestamp(st)
            return st2.strftime('%Y-%m-%d %H:%M:%S')

        #print(data['lastBuild'])
        #last_build_timestamp = data["lastBuild"]["timestamp"]
        #return last_build_timestamp
        elif response.status_code == 404:
            print('%s: 无构建记录' % job_name)
        else:
            print(f"Failed to retrieve job information for {job_name}")
            return None
    except Exception as e:
        print('%s: 获取参数异常' % job_name)

jenkins_url = "http://jenkins.xxxxx.com:8080"
username = "xiaoxiang"
password = "xxxxx"
get_job_last_build_time(jenkins_url,i,username,password)

其他功能,按需参考。。。

相关推荐
Heo9 小时前
通用会话控制方案
前端·javascript·后端
Heo9 小时前
跨域问题解决方案汇总
前端·javascript·后端
Yuroo zhou9 小时前
石油钻井、HDD、采矿:不同工况下,如何抉择您的陀螺定向短节?
前端·科技·硬件架构·钻井·采矿
shmily麻瓜小菜鸡9 小时前
Element Plus 的 <el-table> 怎么点击请求后端接口 tableData 进行排序而不是网络断开之后还可以自己排序
前端·javascript·vue.js
xiaoxue..10 小时前
深入理解 JavaScript 异步编程:从单线程到 Promise 的完整指南
前端·javascript·面试·node.js
MediaTea10 小时前
Python 第三方库:Markdown(将文本渲染为 HTML)
开发语言·前端·python·html
t***D26410 小时前
前端构建工具缓存策略,contenthash与chunkhash
前端·缓存
倚肆10 小时前
HTMLElement 与MouseEvent 事件对象属性详解
前端·javascript
青衫码上行10 小时前
【Java Web学习 | 第12篇】JavaScript(6)DOM
java·开发语言·前端·javascript·学习
毕设十刻11 小时前
基于Vue的鲜花销售系统33n62(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js