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)

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

相关推荐
懂懂tty14 小时前
React状态更新流程
前端·react.js
小码哥_常14 小时前
告别繁琐!手把手教你封装超实用Android原生Adapter基类
前端
HoneyMoose14 小时前
Jenkins Cloudflare 部署提示错误
java·servlet·jenkins
skywalk816314 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
一只蝉nahc15 小时前
vue使用iframe内嵌unity模型,并且向模型传递信息,接受信息
前端·vue.js·unity
子兮曰16 小时前
Bun v1.3.12 深度解析:新特性、性能优化与实战指南
前端·typescript·bun
2401_8858850416 小时前
易语言彩信接口怎么调用?E语言Post实现多媒体数据批量下发
前端
a11177616 小时前
Three.js 的前端 WebGL 页面合集(日本 开源项目)
前端·javascript·webgl
Kk.080216 小时前
项目《基于Linux下的mybash命令解释器》(一)
前端·javascript·算法
小李子呢021117 小时前
前端八股---闭包和作用域链
前端