问题标签 [jenkins-groovy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1037 浏览

java - Groovy 和 StreamAPI 的意外 GroovyCastException

我在构建期间执行的 Jenkinsfile 中运行以下 groovy 脚本:

上述代码对参数值的预期结果等于:

是:

但是,当在 Jenkins 上执行此代码时,我收到一个我无法理解的奇怪错误(为什么会发生):

hudson.remoting.ProxyException:org.codehaus.groovy.runtime.typehandling.GroovyCastException:无法在 org.codehaus.groovy.runtime 将对象“SampleValue1”与“java.lang.String”类转换为“java.util.Collection”类.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:405) 在 org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:319) 在 org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnCollection(DefaultTypeTransformation .java:267) 在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:603) 在 org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:219) 在 Unknown。未知(未知)在cps.transform(本机方法)在 com.cloudbees.groovy.cps.impl.LocalVariableBlock$LocalVariable.set(LocalVariableBlock.java:45) 在 com.cloudbees.groovy.cps.impl.AssignmentBlock$ContinuationImpl.assignAndDone(AssignmentBlock.java:70)在 sun.reflect.GeneratedMethodAccessor303.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 com.cloudbees.groovy .cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.LocalVariableBlock$LocalVariable.get(LocalVariableBlock.java:39) at com.cloudbees.groovy.cps.LValueBlock $GetAdapter.receive(LValueBlock.java:30) 在 com.cloudbees.groovy.cps.impl.LocalVariableBlock.evalLValue(LocalVariableBlock.java:28) 在 com.cloudbees.groovy.cps.LValueBlock$BlockImpl.eval(LValueBlock.java:55) at com.cloudbees.groovy.cps.LValueBlock.eval(LValueBlock.java:16) at com.cloudbees.groovy.cps.Next.step( Next.java:83) 在 com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174) 在 com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163) 在 org.codehaus .groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122) at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261) at com.cloudbees.groovy.cps.Continuable.run0(Continuable .java:163) 在 org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19) 在 org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:35) 在org.jenkinsci。plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:32) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) at org.jenkinsci.plugins.workflow.cps .SandboxContinuable.run0(SandboxContinuable.java:32) 在 org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174) 在 org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java :331) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:243) at org. jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:231) 在 org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64) 在 java.util。concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent .Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java. util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)28) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor) 的 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) .java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)28) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor) 的 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) .java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)

有任何想法吗?

0 投票
1 回答
6310 浏览

groovy - 从 JSON ARRAY(地图列表)中查找/过滤具有特定键值对的列表

我有一个 JSON 数组(地图列表),类似于:

1) 我想获取/过滤/返回所有包含键值对“ METHOD:CLICK ”和“ RESULT:FAIL ”的列表

2)我想获得包含键值对“ METHOD:CLICK ”和“ RESULT:FAIL ”的列表计数

3)从上面的地图列表中,我想获取键“ METHOD ”的所有唯一/不同值

0 投票
1 回答
358 浏览

jenkins - 在我的詹金斯中看不到 groovy 安装选项

在此处输入图像描述

在我的詹金斯中看不到 Groovy 主页和 groovy 安装路径。詹金斯版本是 2.77。任何原因?

0 投票
2 回答
2500 浏览

bash - Jenkins 管道中的 MultipleCompilationErrorsException 因为字符转义问题,你能找到问题吗?

我正在编写一个 Jenkins 管道,它在 AWS ECS 上构建一个 docker 主机。

在 build.gradle 我有以下几行:

该作业配置了一个默认的环境参数dev,那么这三行是正确的。

我的任务是使这项工作能够部署到所有环境。

在 gradle 任务开始运行之前,如果环境名称不是“dev”,我需要更改这 3 行以向 dockerImageName 添加前缀。

例子:

此值:“ubi-celery-worker”需要更改为:“product-env-ubi-celery-worker”

这是我更改行的管道中代码的相关部分:

我说的是 sh clouse 中的第三行。

$line 是“for 循环”迭代器。

