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)

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

相关推荐
因吹斯汀11 小时前
一饭封神:当AI厨神遇上你的冰箱,八大菜系大师在线battle!
前端·vue.js·ai编程
再学一点就睡11 小时前
NATAPP 内网穿透指南:让本地项目轻松 “走出去”
前端
拜无忧12 小时前
2025最新React项目架构指南:从零到一,为前端小白打造
前端·react.js·typescript
稻草人不怕疼12 小时前
记一次从“按钮点不动”到“窗口派发缺失”的排查过程
前端
irving同学4623812 小时前
TypeORM 列装饰器完整总结
前端·后端·nestjs
彭于晏爱编程12 小时前
你真的了解 Map、Set 嘛
前端
崔璨12 小时前
详解Vue3的响应式系统
前端·vue.js
摸鱼的鱼lv12 小时前
🔥 Vue.js组件通信全攻略:从父子传值到全局状态管理,一篇搞定所有场景!🚀
前端·vue.js
IT_陈寒12 小时前
Java性能优化:10个让你的Spring Boot应用提速300%的隐藏技巧
前端·人工智能·后端
whysqwhw12 小时前
Hippy 跨平台框架扩展原生自定义组件的完整实现方案对比
前端