扩展Jenkins Groovy DSL

扩展Jenkins Groovy DSL,jenkins,groovy,Jenkins,Groovy,我如何向Jenkins实例添加/编辑可以在DSL脚本中访问的新代码?上下文如下 我继承了一个詹金斯的例子。这一遗产的一部分包括在鬼屋过夜,通过网络编写一些新的自动化程序。因为我害怕破坏我们的jenkins实例,所以我的第一步是建立一个本地开发实例 我在本地开发实例上运行一个现有的DSL脚本时遇到问题——我在本地服务器上的构建在Jenkins错误控制台中失败,出现以下情况 Processing DSL script jobs.groovy ERROR: startup failed: jobs.g

我如何向Jenkins实例添加/编辑可以在DSL脚本中访问的新代码?上下文如下

我继承了一个詹金斯的例子。这一遗产的一部分包括在鬼屋过夜,通过网络编写一些新的自动化程序。因为我害怕破坏我们的jenkins实例,所以我的第一步是建立一个本地开发实例

我在本地开发实例上运行一个现有的DSL脚本时遇到问题——我在本地服务器上的构建在Jenkins错误控制台中失败,出现以下情况

Processing DSL script jobs.groovy
ERROR: startup failed:
jobs.groovy: 1: unable to resolve class thecompanysname.jenkins.extensions
这个剧本的开头是这样的

import thecompanysname.jenkins.extensions

use(extensions) {
  def org = 'project-name'
  def project = 'test-jenkins-repo'
  def _email = 'foo@example.com'
所以,就我所知,似乎是先驱者编写了一些他们正在导入的定制Groovy代码

import thecompanysname.jenkins.extensions
我不清楚的是

  • 此代码所在的位置
  • 我怎么能在我们真正的詹金斯案例中找到它
  • 如何将添加到本地实例

  • 欢迎给出具体的答案,因为我们这里介绍了如何学习搜索答案

    虽然可能还有其他方法可以做到这一点,但经过一番探索,我发现

  • 我安装的Jenkins实例安装的是旧版本的

  • 此版本的Jobs DSL插件允许您在Process DSL Builds作业部分中设置一个附加的
    classpath
    ,该部分指向附加的
    jar
    文件

  • 这些jar文件可以让您访问groovy脚本中的其他类(例如,
    companysname.jenkins.extensions


  • 不幸的是,Jobs DSL插件的最新版本已经删除了这个选项,现在还不清楚是否可以重新添加它。然而,这是另一个问题

    不确定它是否有用,但我认为附加的classpath选项与全局脚本安全选项相关。从内存开始,在全局禁用该选项的情况下,可以为作业dsl构建步骤提供额外的类路径选项。