当前位置: 首页 > 知识库问答 >
问题:

如何在部署作业中使用groovy脚本列出成功的jenkins构建?

江宏伟
2023-03-14

我有一个Jenkins部署作业,它从构建作业中复制工件。在我的部署作业中,我在Extensible Choice参数中使用了一个groovy脚本(见下文),在下拉列表中显示该构建作业的成功构建列表。我想增强groovy脚本,以便仅列出该构建作业中的成功构建。我该怎么做?

def builds = []
def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
    def build = it
    it.badgeActions.each {
        builds.add(build.displayName[1..-1])
    }
}
builds.unique();

共有2个答案

哈涵容
2023-03-14

在 Jenkins 2.289.2 中,工作代码如下:

def builds = []

def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
    if (it.result == hudson.model.Result.SUCCESS) {
        builds.add(it.displayName[1..-1])
    }
}

return builds

不同之处在于缺少badgeActions,它只显示在Jenkins升级之前生成的版本。

柳英豪
2023-03-14

我设法弄明白了…请看下面的代码片段

def builds = []

def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
    def build = it
    if (it.getResult().toString().equals("SUCCESS")) {
        it.badgeActions.each {
             builds.add(build.displayName[1..-1])
        }
    }
}    
builds.unique();
 类似资料:
  • 我对是否可以在从属节点中使用Groovy脚本运行Jenkins作业感到困惑。我提到了一个 StackOverflow 答案 [1],它说 System Groovy 脚本作业可以在主站而不是从站中运行,并且要在从站中运行作业,它必须是 Groovy 脚本而不是 System Groovy 脚本。有人可以澄清我是否可以使用系统时髦脚本运行从属作业吗?由于我正在尝试通过Groovy脚本,因此无法访问几

  • 我需要从Jenkins作业中获取脚本路径。 请查看下面的屏幕截图,以便更清楚地了解需求。 我已经登录谷歌,获取了一些Groovy控制台脚本,其中列出了每个作业的详细信息。 通过使用jenkins.model.Jenkins.getJobNames()方法,我能够得到Jenkins中的所有作业,但实际上需要的是获得Scriptpath值,在每个作业中提到。 哪个Jenkins类/方法可以提供这些细节

  • 我正在使用主动选择插件,具有时髦的脚本,可以检索 Jenkins 中所有作业的名称。我可以写一个时髦的脚本来获取该特定作业的所有内部版本号的列表吗?

  • 我正在使用jenkins和Jobdsl创建jenkins的工作。我试图通过在active choice参数中添加一个groovy脚本来构建一个参数化作业。脚本使用存储在jenkins凭据中的凭据,我正试图通过使用代码在脚本中获取它

  • 我知道我可以通过Jenkins RTC插件使用scm轮询,我只是想知道是否有一个如何通过管道插件的groovy脚本做到这一点的例子? 例如: 类似于上面的内容,但不是git,而是将rtc toolkit与prod url一起使用,并指定一个流或一个工作区。。。在任何地方都找不到示例,也不确定如何通过api实现它(或者如果可能的话?)

  • 问题内容: 我正在使用一个Groovy脚本来触发其他作业,该脚本基于Groovy插件页面上的示例。 我获得了一个作业列表作为参数,验证它们是否存在并用几个参数触发它们。请参阅主要触发代码: 我触发的作业运行完美,但存在一个 主要 问题。它们的原始参数丢失,并被新的 PARAM1 和 PARAM2 代替。 如何触发作业并 添加 其默认参数 而不替换 它们? 我努力寻找解决方案,但没有找到… 编辑: