【问题标题】:Bamboo : How to execute some logic if job is cancelled or failsBamboo:如果作业被取消或失败,如何执行一些逻辑
【发布时间】:2013-09-02 01:43:56
【问题描述】:

我正在写一个 Bamboo 插件,大部分已经完成。

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

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

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

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

我也尝试过使用构建后完成的操作模块,但是我不确定如何将它添加到工作中,并且关于此的文档让我有些困惑。

如果有人能在正确的方向上帮助我,我将不胜感激。

【问题讨论】:

标签: java bamboo


【解决方案1】:

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

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

你的程序图

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2023-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多