jenkins - 如何发现Jenkins构建的其他原因?

标签 jenkins groovy build-pipeline-plugin

当尝试使用groovy查询构建时,我打电话

myBuild.getCauses()

我在Jenkins的界面(构建屏幕)中看到,该构建有两个原因,一个是UserIdCause,另一个是UpstreamCause。但是,当我用上述常规查询相同的构建时,我只得到一个原因,即UserIdCause。必须有一些从构建中获取UpstreamCause的方法,否则它不会出现在用户界面中。

我正在使用“构建管道”插件来手动触发构建。

最佳答案

这是使用build.getAction的工作常规代码(我在jenkins脚本控制台中尝试过)

job = hudson.model.Hudson.instance.getItem("demo-job")
build = job.getLastBuild()

// get action first
def action = build.getAction(hudson.model.CauseAction.class)
// get the list of causes
for (cause in action.getCauses()) {
    println cause.getShortDescription()
}
// another way to find specific UpsteamCause directly
cause = action.findCause(hudson.model.Cause.UpstreamCause.class)
println cause.getUpstreamRun() 

见引用
  • 参见build-pipeline-plugin如何在代码BuildPipelineView.java
  • 中添加原因
  • 请参阅hudson.model.Cause API
  • 关于jenkins - 如何发现Jenkins构建的其他原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000589/

    相关文章:

    selenium - 执行 Selenium 显式等待时 Katalon 中的 GroovyCastException

    管道中的 Jenkins 用户接受步骤

    Jenkins slave JNLP4-连接超时

    jenkins - 我如何将 Jenkinsfile 支持添加到 Visual Studio 2017

    linux - .sh 文件的 CI Jenkins 权限被拒绝

    list - Groovy:使用范围运算符创建列表

    json - Jenkins 更新后,readJSON 和 readYaml 在 Jenkins 中停止工作

    sql - 在 Gradle 任务中执行 SQL?

    Jenkins - Promoted Builds in Pipeline,在提升操作中配置参数