当前位置: 首页 > 面试题库 >

Jenkins的带有参数的JobDSL队列

彭浩穰
2023-03-14
问题内容

有人知道您是否可以从具有参数的JobDSL中运行Jenkins的工作吗?

我已经使用了队列https://jenkinsci.github.io/job-dsl-
plugin/#path/queue

但是根据文档,它仅接受字符串或Job对象。也许有一种方法可以对Job对象进行处理,但是还不清楚。从JobDSL文档:

def example1 = job('example-1') {
   displayName('first example')
}

queue(example1)

job('example-2') {
    displayName('second example')
}

queue('example-2')

问题答案:

有同样的问题并且在文档中找不到答案,所以我现在按照这个例子使用系统groovy脚本。

def job = Hudson.instance.getJob('MyJobName')
def anotherBuild
try {
    def params = [
      new StringParameterValue('FOO', foo)
    ]
    def future = job.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(params))
    println "Waiting for the completion of " + HyperlinkNote.encodeTo('/' + job.url, job.fullDisplayName)
    anotherBuild = future.get()
} catch (CancellationException x) {
    throw new AbortException("${job.fullDisplayName} aborted.")
}

我正在使用Jenkins 2.116和Groovy插件2.0



 类似资料:
  • 在 Jenkins 中,我尝试使用 Groovy 脚本将参数传递到构建管道的下游作业中。在我的第一份工作中,我添加了一个构建步骤“执行 Groovy 脚本”,并将内容添加到 Groovy 命令中: 我得到输出: 我已经在我的机器上安装了Groovy 1.5.8,我的Jenkins版本是1.519。我在这里做错了什么。

  • 问题内容: 我想保存传递给JobDSL作业的参数。我知道我可以引用各个参数,但是我想使代码通用。我将如何访问传递给作业的参数列表? 当前代码如下所示: 我希望能够使其看起来像: 是构建流程插件中可用的内容,而JobDSL插件中没有。 问题答案: DSL不提供对构建参数的访问。但是脚本可以访问Jenkins对象模型,因此您可以使用Jenkins API来检索当前构建及其参数:

  • 问题内容: 我有以下JobDSL规格: 我想将常见代码重构为一个函数: 但是从函数内部看不到该函数。什么是正确的方法? 问题答案: 大括号形成Groovy闭合。每个闭包都有一个委托对象,方法调用定向到该委托对象。可以通过委托属性访问委托。您可以将该委托传递给helper函数以访问其方法。

  • 问题内容: 通过以下脚本触发: 该脚本在 Mac上 成功运行,并且jenkins作业确实被触发。如何使此脚本在 Windows上运行 ?在 Windows 上运行以上PHP脚本时出现以下错误? 。另外,有没有更好的方法在PHP中执行cURL?看这个:http : //php.net/manual/en/book.curl.php,有人可以 根据上面的PHP脚本 (对于 Windows )中 我的c

  • 目标是发送一个HTTP GET请求,其中包含表示枚举值的字符串列表问卷主题,然后使用这些参数选择正确主题的问题。我还添加了一个自定义转换器来将接收到的字符串转换为我的枚举。我的问题是当我在方法中调试时,“主题”总是为空。 这是我当前的RESTendpoint: 当我通过带有以下签名的方法传递单个主题时,我能够得到我的问题: 因此,将字符串转换为枚举似乎不是问题。 我尝试发送多个请求,但在endpo

  • 问题内容: 我正在阅读Wikipedia上的Singleton文章,并且遇到了以下示例: 虽然我真的很喜欢Singleton的行为方式,但是我看不到如何修改它以将参数合并到构造函数中。用Java进行此操作的首选方法是什么?我需要做这样的事情吗? 谢谢! 编辑:我想我对使用Singleton的渴望已经引发了一场争论的风暴。让我解释一下我的动机,并希望有人可以提出一个更好的主意。我正在使用网格计算框架