在jenkins中,我如何看到上次构建是通过他的xml文件运行的?

在jenkins中,我如何看到上次构建是通过他的xml文件运行的?,jenkins,Jenkins,我在詹金斯有1000多份工作, 为了清理未使用的工作,我想检查所有这些文件。 推荐的方法是什么 我猜在每个作业“xml”文件中都有一个指示,指示它上次运行的时间, 有人能告诉我这个文件的位置吗?我想你不能一步到位。但是你可以分两步来完成 使用以下内容查找所有作业的URL: 使用从步骤1返回的URL获取有关每个作业的更多信息: url-from-step1/api/json 这将为您提供healthreport、上次失败/成功构建等信息。如果您需要有关这些构建的更多信息,您可以通过以下方式提出新

我在詹金斯有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}的上次生成时间
    请随意将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
    

    您可以利用${JENKINS_HOME}中的目录和文件结构:

    cd ${JENKINS_HOME}/jobs/${JOB_NAME}/builds
    ls -lt | head -2 | tail -1 | awk '{print $9}'
    
    示例输出:

    2015-08-13_11-48-25
    

    我最终通过“查看作业过滤器”插件过滤作业

    您可以使用“按生成趋势筛选”选项,如下所示:

    为“所有作业”创建视图->转到编辑视图->在“添加作业筛选器”中选择“构建趋势筛选器”->选择所需的筛选器

    这就是我所做的: