【问题标题】:How to access stringParam in groovy Jenkins pipeline如何在 groovy Jenkins 管道中访问 stringParam
【发布时间】:2021-10-23 19:03:36
【问题描述】:

我有一份需要 stringParam 的工作,我正在尝试从工作流中访问该 stringParam,但是我没有收到此类属性异常。

parameters {
        stringParam("COMMIT_SHA", "", "[Required] Short SHA of the commit used to build the image")
    }
 print "The commit sha val is: $env.COMMIT_SHA"

我尝试了不同的选项,例如 ${params.COMMIT_SHA}、${COMMIT_SHA}

【问题讨论】:

标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy jenkins-job-dsl


【解决方案1】:

解决方案

如下修改你的参数块

parameters { 
    string(name: 'COMMIT_SHA', defaultValue: '', description: '[Required] Short SHA of the commit used to build the image') 
}

然后您应该可以使用 ${params.COMMIT_SHA}${COMMIT_SHA}${env.COMMIT_SHA} 引用它

您的语法适用于 Jobs DSL 插件,但您声明您使用的是管道。如果您实际上是使用 Freestyle Job创建其他工作而不是 Pipeline,请提供整个脚本,我会更新我的答案。但是,您的帖子似乎想为管道设置参数(不指定元数据以通过 Jobs DSL 插件创建单独的作业)

以下 Job DSL 脚本在执行时将创建一个名为“example”的 Job,其中 COMMIT_SHA 作为参数。它不会作为参数添加到包含 Job DSL 脚本的作业中

job('example') {
    parameters {
        stringParam('myParameterName', 'my default stringParam value', 'my description')
    }
}

换句话说,在包含 stringParam 代码的作业中没有要打印的内容,因为该代码将不同的作业配置为包含字符串参数,它不会将该参数添加到当前作业中

【讨论】:

  • 嗨,我是 Devops 的新手,我正在尝试从 master 分支签出一个特定的提交。我会更新我的问题。
  • @prabhakarReddyG 请不要这样做。发布一个新问题,将链接发给我,然后删除这个问题。我会在新帖里回答。编辑以提出新问题会使其他用户感到困惑
猜你喜欢
  • 1970-01-01
  • 2018-05-14
  • 1970-01-01
  • 2017-01-19
  • 2022-12-19
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多