2014-10-16 50 views
2

我将Jenkins与Git和Gerrit插件结合使用。我想在Ref Updated上触发一项工作。但是,我需要了解这个事件背后的动作是否是创建一个新的分支。如果是,那么我将执行我的shell脚本,否则不会。Jenkins/Gerrit流事件 - 在新创建的分支上触发的作业

据我所知,这个信息在Gerrit的事件json响应中可用,但我不知道如何通过Jenkins消费这个json对象。

有没有一种方法可以通过Jenkins轻松实现(也许是我错过的界面中的某些东西)?或者还有另一种方式来监视在Jenkins/Gerrit插件环境中创建新分支的过程吗?

+0

我认为这个事件发生时,例如直接推一个裁判。但我不确定创建分支可以被视为ref更新。 – HiB 2014-10-16 17:56:00

+0

每当我创建一个新的远程分支时(在Gerrit界面上),以及当我删除它并执行其他操作时,我的普通作业都会被触发。我指定的事件是“Rep Updated”,指定的分支是任何分支。 – feychou 2014-10-17 08:58:59

+0

编辑:我的意思是“纯”是“空白”。 – feychou 2014-10-17 10:19:31

回答

1

所以我只记得有一堆格里特环境变量,都可以在建筑物脚本中使用的,enter image description here

即这些人。我只需要检查GERRIT_OLDREV是否等于0000000000000000000000000000000000000000,如果是,则表示该分支是新创建的(供参考:here)。 Here是我附上的图片的全尺寸。