触发其他配置并使用Jenkins发送当前构建状态

时间:2012-06-28 08:18:54

标签: triggers automation jenkins

在某个Jenkins配置中,我希望触发另一个配置为发布构建操作。 我想将当前构建状态作为参数之一传递。

IE:表示状态的字符串/ int(SUCCESS / FAIL / UNSTABLE)。

我有2个选项来创建帖子构建触发器:

使用加入插件 join plug-in

在构建后操作中使用触发器参数化构建 parameterized build

我希望在运行结束时有某种可访问的env变量...

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

这是一个简单的解决方案,可以回答大多数情况:

使用'触发器参数化构建'插件,并设置两个触发器 -

  1. '稳定或不稳定但未失败'
  2. '失败'
  3. 每个触发器应该运行相同的工作 - 让我们称之为' JOB_B '。

    对于每个触发器,传递您喜欢的任何参数,并传递用户定义的值:

    • 触发器' 1 '使用: JOB_A_STATUS =成功
    • 触发' 2 '使用: JOB_A_STATUS =失败

    现在,您需要做的就是从 JOB_B 测试 $ {JOB_A_STATUS} 的值,看看它是否设置为'SUCCESS'或'FAIL'

    请注意,此解决方案不区分“稳定”和“不稳定”,但只知道“失败”和“成功”之间的区别。

    祝你好运!

答案 1 :(得分:2)

您可以通过Groovy Post-Build plugin在构建后步骤中使用Groovy脚本检查状态,该Jenkins Java API可以通过{{3}}访问Jenkins内部。该插件为脚本提供了变量 manager ,可用于访问API的重要部分(请参阅插件文档中的 Usage 部分)。

例如,这是您可以将构建结果输出到构建控制台的方法:

def result = manager.build.result
manager.listener.logger.println "And the result is: ${result}"

现在,您可以使用该值创建属性文件,并将该文件传递给参数化触发器构建后步骤(它有这样的选项)。

一个警告:我不确定是否可以安排构建后步骤以特定顺序执行,以确保Groovy后构建步骤在参数化触发器步骤之前运行。