groovy相关内容

Groovy-cucumber 中没有匹配的胶水代码

我将 cucumber-groovy 与基于 maven 的框架一起使用,但无法找到 stepDefinitions 的粘合剂.获取 在特征文件中没有匹配的胶水代码.它在 Cucumber-maven 项目中.我已将功能文件夹转换为“源文件夹". 错误: 无法创建 src/test/groovy &src/test/resource(用作功能的文件夹) 这是我的测试运行程序 Cucumb ..
发布时间:2022-01-22 23:30:43 其他开发

使用 Groovy(Grails) 写入文件对于某些行(断行)失败

我正在使用 Groovy 在 .csv 文件中执行一些大规模写入.更具体地说,我有一个正在运行的 Quartz 作业,并创建了一些发送到 RabbitMQ 队列的 Map 消息.队列被 10 个消费者消费,并导致生成一些字符串列表.对于列表中的每个元素,我只需将其写入管道分隔的 .csv 文件中.具有写入 .csv 文件的方法的实际服务是标准(单例)事务性 grails 服务.当我记录要写入的行时 ..
发布时间:2022-01-22 11:49:57 其他开发

如何使用在构建中注入的密码作为 Active Choices 参数中的环境变量

我在构建配置部分中定义了密码,标题为“将密码作为环境变量注入构建": 我想在我的 Active Choices 中使用 MYVAR(未加密值).不幸的是,它不起作用.对 MYVAR 的引用失败. 在下面的示例中,为了进行测试,我只是尝试显示 MYVAR 的值作为选择.您可以看到它失败了,而是使用了备用活动选择脚本. 最终,我想使用此变量对服务进行身份验证以构建选择列表,但我什至无 ..
发布时间:2022-01-22 08:39:41 其他开发

如何使用 java api 用“like"查询 mongodb?

这个问题与另一个post 非常相似 我基本上是想用mongodb版本的sql "like" '%m%' operator 但在我的情况下,我使用 mongodb 的 java api,而另一篇文章使用的是 mongodb shell 我尝试了其他帖子中发布的内容,效果很好 db.users.find({"name":/m/}) 但在 java 中,我使用 BasicDBObje ..
发布时间:2022-01-20 16:49:04 Java开发

Groovy :: 映射查找递归

编辑请参阅下面的@tim 解决方案,了解映射递归的“正确"Groovy 式方法.由于 Groovy 中尚不存在 Map findRecursive,如果您发现自己在应用程序的各个部分都需要此功能,只需将其添加到 Map metaClass: Map.metaClass.findRecursive = {字符串键->if(delegate.containsKey(key)) 返回委托."$key" ..
发布时间:2022-01-20 16:45:11 其他开发

Groovy 的“可选回报"语义

在 Groovy 中,return 语句是可选的,允许您编写如下方法: def add(a, b) {a + b} ...添加 a 和 b 并将结果返回给调用者. 但是,我想知道当方法具有多个返回“语句"时的语义是什么.例如,在 Java 中,您可能有: 字符串追加(字符串 a,字符串 b){如果(a == null){返回 b;}返回 a + b;} 这可以(假设地)被翻译成 Gr ..
发布时间:2022-01-19 15:19:07 其他开发

如何从 groovy 闭包中返回并停止执行?

