Jenkins 结帐管道步骤中是否允许“扩展”的多个值?

bri*_*obt 1 jenkins-pipeline jenkins-declarative-pipeline

参考工作流 scm 步骤中的“扩展”属性,它被声明为具有“对象的嵌套选择”的数组/列表。

我想做类似以下的事情:

checkout(
  [
    $class: 'GitSCM',
    extensions: [
      [$class: 'CloneOption', timeout: 15],
      [$class: 'AuthorInChangelog']
    ],
    ...
  ]
)
Run Code Online (Sandbox Code Playgroud)

真的是checkout.extensions数组/数组/列表的列表吗?

Pan*_*ini 5

是的,您可以指定多个扩展名,下面是一个适合我的示例

checkout changelog: changelog, poll: true, scm: [
            $class: 'GitSCM',
            branches: [[name: "${branchName}"]],
            doGenerateSubmoduleConfigurations: false,
            extensions: [[$class: 'CloneOption', timeout: 60],
                         [$class: 'SubmoduleOption', recursiveSubmodules: true, parentCredentials: true, timeout: 60],
                         [$class: 'PruneStaleBranch']],
            submoduleCfg: [],
            userRemoteConfigs: [[name: 'origin', url: "${env.GITLAB_SSH}/${projectName}.git", credentialsId: 'jenkins']]
    ]
Run Code Online (Sandbox Code Playgroud)