java - ejemplo - jlabel definicion
Bamboo: cómo ejecutar alguna lógica si el trabajo se cancela o falla (1)
Al leer lo que escribiste, creo que usar un detector de eventos es definitivamente la manera correcta de abordar tu problema. A continuación, proporcioné una imagen de mi propia creación que parece describir lo que has construido y que muestra dónde podría ser mejor colocar al oyente del evento.
Esencialmente, el cliente suyo emitirá una notificación de cancelación al servidor a través de su mecanismo de controlador de red. El servidor recibirá esa notificación de cancelación a través de su controlador de red que ya está conectado al cliente a través de algún protocolo de red (supongo que es TCP). Cuando esa notificación de cancelación del controlador de red del cliente llega al controlador de red del servidor, el detector de eventos en el controlador de red del servidor indicará al administrador de compilación del servidor que finalice la compilación remota.
Diagrama de su programa
Espero que esto ayude.
Estoy en el proceso de escribir un complemento de Bamboo, la mayor parte de los cuales está completo.
El complemento funciona iniciando un proceso remoto mediante una solicitud posterior a un servidor y luego sondeando el mismo servidor hasta que recibe un mensaje que indica que el proceso se ha completado o que se produjo un error.
Me gustaría agregar alguna lógica adicional donde pueda notificar a este servidor si el usuario cancela el trabajo, pero no estoy seguro de cómo hacerlo.
He jugado con la creación de otra tarea que se ejecuta como una tarea final, sin embargo, no sé cómo detectar si alguna de las tareas anteriores falló o se canceló.
He intentado usar List<TaskResult> taskResults = taskContext.getBuildContext().getBuildResult().getTaskResults();
para obtener una lista de los resultados de la Tarea anterior, sin embargo, esto siempre parece devolver 0 Resultados de la Tarea.
También he intentado usar un Módulo de acción completada posterior a la compilación, sin embargo, no estoy seguro de cómo agregar esto a un trabajo y la documentación sobre esto me ha desconcertado un poco.
Si alguien pudiera ayudarme en la dirección correcta, lo apreciaría.