Jenkins 詹金斯:不要为子作业运行生成后操作

Jenkins 詹金斯:不要为子作业运行生成后操作,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我们使用的是和一个矩阵组合参数。现在,当我们构建这个作业时,我们选择要构建的组合,并为每个选择的组合创建一个子作业 每个作业都会运行其生成步骤和生成后操作。但是,我还注意到,构建后操作也会针对父作业运行 例如,我们将作业配置为在成功后向Slack发布消息。现在,如果我使用参数构建作业并选择一个要构建的配置,我将收到两个空闲通知。一个用于主作业,一个用于所选配置 示例松弛输出,注意一个选择了配置,另一个没有: | My Jenkins Project » My Job » my config -

我们使用的是和一个矩阵组合参数。现在,当我们构建这个作业时,我们选择要构建的组合,并为每个选择的组合创建一个子作业

每个作业都会运行其生成步骤和生成后操作。但是,我还注意到,构建后操作也会针对父作业运行

例如,我们将作业配置为在成功后向Slack发布消息。现在,如果我使用参数构建作业并选择一个要构建的配置,我将收到两个空闲通知。一个用于主作业,一个用于所选配置

示例松弛输出,注意一个选择了配置,另一个没有:

| My Jenkins Project » My Job » my config - #51 Success after 1 min 54 sec (Open)
| My Jenkins Project » My Job - #51 Success after 1 min 55 sec (Open)
所以我的问题是,如何防止主作业上运行构建后操作

编辑:自从创建这个问题以来,我在Slack插件上找到了这个问题,它准确地描述了我所看到的。所以看起来这个功能应该由插件决定,而新版本导致了这个特定插件的回归


也许这个问题更适合这样:插件是否有责任确定它是作为多配置项目的一部分在全局作业中运行还是在配置作业中运行?

是否应该在Slack上发布一条消息,仅针对子作业还是父作业,也应该是插件配置的一部分提供。下面是一个来自github链接的示例。hipchat插件可以做到这一点:


Slack插件中的类似选项将解决您的问题,似乎有一个PR来修复它。你可以恢复到一个旧版本,根据我所看到的一切,这似乎是插件的责任。谢谢你的公关链接,祈祷它能被合并