$ENV 是一个时髦的参数。

如果我在 Jenkins 服务器上的终端中运行它,它会正确编辑行并添加所需的前缀。

但是,如果我通过 Jenkins 作业运行它,我会收到以下错误:

我试过的东西:

  • 转义一些可疑的“$”符号,将双引号更改为单引号......没有任何帮助,我不断收到此错误。

你能找到我在哪里缺少正确的转义吗?

0 投票
2 回答
793 浏览

maven - 即使在 jenkins 脚本中分配了 pom 版本号,Env 变量值也被重置为原始值

我有一个场景,我必须阅读不同组件的 maven pom 版本并将版本分配给 docker image(TAG)。但是在我阅读 pom 后,将它分配给一些全局变量,它将在 groovy jenkins 脚本中重置为原始值。下面是示例。HMAP_VERSION 值将是 1.2.1 但当它在行中使用时:sh "docker login -u ${ART_USERNAME} -p ${ART_PASSWORD} test.com"该值将是UNINITIALISED.

有人可以告诉我可能出了什么问题吗?这将适用于在 env 块中读取的单个 maven 文件,如下所示:

下面是我想做什么的示例。

0 投票
1 回答
274 浏览

jenkins - 在 jenkins 中的多个脚本部分上引用 groovy 变量

在 Jenkins 工作中,我有一个 groovy 脚本,它分为两部分。它在 SCM 之前做一些事情,并在工作结束时做一些其他事情作为最后的构建指令。

现在,我需要访问第二部分中的一个变量,这是我在第一部分中设置的。

怎么做?

我尝试用 将变量标记为字段@Field Boolean myFlag = false,但在脚本的第二部分中仍然无法访问 myFlag。

口译员说: groovy.lang.MissingPropertyException: No such property: myFlag for class: Script1

有谁知道如何在第二个脚本的第一部分完成访问变量?

谢谢!

0 投票
1 回答
883 浏览

jenkins - Jenkins2.0流水线脚本拒绝日期算法

我在 groovy Jenkinsfile 中有以下代码:

输出是:

这在我的本地盒子中工作得很好,但在 Jenkins 的沙盒模式下,这失败了,我无法在 Jenkins 中关闭沙盒模式。

有什么解决方法吗?

0 投票
1 回答
6705 浏览

jenkins - 如何在 Jenkins 中从 Active Choices Plugin groovy 脚本执行 shell

我正在尝试使用 groovy 脚本在活动的 Active Choices 参数中呈现从 shell 获得的信息。我可以使用 sh 方法从 jenkins 管道中的 groovy 脚本轻松访问 shell,如下所示:

但是,当我在 Active 选择的 groovy 脚本中尝试此操作时,它会崩溃并执行回退脚本。

是否可以在此上下文中切换到节点并执行 shell 命令?

谢谢您的帮助!

0 投票
1 回答
96 浏览

jenkins - Jenkins 在使用 groovy 脚本运行时抛出 Buildlog 错误

我使用使用 DSL 命令编写的 Jenkins 脚本运行管道。当某个阶段突然出现以下错误时,问题出现了:

我使用的脚本如下:

这是我使用的示例脚本。这往往会引发上面突出显示的错误。 詹金斯问题 我主要将检查脚本的模式设置为“尽可能多地更新 svn”,但这并不能解决任何问题。为什么会失败?有哪些可能的方法来避免这个问题?

编辑:我正在使用的管道结帐是:- 签出 groovy 脚本以执行

0 投票
1 回答
35961 浏览

jenkins - 从詹金斯读取 json

我正在尝试使用 grovvy 脚本从 jenkinsfile 中读取 json 文件。我正在使用 pipeline-utility-steps-plugin,它允许将 json 文件作为字符串读取,其中包含以下内容。

阅读完文档后,我想我可以用这样的方法脱身,但我肯定做错了什么,因为结果为空?

现在我的问题是我似乎无法弄清楚我是如何得到 2 号的名字的?请帮帮我

Projects.json 的内容