Bamboo:如果作业被取消或失败,如何执行某些逻辑

时间:2013-08-29 14:43:06

标签: java bamboo

我正在编写一个Bamboo插件,其中大部分是完整的。

该插件的工作原理是通过发送请求启动远程进程到服务器,然后轮询同一服务器,直到它收到一条消息,说明进程已完成或发生错误 - 此部分有效。

我想添加一些额外的逻辑,如果用户取消作业,我可以通知此服务器,但是我不确定如何解决这个问题。

我已经开始创建另一个作为最终任务运行的任务,但我不知道如何检测以前的任何任务是否失败或被取消。

我已尝试使用List<TaskResult> taskResults = taskContext.getBuildContext().getBuildResult().getTaskResults();获取上一个任务结果的列表,但这似乎总是会返回0任务结果。

我也尝试过使用Post-Build Completed Action Module,但是我不确定如何将它添加到作业中,这方面的文档让我有些神秘。

如果有人能帮助我朝着正确的方向前进,我将不胜感激。

1 个答案:

答案 0 :(得分:7)

通过阅读你所写的内容,我认为使用事件监听器绝对是解决问题的正确方法。下面我提供了一个我自己创建的图像,它似乎描述了你构建的内容,并显示了放置事件监听器的最佳位置。

基本上,您的客户端将通过其网络控制器机制向服务器发出取消通知。然后,服务器将通过其网络控制器接收该取消通知,该网络控制器已通过某种网络协议连接到客户端(我假设为TCP)。当来自客户端网络控制器的取消通知到达服务器的网络控制器时,服务器的网络控制器中的事件监听器将发信号通知服务器构建管理器终止远程构建。

您的计划图 enter image description here

我希望这会有所帮助。