Richiesta di unione automatizzata in GitLab

Aug 21 2020

il mio GitLab è installato in uno dei server. più sviluppatori sviluppano il codice sorgente nel loro ramo e inviano i sorgenti dalle loro macchine locali a GitLab. in seguito gli sviluppatori accederanno all'account GitLab e creeranno una richiesta di unione al ramo predefinito.

Ora come posso creare una richiesta di unione automatizzata al ramo predefinito, quando gli sviluppatori inviano il loro codice dalla loro macchina locale a GitLab.

Risposte

2 DV82XL Aug 21 2020 at 19:58

Sfortunatamente, su GitLab non è presente alcuna funzionalità per la creazione automatica di richieste di unione. Devi crearli tu stesso usando uno script bash o python, per esempio. Di solito chiamo solo un create_merge_requestlavoro in una setupfase che viene eseguita all'inizio di ogni pipeline. I passaggi vanno in questo modo:

  1. Leggi un elenco di tutte le richieste di unione aperte
  2. Contare quanti di questi MR aperti sono mappati al ramo di origine
  3. Se non sono presenti MR aperti, crearne uno con le impostazioni predefinite desiderate

Come @mnestorov detto, c'è una versione open-source disponibile qui che esegue quei passi in uno script bash. Penso che l'unica variabile che devi creare nella sezione Variabili GitLab sia GITLAB_PRIVATE_TOKENe inserire il tuo token API GitLab. Vedere Token di accesso personali per istruzioni su come creare token. Puoi anche provare ad aggiornare lo script per utilizzare la CI_JOB_TOKENvariabile predefinita , ma non sei sicuro che funzionerà. Provalo e facci sapere!

In alternativa, puoi scrivere uno script Python utilizzando l'API GitLab, ma potresti doverlo scrivere tu stesso. Puoi trovare alcune informazioni su Come creare una richiesta di unione alla fine di una pipeline di successo in Gitlab? .