我在詹金斯有超过1000个工作岗位, 我想通过所有这些来清理未使用的工作。 建议的方法是什么?
我想在每个作业“xml”文件中都有一个指示它上次运行的时间, 谁能指出我这个文件的位置?
答案 0 :(得分:1)
我最终通过" 查看作业过滤器"来过滤作业。插件,
您可以按照以下步骤使用"按构建趋势过滤" 选项:
为"所有工作"创建一个视图 - >转到编辑视图 - >在"添加作业过滤器"选择"构建趋势过滤器" - >选择你想要的过滤器。
这就是我所做的:
答案 1 :(得分:0)
我认为你不能一步到位。但是你可以分2步完成。
使用以下方法查找所有作业的网址:
使用从步骤1返回的网址获取有关每项工作的详细信息:
URL从 - 步骤1 / API / JSON
这将为您提供健康报告,上次失败/成功构建等。如果您需要有关这些版本的更多信息,您可以通过以下方式提出新请求:
url-from-step1/last-build-number/api/json
我建议使用JSON,并使用JQ(http://stedolan.github.io/jq/,https://jqplay.org/)来解析您的JSON
快乐的编码!
答案 2 :(得分:0)
您可以利用REST API。以下网址可能与您相关:
随意将xml更改为json / python ...
我可以提供以下shell脚本作为一个粗略的例子:
#!/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
答案 3 :(得分:0)
您可以在$ {JENKINS_HOME}中利用目录和文件结构:
cd ${JENKINS_HOME}/jobs/${JOB_NAME}/builds
ls -lt | head -2 | tail -1 | awk '{print $9}'
示例输出:
2015-08-13_11-48-25