从管道中的 jenkinsfile 触发另一个 jenkins 作业

sta*_*low 3 jenkins jenkins-pipeline

我正在尝试调用一个单独的 jenkins 作业,其直接作业 url 是https://jenkins.example.com/job/jobName/。该作业以一个参数名称“branch”运行,其值为“Master”。

以下是我给出的方式Jenkinsfile,但是当我运行它时,出现错误

错误:找不到名为https://jenkins.example.com/job/jobName的项目

if ("${params.buildParam}" == 'test' || !params.buildParam ){
  stage('Test') {
    def job = build job: 'https://jenkins.example.com/job/jobName/', parameters: [[$class: 'StringParameterValue', name: 'branch', value: 'Master']]
  }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_*ing 5

该build步骤采用作业名称作为参数,而不是 URL。所以尝试一下

build job: '/jobName'
Run Code Online (Sandbox Code Playgroud)

使用绝对路径来引用。根据您的管道作业所在的位置,您也可以使用类似以下内容的内容:

build job: '../../jobName/'
Run Code Online (Sandbox Code Playgroud)

顺便提一句。您可以在这里避免字符串插值:

if (params.buildParam == 'test' ...)
Run Code Online (Sandbox Code Playgroud)