Jenkins:通过流水线脚本使用参数化触发器插件

emm*_*dee 6 jenkins jenkins-multibranch

我需要从另一个作业触发 Jenkins 作业并将各种值传递给它以供以后的条件逻辑使用。看来参数化触发器插件将完全满足我的需求。( https://plugins.jenkins.io/parameterized-trigger )

然而,这个插件我在文档和语法构建器中都没有看到任何关于管道语法的内容。

我使用过的大多数插件都允许在管道脚本中使用。(詹金斯文件)。他们很少有语法文档,但我通常可以使用 Jenkins 中的语法构建器来获得正确的管道语法来使用插件。

是否可以在管道中使用此插件(具体是多分支管道)?

如果没有,那么有没有其他方法可以从 Jenkins 管道中完成我需要做的事情?(在向其传递一些值/参数时触发另一个作业)。

jay*_*ren 6

你根本不需要插件来做到这一点。内置的流水线构建步骤支持参数。例如:

build(
  job: 'my-job-name',
  parameters: [
    [
      $class: 'StringParameterValue',
      name: 'myStringParameter',
      value: "my value",
    ],
    [
      $class: 'BooleanParameterValue',
      name: 'myBooleanParameter',
      value: true,
    ],
    // etc.
  ],
)
Run Code Online (Sandbox Code Playgroud)

您还应该能够使用带有默认build步骤的语法生成器来帮助生成此代码。

  • 在 Jenkins 中,一切都是作为插件实现的——即使我在回答中提到的 Pipeline 构建步骤在技术上也是一个插件(它作为核心 Pipeline 插件的依赖项安装,所以它更像是一个内置功能)。参数化构建触发器插件是由 Jenkins 开发人员开发的官方插件,它可以追溯到 Jenkins 之前的流水线时代,当时它是从另一个构建触发参数化构建的最简单方法之一。 (2认同)