我想从闭包中返回,就像在循环中使用 break 语句一样. 例如: largeListOfElements.each{ element->如果(元素 == 特定元素){//做一些工作return//但这只会离开这个迭代并开始下一个迭代}} 在上面的 if 语句中,我想停止遍历列表并离开闭包以避免不必要的迭代. 我见过一个解决方案,在闭包内抛出异常并在外部捕获,但我不太喜欢这种解决方 ..
发布时间:2022-01-19 15:09:43 其他开发

Jenkins Pipeline 抛出 java.io.NotSerializableException: org.jenkinsci.plugins.workflow.job.WorkflowRun 即使使用@NonCPS

代码相当简单,我只想要一个发布到 slack 的 rev-list.但是导致我出现问题的部分是当我实际上试图从 git 获取 rev-list 时. 问题代码 @NonCPSdef getRevisionList(currentCommit, lastSuccessfulCommit) {def 提交 = sh(脚本:“git rev-list $currentCommit $lastSu ..
发布时间:2022-01-18 17:25:49 其他开发

如何在 Jenkinsfile 中获取 shell 脚本的输出?

在 Jenkinsfile Groovy 脚本阶段,假设我想发出一个输出字符串的行和列的 linux 命令,并且想要获取某一行的输出中的第 n 列.此类命令的一个示例是“ls -al".所以我这样做对吗? stage("获取目录大小") {sh returnStatus:true,脚本:'''LINE=`ls -al |grep some_dir`IFS="" 读取 -ra COLS ..
发布时间:2022-01-18 17:24:50 其他开发

Jenkins - 从文件系统而不是 SCM 加载全局管道库?

我在文档中找不到有关如何执行此操作的任何内容 - 有人有什么想法吗? 解决方案 目前看来不可能.但是您可以轻松地初始化本地 git 存储库并将其用作 SCM,而无需任何远程托管. 要初始化 git repo,请在共享库的根目录中使用以下命令(例如 C:\Users\Jenkins\pipeline-shared-library-test): git 初始化混帐添加.git commit ..
发布时间:2022-01-18 17:24:43 其他开发

使用带有闭包映射的 failFast 会破坏“并行".步

不确定这是我对 Groovy 的有限了解还是 Pipeline parallel 步骤中的怪癖.如果我使用 map 而不是单独传递每个闭包,我无法让它接受 failFast: def map = [:]地图['垃圾邮件'] = {节点{回声“垃圾邮件"}}地图['鸡蛋'] = {节点{回声“鸡蛋"}}并行地图//有效.并行垃圾邮件:map['spam']、eggs: map['eggs']、fa ..
发布时间:2022-01-18 17:22:16 其他开发

从属性文件加载属性并使它们在整个作业/管道中可用 - Jenkins 声明性语法

我的要求很简单,我只想外化一些“值"以使我的 Jenkinsfile 更可重用,为此我需要从 Jenkinsfile 旁边的文件中加载属性,并确保这些属性在管道中的任何地方都可用.我对 groovy 和 Jenkins 代码仍然很陌生,但从未想过这么简单的事情会如此困难.我在脚本安全插件中启用了一些方法,但以下代码(以及我尝试过的几种变体)总是会出现错误或打印 null 或给我 NPE.我尝试了多 ..
发布时间:2022-01-18 17:20:30 其他开发

Jenkinsfile:在 Docker 容器中运行 sh 步骤时权限被拒绝

我无法运行一个简单的 Jenkinsfile - 例如 管道{代理{标签'ssh-slave'}阶段{阶段(“外壳测试"){脚步 {sh '回声“你好世界"'}}}} 主服务器上 Jenkins 的日志文件显示容器已成功启动,但构建作业崩溃并显示如下消息 sh: 1:/home/jenkins/workspace/pipeline@tmp/durable-34c21b81/script.sh ..
发布时间:2022-01-18 17:19:03 其他开发

如何获取当前 Jenkins 用户的电子邮件地址以在 groovy 脚本中使用

我为新的 Jenkins 工作流插件创建了一个 groovy 脚本,https://github.com/jenkinsci/工作流插件.我希望它在下一步需要输入时向开始工作的用户发送邮件.我尝试搜索 API,但找不到任何有关获取用户电子邮件地址的信息. 我会想到这样的事情. 导入 hudson.model.Userdef user = User.current()def mailAddr ..
发布时间:2022-01-18 17:18:13 其他开发

如何使用 Jenkinsfile 在 groovy 函数中使用环境变量

我正在尝试使用在 Jenkinsfile 中的任何节点之外定义的环境变量.我可以在任何节点的任何管道步骤中将它们纳入范围,但不能在函数内部.我现在能想到的唯一解决方案是将它们作为参数传递.但我想直接在函数内部引用环境变量,这样我就不必传入这么多参数.这是我的代码.如何让函数输出正确的 BRANCH_TEST 值? def BRANCH_TEST = "master";节点{部署()}定义部署() ..
发布时间:2022-01-18 17:14:59 其他开发