Как получить количество неудачных сборок по причине с Дженкинс

Вот скрипт, который получает стандартное отображаемое значение для большинства тэгов HTML.

Fiddle

В chrome встроенный блок по умолчанию элементами являются: "INPUT", "BUTTON", "TEXTAREA", "SELECT"

0
задан user3270760 5 March 2019 в 16:11
поделиться

2 ответа

Не точный ответ ... но должен быть в состоянии изменить, чтобы получить то, что вы ищете:

Jenkins.instance.getAllItems(Job).each{

      def jobBuilds=it.getBuilds()

        //for each job get the things (you can limit at your convenience)
        jobBuilds.each { build ->
          def runningSince = groovy.time.TimeCategory.minus( new Date(), build.getTime() )
          def currentStatus = build.buildStatusSummary.message
          def cause = build.getCauses()[0] //we keep the first cause
          def user = cause instanceof Cause.UserIdCause? cause.getUserId():""
          println "Build: ${build} | Since: ${runningSince} | Status: ${currentStatus} | Cause: ${cause} | User: ${user}"
          def parameters = build.getAction(ParametersAction)?.parameters
          parameters.each {
            println "Type: ${it.class} Name: ${it.name}, Value: ${it.dump()}" 

            }
        }
    }
0
ответ дан VinDev 5 March 2019 в 16:11
поделиться

Используя немного google-fu и некоторую информацию от VinDev, я придумал это решение:

// get all jobs in Jenkins
Jenkins.instance.getAllItems(Job).each {
    // get all builds for each job
    def jobBuilds=it.getBuilds()
    //for each build, get the name and status + and failure messages
    jobBuilds.each { build ->
      // get the build status
      def currentStatus = build.buildStatusSummary.message
      // we only care about the broken builds because we want failure messages
      if (currentStatus.contains("broken")) {
        println "Build: ${build} | Status: ${currentStatus}"
        def BFA = build.actions.find{ it instanceof com.sonyericsson.jenkins.plugins.bfa.model.FailureCauseBuildAction };
          if (BFA != null) {
            for (failureCause in BFA.getFoundFailureCauses()) {
              println("name: " + failureCause.getName() + ", description: " + failureCause.getDescription())
              }
          }
      }
    }
  }
0
ответ дан user3270760 5 March 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: