从Spinnaker触发jenkins管道时,是否可以传递pipelineParams?

时间:2020-02-03 17:13:18

标签: jenkins-pipeline spinnaker

从Spinnaker触发作业时,有一种方法可以传递pipelineParams。例如,我看到

{
  "continuePipeline": false,
  "failPipeline": true,
  "isNew": true,
  "job": "job123",
  "master": "master123",
  "name": "Jenkins",
  "parameters": {
    "mavenProfile": "FooBar"  <-- ???
  },
  "type": "jenkins"
}

parameters字段的作用是什么?我们可以使用它来将参数传递给Jenkins管道吗? 有没有人成功完成将参数传递给Jenkins管道的操作?

触发以上阶段时,它立即失败并显示一条消息:

job/master, passing params to a job which doesn't need them

2 个答案:

答案 0 :(得分:1)

在Spinnaker中的Jenkins集成启动了单独的工作。

如果在Jenkins Job配置中选择This project is parameterized,则突出显示的参数将指向定义的作业参数。出现该错误的原因是因为Jenkins在启动作业时遇到了两个不同的端点,一个端点有参数,而另一个没有参数。

据我所知,没有办法从Spinnaker启动jenkins管道,但是我认为它看起来与Jenkins启动工作阶段有所不同,因为它将不得不使用不同的API端点。

答案 1 :(得分:0)

正如托马斯·林(Thomas Lin)所说的那样,问题是我试图将参数传递给非参数化管道。

我继续进行我的詹金斯管道的参数化:

https://github.com/jenkinsci/pipeline-model-definition-plugin/wiki/Parametrized-pipelines

parameters {
    string(defaultValue: "", description: 'What profile?', name: 'mavenProfile')
}

一旦我这样做,我的Jenkins管道就开始从Spinnaker管道接收参数。