12

我需要在作业 A 成功执行后触发作业 B。作业 A 成功执行后,将向审批者发送电子邮件通知。审批者将收到一封电子邮件并单击邮件链接。他将被路由到 Jenkins 页面,在那里他将批准 Job B 的执行。

我不确定使用哪个插件可以提及批准者的姓名,批准者如何在登录 Jenkins 页面后单击链接并简单地说“批准”。

4

2 回答 2

16
  • 设置Job A
  • Job A作为电子邮件分机构建后操作的一部分,配置为向您的“批准人”发送电子邮件
  • 配置电子邮件以包含返回作业运行的链接(不仅仅是作业名称,或者您甚至可以直接链接到电子邮件中的促销活动)
  • 配置促销活动Job A
  • 在该促销中,允许它仅由您的“批准者”用户(按名称)运行
  • 配置该促销以触发Job B

运行时Job A,它将向“批准者”发送电子邮件。他/她将单击链接并进入 Jenkins 作业运行 UI。他/她应该使用他们的“批准人”用户登录到 Jenkins。

然后他/她可以点击促销星并简单地点击“批准”。这将触发促销,进而触发Job B

注意:您可以在没有“促销”插件的情况下实现类似的效果,但这正是该插件存在的原因,因此请使用它。

于 2015-06-26T15:34:40.617 回答
5

另一种选择是使用Jenkins Workflow 插件(根据jenkins-workflow问题上的标签),该插件专为这种更复杂的系统而设计。你会写这样的东西(在我的脑海中):

build job: 'A', wait: true mail to: 'user@…', subject: "Please approve #${env.BUILD_NUMBER}", body: """ See ${env.BUILD_URL}input/ """ input submitter: 'userId', message: 'Ready?' build job: 'B', wait: true

稍后,build可以通过内联这些自由式作业的工作,将这些步骤替换为实际的构建任务。

于 2015-06-27T08:04:31.263 回答