问题标签 [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 投票
0 回答
413 浏览

python-2.7 - 完整的 Groovy 列表未传递给 python 脚本

在我的 Jenkins 流水线中,我有一个 Groovy 列表,作为 Map 中的一个值,我想将完整列表传递给 Python 脚本。但是,只有列表的第一个元素被传入,而不是整个列表。

我的地图orderedScripts包含从 1 到 11 的键值,这些键的值是列表。

Groovy 代码

Python代码

输出(只能看到列表的第一个元素)

我注意到它在第一次到达第一个逗号后停止,并且没有附加右括号来完成列表。

${value}从 python print 语句中,我可以看到列表没有正确传递,但是当我在 Groovy中传递列表时,我不确定我做错了什么

** 编辑 **

来自 orderedScripts.dump() 的输出

0 投票
3 回答
5863 浏览

jenkins-pipeline - 将共享库中的日志传播到詹金斯作业控制台

我正在尝试编写一个共享库,它结合了全局变量和共享函数来为我们的项目执行构建和部署的自动化任务

项目布局如下:

在此处输入图像描述

该项目有两个主要部分:

  1. 放置在 vars 文件夹中的全局共享变量

  2. 支持 groovy 脚本以抽象逻辑,这些逻辑又将在全局变量中调用。

在此处输入图像描述

在 groovy 类中,我使用println记录调试信息

在此处输入图像描述

但是当它通过詹金斯管道作业调用时,它从未被打印出来

在此处输入图像描述

jenkins job的日志控制台如下:

在此处输入图像描述

有人可以告诉我如何将日志从 groovy 类传播到 jenkins 作业控制台,因为我只能看到全局共享脚本中来自println的日志显示在日志控制台中。

0 投票
1 回答
18755 浏览

date - Groovy - 以毫秒为单位将时间戳字符串转换为纪元时间

我有一个时间戳字符串如下:

我想根据 PST 时区将其转换为以毫秒为单位的纪元时间,这样我的结果是:

我怎样才能做到这一点?

0 投票
4 回答
93501 浏览

jenkins - 如何在 Jenkins 声明式管道中创建方法?

在 Jenkins 脚本化管道中,我们能够创建方法并调用它们。

在 Jenkins 声明性管道中是否也有可能?如何?

0 投票
0 回答
778 浏览

jenkins-pipeline - 从脚本中的所有行中删除前导空格

我刚刚开始使用 Jenkinsfile 管道语法,所以这可能是我在功能指南中忽略的内容。我有一个带有脚本的步骤,它将文本块作为powershell脚本运行,它可以正常工作,但我想用前导空格格式化文件以使所有内容都对齐但有实际执行的代码修剪空白。主要是我的痛点是“@ 行,powershell 要求它没有前导空格,所以它独自一人坐在外面。

0 投票
5 回答
28304 浏览

jenkins - 您如何处理声明性管道中的全局变量?

以前问过一个关于如何覆盖环境指令中定义的变量的问题,这似乎是不可能的。

我想在一个阶段设置一个变量并让其他阶段可以访问它。在声明式管道中,执行此操作的唯一方法似乎是在 script{} 块中。

例如,我需要在结帐后设置一些变量。因此,在结帐阶段结束时,我有一个 script{} 块来设置这些变量,并且它们可以在其他阶段访问。

这行得通,但感觉不对。为了便于阅读,我更喜欢在管道顶部声明这些变量并覆盖它们。因此,这意味着在开始时有一个“设置变量”阶段,其中包含一个仅定义 vars 的脚本{} 块——这很难看。

我很确定我在这里缺少一个明显的功能。声明性管道是否具有全局变量功能或者我必须使用脚本{}

0 投票
0 回答
2842 浏览

html - Jenkins Pipeline 中的文件格式

我正在使用脚本执行某些操作并将结果写入文件。最后,我应该将文件的内容发送给 Jenkins Job 的指定用户。

使用以下代码获取输出。

但这对我的期望没有帮助。问题是内容显示为如下元素列表

但是文件的实际内容是正确的格式

甚至尝试过这段代码:

但没有用,它只是显示为这样的段落

添加通知功能详细信息:

应该怎么做才能使内容以与输出文件相同的方式显示?

0 投票
0 回答
9117 浏览

jenkins - 在 Jenkins Pipeline 中访问多行字符串参数的数据

我正在使用“此项目已参数化”选项传递一个多行字符串参数,其内容类似于

以下是我能够获取每个元素的代码:

如何访问每个元素的特定值?像 "name" 和 "url"

这是满足此类要求的正确方法吗?如果没有,请给我推荐一个合适的。

尝试了此处建议的相同方式:

0 投票
1 回答
1305 浏览

jenkins - 在 Jenkins 中使用键值对以及参数可编辑选项

这是我在 Jenkins 中有参数(自动显示后应该是可编辑的)的要求:

  1. 用户从组件中选择 3 个值:DEV、QA、PROD
  2. 选择后,我需要返回单个或多个值作为参数,如下所示:如果选择了 DEV,则返回“Development http://dev.com 1”和“Development http://dev1.com 2”如果选择了 QA,则返回“ QA http://qa.com 1”和“QA http://qa.com 2”和“ http://qa.com 3” 如果选择了 PROD,则返回“Production http://prod.com 1”
  3. 在变量中返回值后,我将在“Jenkins 构建”的下一步中使用该变量值

注意:无论它返回上述值,它也应该是可编辑的

0 投票
1 回答
1038 浏览

jenkins - 詹金斯共享失败

我正面临 Jenkins 共享库的问题。它因以下错误而失败。

Groovy 变量代码

源类

管道代码

我不确定在上传之前是否需要编译此代码。