gpt4 book ai didi

java - 导出 Jenkins 工作的构建历史

转载 作者:行者123 更新时间:2023-11-29 08:26:10 25 4
gpt4 key购买 nike

我能否以任何常规文件格式导出构建历史及其时间/日期和成功。并希望获得晋升地位。

最佳答案

您可以使用 Jenkins rest api :

  1. 开始于:使用以下方法遍历 Jenkins 服务器上的所有作业:
    http://JENKINS_URl/api/json?tree=jobs[name,url]
    这将为所有具有作业名称和作业 URL 的作业提供 json 响应。
  2. 然后为每个作业使用 api 访问其构建:
    http://JENKINS_URL/job/JOB_NAME/api/json?tree=allBuilds[number,url]
    这将为作业 JOB_NAME 提供所有构建并返回带有构建号和构建 url 的 json 响应。
  3. 现在使用 api 遍历每个构建:
    http://JENKINS_URL/job/JOB_NAME/BUILD_NUMBER/api/json
    这会将与构建相关的所有内容都作为 json 响应提供。比如构建状态、构建的触发方式、时间等。

对于自动化,您可以使用 bash、curl 和 jq 来实现。

已编写小型 bash 脚本来检索 Jenkins 服务器上每个作业的构建状态和时间戳:

#!/bin/bash
JENKINS_URL=<YOUR JENKINS URL HERE>
for job in `curl -sg "$JENKINS_URL/api/json?tree=jobs[name,url]" | jq '.jobs[].name' -r`;
do
echo "Job Name : $job"
echo -e "Build Number\tBuild Status\tTimestamp"
for build in `curl -sg "$JENKINS_URL/job/$job/api/json?tree=allBuilds[number]" | jq '.allBuilds[].number' -r`;
do
curl -sg "$JENKINS_URL/job/$job/$build/api/json" | jq '(.number|tostring) + "\t\t" + .result + "\t\t" + (.timestamp|tostring)' -r
done
echo "================"
done

注意:以上脚本假定 Jenkins 服务器没有任何身份验证。对于身份验证,将以下参数添加到每个 curl 调用:
-u 用户名:API_TOKEN
地点:
username:API_TOKEN 加上你的用户名和密码/API_Token

您可以采用类似的方式以您想要的任何格式导出所有构建历史记录。

关于java - 导出 Jenkins 工作的构建历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52866480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com