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

从groovy脚本触发参数化Jenkins作业

景仲渊
2023-03-14

你好,詹金斯的朋友们,

我创建了一个JenkinsFreestyle项目,其中包含“执行Groovy脚本”步骤。从脚本中,我想在同一个Jenkins服务器上触发另一个参数化作业。

有人知道我该怎么做吗?

def triggerBuild(paramter1, paramter2) {
   // trigger job with name "foo" and set the paramters param1 and param2 
   //to the values of the variables parameter1 and parameter2
}

共有2个答案

宗乐池
2023-03-14

好的,我终于找到了解决方案。我的脚本如下所示:

import hudson.model.*;

triggerBuild()

def triggerBuild(parameter1, parameter2) {
    def job = Hudson.instance.getJob('foo')

    def params = [
            new StringParameterValue('param1', 'value1'),
            new StringParameterValue('param1', 'value2')
    ]
    def future = job.scheduleBuild2(0,  new ParametersAction(params))
}
陆正奇
2023-03-14
def triggerBuild(parameter1, parameter2) {
  build job: 'foo', parameters: [
    string(name: 'param1', value: parameter1),
    string(name: 'param2', value: parameter2),
  ]
}

确保在脚本块中调用 triggerBuild()。

 类似资料:
  • 问题内容: 该插件的网站说,您可以创建一个常规脚本来运行以确定参数列表。 怎么解决呢?指示什么也没说。 该脚本在什么情况下运行? 我应该从脚本中返回什么? 脚本的cwd是哪个目录?是环境变量WORKSPACE吗? 还有一个名为的额外字段。如何使用? 问题答案: 我必须深入研究源代码才能找到这些问题的答案,所以我希望这对其他人有帮助。 1.脚本在什么情况下运行? 该脚本在groovy.lang.Gr

  • 问题内容: 我在Jenkins中配置了项目,该项目轮询SCM并在发布更改时开始构建。有一个后构建动作来构建另一个项目。我的问题是,之后要构建的项目具有其自己的参数。如何知道生成后操作触发时指定了哪个参数?现在,如果我使用“选择”,是否只是选择第一个?我如何挑选其他人? 问题答案: 好吧,让我们一个接一个:) 如果要查看使用了哪个参数,可以安装此插件:显示构建参数插件 如果要使用特定参数触发构建,请

  • 问题内容: 我是Jenkins中使用的Groovy脚本的新手。我的问题是,我们如何根据作业名称和内部版本号获取作业的时间戳? 示例 :我想获取“ MyDeployJob”(JobName)的时间戳,并获取BuildNumber-105的时间戳。 我尝试使用方法方法,但无法正常工作。另外,我发现环境变量具有时间戳,但是我无法弄清楚如何使用Groovy Script获取细节。请帮助。 提前致谢。 问题

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

  • 在 Jenkins 中,我尝试使用 Groovy 脚本将参数传递到构建管道的下游作业中。在我的第一份工作中,我添加了一个构建步骤“执行 Groovy 脚本”,并将内容添加到 Groovy 命令中: 我得到输出: 我已经在我的机器上安装了Groovy 1.5.8,我的Jenkins版本是1.519。我在这里做错了什么。

  • 我有一个时髦的脚本,可以推广代码。长话短说,我知道在那个脚本中的某个时间点它是否成功。如果不成功,我想使构建失败。有没有办法在时髦中失败构建? 示例: 在“执行 Groovy 脚本”插件中。您可以编写代码。 其中“checkPromote”根据升级的状态返回true或false值。