Activar la compilación de Jenkins para la solicitud de fusión del enlace web de GitLab


10

Quiero que Jenkins (1.561) cree solicitudes de fusión (extracción) enviadas a GitLab (6.7.5), desencadenadas por un enlace web de solicitud de fusión. Tengo una compilación parametrizada, y los complementos de Jenkins "GitLab Merge Request Builder" (1.2.0) y "GitLab Hook" (1.0.0). Lamentablemente, migrar a Jenkins CI no es una opción real.

La Solicitud de combinación constructor de complementos es capaz de solicitudes de construcción de combinación, siempre y cuando las variables gitlabMergeRequestId, gitlabTargetBranchy gitlabSourceBranchestán disponibles. Esto funciona bien cuando el plugin sondea el repositorio en sí, o desencado la compilación con una carga útil manual (por ejemplo curl --data "gitlabMergeRequestId=3&so_on http://server_name/job/$JOB_NAME/buildWithParameters), pero no puedo hacer esto con un gancho.

Usando el complemento GitLab Hook, puedo obtener los datos necesarios en la carga útil JSON, pero los valores tienen claves "incorrectas":

  • gitlabMergeRequestId es id
  • gitlabTargetBranch es target_branch
  • gitlabSourceBranch es source_branch

He intentado configurar los parámetros de compilación con los requisitos del complemento GitLab Merge Request Builder as Namey los valores variables como Default Value. Desafortunadamente (y probablemente intencionalmente), las variables en los Default Valuecampos no se reemplazan, por lo que Jenkins está buscando una solicitud de fusión con la identificación ${id}y valores de ramificación similares.

No he encontrado ninguna forma de configurar la carga útil enviada desde GitLab, y no hay opciones de configuración ni para el complemento GitLab Hook ni para los nombres de parámetros utilizados por el complemento GitLab Merge Request Builder.

Estoy considerando escribir un pequeño script PHP para interceptar y alterar la carga de la POST antes de pasarlo a Jenkins. Si bien estoy seguro de que esto funcionará, definitivamente parece innecesariamente complicado.

La única otra opción real que puedo ver es alterar la fuente de los complementos, pero esto hace que actualizarlos sea una PITA.

¿He pasado por alto algo obvio, o realmente no hay una forma más simple de activar las compilaciones de solicitud de fusión con un enlace web de GitLab a Jenkins?

Respuestas:



0

Mira este nuevo complemento (gitlab-plugin), tal vez te ayude. Este complemento emula a Jenkins como un servicio web GitlabCI para ser utilizado con GitlabHQ.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.