当前位置: 首页 > article >正文

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

日常维护的API接口功能:

前提: python

1. 获取所有job:

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)

2. 获取job 最新build时间:

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)

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


http://www.kler.cn/a/517641.html

相关文章:

  • 我的2024年年度总结
  • java后端之事务管理
  • 【PowerQuery专栏】PowerQuery的M语言函数Access数据库访问
  • Linux查看服务器的内外网地址
  • 基于SMPL的三维人体重建-深度学习经典方法之VIBE
  • Spring Boot 自动配置
  • hedfs和hive数据迁移后校验脚本
  • Rust 中的引用与借用:深入理解所有权与数据安全
  • 多模态数据融合的基本流程与关键环节
  • elementPlus-button组件二次封装
  • LlamaV-o1:重塑大型语言模型中的逐步视觉推理
  • 最长递增——蓝桥杯
  • javaSE.类的继承
  • 2025.1.24总结
  • TMC2208替代A4988
  • 第38周:猫狗识别 (Tensorflow实战第八周)
  • Flink读写Kafka(Table API)
  • 分享14分数据分析相关ChatGPT提示词
  • 如何设计浪漫风格的壁纸
  • 低代码开发:效率革命与市场机遇
  • YOLOv10-1.1部分代码阅读笔记-model.py
  • C++入门14——set与map的使用
  • c#实现重启Explorer.exe并且启动某个命令
  • CSS 提示工具:优化网页设计,提升用户体验
  • 关于BAR(PCIE BAR或AXI BAR)的解释
  • 广西螺蛳粉:舌尖上的美食传奇