使用 DSL/Groovy Jenkins 插件在剖面视图中添加构建描述

Add Build Description in Sectioned View using DSL/Groovy Jenkins plugin

我希望使用 jenkins-job-dsl 插件在我的剖视图中添加 'Build Description' 列。不幸的是,我在 Jenkins Job DSL API (http://sheehan.github.io/job-dsl-plugin/#) 中找不到任何关于它的信息。

我假设它无法通过 dsl jenkins api 使用,但我想确认一下。谢谢!

如果开箱即用,您可以使用 Configure Block 添加任何配置元素:

sectionedView('project-summary') {
  filterBuildQueue()
  filterExecutors()
  sections {
    listView {
      name('Project A')
      jobs {
        regex(/project-A-.*/)
      }
      columns {
        status()
        weather()
        name()
        lastSuccess()
        lastFailure()
      }       
    }
  }
  configure { view ->
    view / sections / 'hudson.plugins.sectioned__view.ListViewSection' / columns << 'jenkins.plugins.extracolumns.BuildDescriptionColumn' {
      columnWidth(80)
      forceWidth(false)
    }
  }
}

我找到了 daspilker 半有用的答案。要走的路仍然是配置块。但是 anno 2019 它不再能正常工作了。这对我有用:

 columns {
    status()
    name()
    weather()
    lastSuccess()
    lastFailure()
    lastDuration()
  }

  configure {
    view ->
      view / columns << 'jenkins.branch.DescriptionColumn' {
        columnWidth(80)
        forceWidth(false)
      }
  }

部分 "jenkins.branch.DescriptionColumn" 是直接从列表视图的 config.xml 中复制粘贴的。看起来像:

<listView>
      <owner class="hudson" reference="../../.."/>
      <name>test</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
      <jobNames>
        <comparator class="hudson.util.CaseInsensitiveComparator"/>
        <string>something</string>
      </jobNames>
      <jobFilters/>
      <columns>
        <hudson.views.StatusColumn/>
        <hudson.views.WeatherColumn/>
        <hudson.views.JobColumn/>
        <hudson.views.LastSuccessColumn/>
        <hudson.views.LastFailureColumn/>
        <hudson.views.LastDurationColumn/>
        <hudson.views.BuildButtonColumn/>
        <hudson.plugins.favorite.column.FavoriteColumn plugin="favorite@2.3.1"/>
        <jenkins.branch.DescriptionColumn plugin="branch-api@2.0.20"/>
      </columns>
      <recurse>false</recurse>
    </listView>