Cela devrait être une configuration simple et prête à l'emploi dans Jenkins, mais je n'ai rien trouvé de clair sur internet. Tout ce que je veux faire, c'est déclencher une construction UNIQUEMENT lorsque une pull request est fusionnée dans notre dépôt Github.
Pour commencer, Github agrège presque toutes les activités autour de la pull request en un seul webhook (contrairement à Bitbucket qui permet de différencier les actions).
Côté Jenkins, j'ai vu des publications pointer vers le Plugin Webhook Générique qui vous permet d'ingérer le json du webhook et de créer des variables, cependant d'ici il semble que celles-ci doivent être utilisées dans un script pour déclencher ou ne pas déclencher une construction.
Plugin Github Pull Request Build est un autre plugin populaire, mais encore une fois, rien n'indique explicitement "déclencher cette construction uniquement lorsque une PR est fusionnée" ou semble même donner la possibilité de rechercher une valeur spécifique dans le json du webhook.
Sauf s'il existe d'autres plugins que je n'ai pas trouvés, la meilleure option (c'est-à-dire la moins de configuration pour simplement lancer la construction) consiste à configurer le déclencheur de webhook GitHub pour un sondage GITSCM dans Jenkins et du côté Github, envoyer le webhook uniquement sur les événements de poussée... cependant, ce n'est pas le comportement exact que nous recherchons.
Actuellement, tout cela se fait via l'interface utilisateur, et cela fait un moment que je n'ai pas utilisé Jenkins, donc peut-être que l'infrastructure de pipeline déclarative a dépassé l'interface utilisateur, mais il semble que cela devrait être beaucoup plus intuitif. Quelqu'un peut-il expliquer la mise en œuvre la plus simple qu'il a trouvée, en utilisant Jenkins et Github, pour déclencher une construction UNIQUEMENT lorsque une pull request est fusionnée dans une branche spécifique?