software que continuous-integration bamboo bitbucket-server

continuous integration - que - ¿Desencadenar compilación en Bamboo para solicitudes de extracción en Stash?



download bamboo (2)

La integración de Stash y Bamboo es estándar en Atlassian.

Por favor, consulte: https://confluence.atlassian.com/display/STASH/Bamboo+integration

Quiero saber si es posible configurar algo similar a lo que ha logrado Jenkins + Github con el complemento del generador de solicitudes . Específicamente, activar una compilación en Bamboo cuando se crea una solicitud de extracción en Stash, utilizando la rama de solicitud de extracción para la compilación.

Puntos de bonificación por desencadenar nuevas construcciones cuando se actualiza la solicitud de extracción, o si se da algún comando a través de comentarios (como con el complemento Jenkins).

No puedo ver una manera de hacer eso, y ni siquiera puedo ver una manera de crear un complemento que lo haga posible. Tal vez el desencadenador Merge-check para los complementos funcionaría, pero parece que algo se dispara cuando alguien mira la solicitud de extracción, no algo que se activa cuando llega una solicitud de extracción.


Resolvimos esto escribiendo un plugin de Stash, que ahora ha sido de código abierto y está disponible en github .

El truco es anotar métodos con com.atlassian.event.api.EventListener , que hará que Stash los llame cuando ocurra un evento correspondiente. Entonces solo escucha eventos como:

  • com.atlassian.stash.event.pull.PullRequestCommentAddedEvent
  • com.atlassian.stash.event.pull.PullRequestOpenedEvent
  • com.atlassian.stash.event.pull.PullRequestReopenedEvent
  • com.atlassian.stash.event.pull.PullRequestRescopedEvent

Aparte de eso, solo sigue las pautas de Atlassian para crear complementos. El complemento de código abierto puede servir como referencia.