问题标签 [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.
groovy - 如何将自定义 Groovy 添加到步骤或条件步骤?
使用 job-dsl 我可以使用自定义 bash 代码执行 Shell 脚本,并让处理结果影响 Jenkins 作业的状态(失败、成功等):
如果我想使用自定义 Groovy 来做一个冒烟测试而不是依赖一个 shell 脚本怎么办?我尝试编写一个简单的 Groovy 函数来返回 0 或 -1 来表示成功和失败,但它不起作用。如何一步执行任意 Groovy 代码?
jenkins - 用于将变量从一个函数传递到另一个函数的 Jenkins 管道脚本
我是 Jenkins 管道脚本的新手。我正在开发一个 Jenkins 管道,其中 Jenkins 代码如下。逻辑如下所示:
我需要将初始值a
和b
(多个)值传递给verify
函数,并将更改后的值传递给另一个函数。然后我需要操作更改的值,并将其传递到管道中的阶段,其中 echo 将显示更改的值。我怎样才能完成这一切?
xml - 使用 groovy 从 xml 文档中删除值
我有一个 groovy 系统批处理脚本,需要读取 XML 文档,更改值,然后保存它。
我已经弄清楚如何读取和写入值。我一生无法弄清楚如何删除“成员”及其价值观。我需要能够删除所有成员并将其替换为我无法弄清楚的自定义文件名。
XML 如下所示:
我将搜索名称“CustomObject”并使用此字符串删除所有兄弟姐妹的成员:
所以 XML 会这样:
我已经尝试了我在网上找到的以下代码
它实际上并没有删除任何东西,而是输出:
我仍在努力掌握这一点,所以任何帮助都会很棒
jenkins - Jenkins 声明式管道中的可重复步骤
我有一个 groovy 脚本,它调用其他作业来停止和启动任务。(见下文)。我想steps {
一遍又一遍地重用里面的代码。我可以这样做而不必重复代码吗?
基本上,我希望下一个阶段用于另一个我可以启动或停止的 API,然后是另一个,等等。然后这些是在 Jenkins 上使用参数构建的,其中单选按钮决定是停止还是启动。
jenkins - 声明式管道的代理拆分阶段
在声明性管道中,我想:
在 Executor/Agent1 上运行 Stage1-5(相同的实例化执行器)
在无代理(批准)上运行 Step6(在等待期间不阻止代理)
在 Executor/Agent2 上运行 Step7-10(相同的实例化执行器)
这可能吗?
shell - Access a Groovy variable inside a generated parallel pipeline in a shell
I'm stuck on accessing a groovy variable inside a shell step in Jenkins pipeline.
I read Access a Groovy variable from within shell step in Jenkins pipeline and Pass groovy variable to shell script but cannot have what I want working as expected.
Here is my pipeline:
If I execute it with dus011,dus012 as input parameters (i.e. variable dusboard=dus011,dus012), here comes the output
We can see the lock command has the correct board: one time dus011, another time dus012 ==> good
But this one is wrong [echoing dus011] + hwjs=hw-dus012.js it should be hw-dus011.js, not hw-dus012.js. I think it's because it's an environment variable and the second // stage overwrite the first one ==> bad
Other prints for board name are wrong.
So I tried with the '''++' syntax. Sounds good because this time board name matches [echoing dus011] dus011 abcd and [echoing dus012] dus012 abcd but then Java exception :(
Where is my mistake? how to solve that?
Thank you for your help
tfs - Groovy 获取 tfs 变更集的编辑类型
我需要获取 tfs 变更集文件(我已经完成了),以及是否使用 jenkins 服务器上的 groovy 插件添加或删除了它。
我无法弄清楚如何访问包含获取编辑类型的方法的项目类。我已经尝试了下面的代码,但无法弄清楚。
有什么想法吗?
groovy - 在 Jenkins 构建步骤中使用 Groovy 获取 TFS Changset 编辑类型
我是 Jenkins 和 Groovy 的新手。我需要能够检测是否添加或删除了签入 Jenkins 的文件。但是,我似乎无法构造类权限来返回编辑值。
Changeset.Item 类的链接在这里
我尝试使用的代码是:
我得到的错误是:
我相信这是一个非常容易解决的问题。我尝试了很多不同的方法,似乎离解决方案越来越远。
json - 使用groovy替换json中的数字变量
我有一个 json,它有一些我想动态化的数字并使用 groovy 替换值。请让我知道是否有更好的方法,因为我已经使用 toInteger 进行转换但无法正常工作。对于 ex { jobName:"", protocolName:"tcp", portNo:"" } 我可以使用 groovy 中的替换替换作业名称,但我无法替换端口号。最终的 json 应该如下所示
{ jobName:"myjob", protocolName:"tcp", portNo:1112 }
请让我知道是否有办法在 groovy 中做到这一点