问题标签 [jenkins-job-dsl]

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 回答
2661 浏览

jenkins-job-dsl - 使用 Jenkins Job DSL 为 Git 插件设置“轮询忽略某些路径中的提交”

我有一个使用 MultiScm 克隆 2 个 git 存储库的 Jenkins 工作。在轮询期间,我希望它忽略 2 个存储库之一。我可以在配置中手动设置“轮询忽略某些路径中的提交”以使其正常工作(使用“.*”作为排除路径)。

我想通过 job-dsl 启用此功能,因为作业是通过它创建的;但是,我找不到已更改的配置。无论是否设置“轮询忽略...”,作业的 config.xml 都相同。

关于如何通过 job-dsl 启用此功能的任何想法?

0 投票
1 回答
2755 浏览

git - 如何使用 Jenkins DSL 插件创建多分支项目?

是否可以使用https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin创建多分支项目?

我想在 Git 分支下的 Jenkins 文件中定义 Groovy DSL 配置。我希望有与https://wiki.jenkins-ci.org/display/JENKINS/Workflow+Plugin类似的 UI ,例如:

  • 工作名称(多分支 DSL 项目 - 不确定它是否存在)
    • 主(文件夹)
      • 来自主 DSL 的工作 1
      • 来自主 DSL 的工作 2
    • 功能/分支1(文件夹)
      • 来自 feature/branch1 DSL 的作业 1
      • 来自 feature/branch1 DSL 的作业 2
0 投票
1 回答
1343 浏览

jenkins-job-dsl - 为什么 Jenkins Job DSL 可以使用提供的脚本,但无法使用文件系统脚本?

我有一个 groovy 脚本来为我的 Jenkins 服务器创建文件夹。文件夹插件已安装并正在运行。我还安装了 Job DSL 插件并创建了 Seed 作业。提供 groovy DSL 代码有 2 个选项。1. 使用提供的 DSL 脚本或 2. 查看文件系统。

如果我使用选项 1 并提供此脚本,它可以完美运行,我会看到文件夹:

到目前为止,一切都很好。

我将此代码保存到种子作业工作区文件夹中的 Folders.groovy 中,然后尝试选项 2

这失败了,控制台中的错误消息是:

文件 Folders.groovy 以 UTF8 格式保存。

为什么 inline 版本有效而​​文件版本失败?

0 投票
1 回答
755 浏览

jenkins - Jenkins DSL 插件 - 未生成 cron 触发

我正在使用 Jenkins DSL 插件生成需要定期调用的作业一切都按预期进行 - 只有应该由下面的代码生成的触发 cron 没有显示在作业的 GUI 中,并且作业不是定期触发当我检查实际生成的作业配置文件(config.xml)时,cron 文本就在那里

这是代码:

cronVal 的值是从配置文件中获取的。

在 Ubuntu 12.04 上使用 DSL 版本 1.39、Jenkins 版本 1.625

0 投票
3 回答
3583 浏览

jenkins - 可以测试 Job DSL 脚本吗

理想情况下,我希望能够在 Jenkins 上执行之前通过某种单元测试调用脚本。

除了让 jenkins 运行它之外,还有什么方法可以测试 Job DSL 脚本?

0 投票
1 回答
1575 浏览

jenkins - Jenkins Job DSL:如何在配置块中构建特定节点?

我想要的特别的事情是防止在灵活发布部分执行某些步骤。我使用字符串(不)匹配的条件,并且我不希望在检查失败后执行某些操作。

手动配置,预期的步骤如下所示: 预期的后期构建步骤

由于我在Jenkins Jobs DSL API中没有找到合适的方法,因此我尝试使用 Configure 块来重现它。参考资料说我可以将“项目”用于作业的根元素,将“节点”用于特定节点以将子节点附加到它们。它还表示,如果存在指向节点,则不会再次创建新节点。所以这是我的配置:

尽管在我的詹金斯中也没有在 Playground 中生成参考所需的 xml。我有重复的节点,似乎“节点”被解释为“项目”,并且总是放在根目录。

我一直在通过 Job DSL 版本 1.40 在 Playground 中检查此示例,但我的 jenkins 中的 1.39 给出了相同的结果。

做错了什么?

谢谢你。

UPD我按照 SevenEleven 的建议将配置块放在下面,它几乎有帮助。runner 节点现在在正确的位置,但仍然重复。

UPD 2尽管 xml 中有两行不同的行,但较新的运行器替换了生成作业中的默认行。所以我得到了预期的结果。谢谢。

更新 3。耶!发现现在可以简单地使用 JobDSL 语法并且它可以工作。

0 投票
1 回答
1397 浏览

jenkins - 如何使用 groovy 执行 shell 脚本和更新环境变量?

如何编写 groovy 脚本来执行简单的 shell 命令并将 env 变量更新为属性文件,以便以后可以通过 Email-Ext 使用它。这是我想使用 groovy 执行的 shell 命令:

创建属性文件email_update.prop 后,我想将其作为注入的环境变量的一部分添加到属性文件路径中。

如何将其编写为我的 DSL 脚本的一部分?

0 投票
2 回答
1249 浏览

jenkins - Jenkins Jobs DSL - 如何定义 propertiesFile

我正在尝试使用 Jenkins Job DSL Plugin 定义一个 propertiesFile。

这是导致错误的代码行:(脚本,第 108 行)没有方法签名:步骤 { propertiesFile("email_update.prop")
}

javaposse.jobdsl.dsl.helpers.step.StepContext.propertiesFile() 适用于参数类型:(java.lang.String) 值:[email_update.prop] 有谁知道在 Jenkins Job DSL 中指定 propertiesFile 的正确语法?

0 投票
2 回答
9818 浏览

jenkins - Jenkins xml 配置到基于 Groovy 的 Jenkins Job DSL

有人可以给我一个有用的链接,我可以在其中找到有关为 Jenkins 作业转换复杂xml 配置的信息吗?

这是一个 Jenkins 工作示例:

0 投票
1 回答
217 浏览

selenium - Jenkins UI 自动化测试

如图所示,我们有以下 UI。这些参数是级联的,即它们是相互依赖的。如果您选择大陆,则各个国家/地区将出现,然后当您选择国家/地区时,相应城市将出现。

在此处输入图像描述

我想自动测试每个选项。这只是一个虚拟的 UI。在我的情况下,这些字段是动态的,即通过 shell/groovy 脚本动态生成,我有 10 多个这样的字段。

我见过 Robot Framework 和 Job-DSL Plugin,但我无法为这些选项选择编写测试用例。我还看到一些工具记录您的步骤并根据基于选择的选项和单击的按钮执行的步骤生成测试文件?

有人可以指导我选择最佳工具或平台以进行自动化测试吗?