当前位置: 首页 > 知识库问答 >
问题:

带有下游参数Jenkins的Groovy脚本

卢永寿
2023-03-14

在 Jenkins 中,我尝试使用 Groovy 脚本将参数传递到构建管道的下游作业中。在我的第一份工作中,我添加了一个构建步骤“执行 Groovy 脚本”,并将内容添加到 Groovy 命令中:

import hudson.model.*
import hudson.util.*
def thr = Thread.currentThread()
def build = thr?.executable
printf "Setting UPSTREAM_ID as "+ build.getEnvVars()['BUILD_ID']  +"\n" ; 
build.addAction(new ParametersAction(new StringParameterValue('UPSTREAM_ID', build.getEnvVars()['BUILD_ID'])))

我得到输出:

    [workspace] $ C:\Progra~1\Groovy\Groovy-1.5.8\bin\groovy.exe d:\JenkinsAT\jobs\Test_Job\workspace\hudson8779135058472653024.groovy
    org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\JenkinsAT\jobs\Test_Job\workspace\hudson8779135058472653024.groovy: 6: unable to resolve class ParametersAction 
     @ line 6, column 17.
       build.addAction(new ParametersAction(new StringParameterValue('SVN_UPSTREAM', build.getEnvVars()['BUILD_ID'])))
                       ^
    D:\JenkinsAT\jobs\Test_Job\workspace\hudson8779135058472653024.groovy: 6: unable to resolve class StringParameterValue 
     @ line 6, column 38.
       build.addAction(new ParametersAction(new StringParameterValue('SVN_UPSTREAM', build.getEnvVars()['BUILD_ID'])))
                                            ^

2 errors

我已经在我的机器上安装了Groovy 1.5.8,我的Jenkins版本是1.519。我在这里做错了什么。

共有1个答案

施飞昂
2023-03-14

通过将 Jenkins-core.jar 放入 groovy lib 目录并将构建类型更改为执行系统 Groovy 脚本来解决此问题

 类似资料:
  • 问题内容: 该插件的网站说,您可以创建一个常规脚本来运行以确定参数列表。 怎么解决呢?指示什么也没说。 该脚本在什么情况下运行? 我应该从脚本中返回什么? 脚本的cwd是哪个目录?是环境变量WORKSPACE吗? 还有一个名为的额外字段。如何使用? 问题答案: 我必须深入研究源代码才能找到这些问题的答案,所以我希望这对其他人有帮助。 1.脚本在什么情况下运行? 该脚本在groovy.lang.Gr

  • 问题内容: 我是Jenkins中使用的Groovy脚本的新手。我的问题是,我们如何根据作业名称和内部版本号获取作业的时间戳? 示例 :我想获取“ MyDeployJob”(JobName)的时间戳,并获取BuildNumber-105的时间戳。 我尝试使用方法方法,但无法正常工作。另外,我发现环境变量具有时间戳,但是我无法弄清楚如何使用Groovy Script获取细节。请帮助。 提前致谢。 问题

  • 你好,詹金斯的朋友们, 我创建了一个JenkinsFreestyle项目,其中包含“执行Groovy脚本”步骤。从脚本中,我想在同一个Jenkins服务器上触发另一个参数化作业。 有人知道我该怎么做吗?

  • 问题内容: 我想从下面的类中调用groovy方法 所以这就是我想做的 我可以正确传递参数吗?我需要传递请帮助我使用参数调用groovy方法 错误: 更新资料 例外 问题答案: 是的…我在一个文件夹中创建了这个时髦的脚本: 在当前文件夹中,我创建了这个groovy脚本: 当我执行命令时 它输出: 更新后编辑 您收到的错误是由于Groovy解析器的工作方式引起的。。。加入字符串时,您不能将放在下一行的

  • 问题内容: 当我尝试在Jenkins控制台中执行以下Groovy脚本时,发生以下错误。 这已从“ 使用Jenkins”>“ Jenkins脚本控制台”>“参数化系统Groovy脚本”中获取。 该错误表明它包含一些缺少的属性: 我已经尝试使用Groovy脚本插件从Jenkins运行RunningGroovy命令,但在我的情况下不起作用。 问题答案: 如果我→ 执行系统Groovy脚本 → Groov

  • 我看到这个输出 有人能告诉我如何使用groovy postbuild吗?