gpt4 book ai didi

java - Bamboo : How to execute some logic if job is cancelled or fails

转载 作者:IT老高 更新时间:2023-10-28 20:48:00 25 4
gpt4 key购买 nike

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

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

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

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

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

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

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

最佳答案

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

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

你的程序图 enter image description here

我希望这会有所帮助。

关于java - Bamboo : How to execute some logic if job is cancelled or fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com