python获取Jenkins当月构建Job所有信息
时间: 2024-09-11 17:12:47 浏览: 46
要使用Python获取Jenkins当月构建Job的所有信息,你可以使用Jenkins提供的REST API。首先,你需要确定你有权限访问Jenkins服务器上的API,并且了解你的Jenkins服务器的URL和Job的名称。
以下是使用Python获取Jenkins当月构建Job所有信息的一般步骤:
1. 导入Python的`requests`模块,用于发送HTTP请求。
2. 使用Jenkins的REST API获取特定Job的所有构建信息。
3. 解析返回的JSON数据以获取所需的信息。
下面是一个简单的代码示例,展示如何获取Jenkins Job的当月构建信息:
```python
import requests
from datetime import datetime
import json
# Jenkins的URL
jenkins_url = "http://your-jenkins-server.com"
# Job的名称
job_name = "your-job-name"
# 当前月份的第一天和最后一天
current_month = datetime.now().month
first_day_of_month = datetime.now().replace(day=1)
last_day_of_month = first_day_of_month.replace(month=current_month % 12 + 1, day=1) - timedelta(days=1)
# 构建请求的URL
url = f"{jenkins_url}/job/{job_name}/api/json?tree=allBuilds[timestamp,id,result,duration,building,actions[parameters[name,value]]]"
# 发送GET请求
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析JSON数据
all_builds_info = response.json()['allBuilds']
# 过滤当月的构建信息
filtered_builds = [build for build in all_builds_info if first_day_of_month.timestamp() * 1000 <= build['timestamp'] <= last_day_of_month.timestamp() * 1000]
# 打印或处理构建信息
print(json.dumps(filtered_builds, indent=4, sort_keys=True))
else:
print("请求失败,状态码:", response.status_code)
```
在运行此脚本之前,请确保替换`your-jenkins-server.com`和`your-job-name`为实际的Jenkins服务器地址和Job名称。
注意,你可能需要使用Jenkins的用户名和密码进行认证,可以通过`requests.auth.HTTPBasicAuth`或者在请求头中添加Jenkins的CRUMB(防止跨站请求伪造)。
阅读全文