在jenkins中,我如何看到上次构建是通过他的xml文件运行的?
我在詹金斯有1000多份工作, 为了清理未使用的工作,我想检查所有这些文件。 推荐的方法是什么 我猜在每个作业“xml”文件中都有一个指示,指示它上次运行的时间,在jenkins中,我如何看到上次构建是通过他的xml文件运行的?,jenkins,Jenkins,我在詹金斯有1000多份工作, 为了清理未使用的工作,我想检查所有这些文件。 推荐的方法是什么 我猜在每个作业“xml”文件中都有一个指示,指示它上次运行的时间, 有人能告诉我这个文件的位置吗?我想你不能一步到位。但是你可以分两步来完成 使用以下内容查找所有作业的URL: 使用从步骤1返回的URL获取有关每个作业的更多信息: url-from-step1/api/json 这将为您提供healthreport、上次失败/成功构建等信息。如果您需要有关这些构建的更多信息,您可以通过以下方式提出新
有人能告诉我这个文件的位置吗?我想你不能一步到位。但是你可以分两步来完成
url-from-step1/last-build-number/api/json
我建议使用JSON,并使用JQ(,)解析JSON
快乐编码 您可以利用。以下URL可能与您相关:
- https://ci.jenkins-ci.org/api/xml?tree=jobs[名称]--获取作业列表
- https://ci.jenkins-ci.org/job/{jobName}/lastBuild/buildTimestamp?format=yyyy-MM-dd-HH-MM-ss——获取作业{jobName}的上次生成时间
#!/bin/bash
jenkinsUrlBase='https://ci.jenkins-ci.org'
callJenkins() {
curl --silent --show-error -g "$jenkinsUrlBase${1}"
}
callJenkins '/api/xml?tree=jobs[name]' | xmlstarlet sel -t -v '//hudson/job/name' | while read projectName ; do
timestamp=$(callJenkins "/job/${projectName}/lastBuild/buildTimestamp?format=yyyy-MM-dd-HH-mm-ss")
echo "Last build of ${projectName}: ${timestamp}"
done
您可以利用${JENKINS_HOME}中的目录和文件结构:
cd ${JENKINS_HOME}/jobs/${JOB_NAME}/builds
ls -lt | head -2 | tail -1 | awk '{print $9}'
示例输出:
2015-08-13_11-48-25
我最终通过“查看作业过滤器”插件过滤作业 您可以使用“按生成趋势筛选”选项,如下所示: 为“所有作业”创建视图->转到编辑视图->在“添加作业筛选器”中选择“构建趋势筛选器”->选择所需的筛选器 这就是我所做的: