en
Lingua
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
traduzione AI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Integrazione con GitHub

0 Introduzione

GitHub Integration è un componente aggiuntivo che può essere aggiunto a uno qualsiasi dei tre piani Easy Redmine.

Lo scopo del plugin è aggregare dati importanti da GitHub in Easy Redmine al fine di aiutare con il reporting, la valutazione e la presentazione delle attività di sviluppo, supportando così il processo decisionale da parte delle parti interessate che sono coinvolte nei progetti di sviluppo software e nei processi di l'azienda.

Le sue capacità includono una connessione iniziale molto semplice con la tua istanza GitHub (sia in versione self-hosted che cloud). Quando viene stabilita la connessione, Easy Redmine mostrerà gli elementi più cruciali di GitHub in elenchi configurabili e filtrabili (simili a un elenco di attività). Queste entità sono:

  • repository
  • Richieste pull
  • commit
  • Test

compresi i loro attributi più importanti.

Un elemento chiave dell'integrazione è che Easy Redmine NON copia fisicamente i repository. Il codice rimane in GitHub.

1 Stabilire la connessione

Innanzitutto, devi disporre di un token di accesso da un utente in GitHub, con le autorizzazioni appropriate.

  1. Seleziona un utente tramite il quale Easy Redmine accederà a GitHub. Potrebbe trattarsi di un utente speciale a cui nessuna persona effettua l'accesso, ad esempio, er_integratore
  2. Accedi a GitHub da questo utente
  3. Fare clic sull'avatar >> Impostazioni

  4. Impostazioni dello sviluppatore

  5. Token di accesso personali

  6. Genera nuovo token

  7. È necessario consentire questi ambiti
    - repo (controllo completo dei repository privati)
    - admin:repo_hook (controllo completo degli hook del repository)
    - utente (Aggiorna TUTTI i dati utente)
  8. Copia il token

    Ora puoi andare su Easy Redmine e inserire le informazioni vitali

  9. Vai a Amministrazione >> Integrazione Git >> Trova Integrazioni disponibili e colpisci Aggiungi

  10. Assegna un nome alla tua connessione, inserisci l'URL e il token di accesso che hai generato in precedenza.
    Nota: In caso di cloud, ad es https://github.com/robogithub-easy , basta entrare https://github.com/ senza sub-url. Non c'è bisogno di preoccuparsi, puoi vedere solo i progetti che l'utente con token di accesso può vedere. Se imposti tutti i tuoi progetti come privati, nessun altro potrà vederli.

  11. Risparmi
  12. Questo è tutto! La connessione è avvenuta.

Tutto il resto viene eseguito automaticamente in background. In particolare

  • Easy Redmine recupera tutti i progetti/repository di cui è membro l'utente con token di accesso
  • In questi repository vengono creati webhook => in modo che le informazioni su nuovi commit, richieste pull e test vengano inviate a Easy Redmine

1.1 Risoluzione dei problemi di connessione

Problema A
Non vedo alcun repository da questa istanza di GitHub

A causa di circostanze imprevedibili, può accadere che le suddette operazioni non vengano eseguite con successo. Di conseguenza, potresti non vedere alcun repository da questa istanza GitHub in Easy Redmine.

In tal caso, puoi importare i repository manualmente, con pochi clic.

  1. Vai su Admin >> Integrazione Git >> Integrazioni configurate >> Clicca sul nome

  2. Nel menu laterale, fai clic su Aggiungi repository

  3. Trova il deposito

  4. Dopo averlo selezionato, gli altri campi verranno compilati automaticamente
  5. Clicchi Risparmi
    Il repository viene aggiunto


Problema B
Sono stati trovati repository, ma i miei nuovi commit, richieste pull e test non vengono aggiunti in Easy Redmine

I nuovi dati da GitHub vengono inviati a Easy Redmine tramite webhook configurati in GitHub. In circostanze normali, vengono creati automaticamente. Puoi verificarlo nel tuo progetto GitHub >> Impostazioni >> Webhook


Se non è presente un webhook con il collegamento alla tua applicazione, dovrai crearlo. Ancora una volta, questa è un'operazione semplice.

  1. Vai su Admin >> Integrazione Git >> Integrazioni configurate >> Clicca sul nome

  2. Nel menu laterale, fare clic su repository

  3. Fare clic sul nome di uno

  4. Fare clic su Registra tutte le integrazioni

Ciò forzerà manualmente la creazione del webhook nella forma corretta.

Se il webhook esiste, ma contiene un'indicazione di errore, controlla il messaggio di errore e prova a risolverlo di conseguenza.


2 Parole chiave di riferimento

Ora che la connessione generale è configurata, hai già informazioni da GitHub in Easy Redmine e puoi utilizzarle. Tuttavia, per sfruttare appieno l'integrazione, ci sono un paio di impostazioni in più. Alcuni sono già preimpostati e puoi semplicemente controllarli.

È possibile connettere commit particolari o richieste pull a compiti particolari e persino registrare il tempo in questo modo senza dover visitare Easy Redmine. Questo viene fatto dai cosiddetti parole chiave di riferimento. Quando li usi nel messaggio di commit o nel nome della richiesta pull in combinazione con l'ID attività, verrà creato un collegamento tra l'attività e l'elemento GitHub. Gli esempi più comuni sono rif #1234 or chiude #1234

Nella maggior parte dei casi, troverai alcune parole chiave di riferimento preimpostate. Ecco come lavorare con loro.

  1. Vai al menu globale >> Integrazione Git >> Riferimenti


  2. Crea o modifica un riferimento
  3. L'intero modulo contiene suggerimenti per aiutarti a spostarti attraverso di essi

Le regole più importanti da ricordare sono:

  • L'attività deve essere identificata nel modulo #ID , ad esempio #1234
  • Il tempo di registrazione (se consentito) viene sempre inserito come @XhYm , ad esempio @1h30m
  • Sui commit, le parole chiave di riferimento devono essere inserite nel file messaggio di commit
  • Nelle richieste pull, le parole chiave di riferimento devono essere inserite in Nome della richiesta di pull

3 Mappatura utenti

Poiché abbiamo a che fare con l'integrazione di due diverse applicazioni, ciascuna ha diversi insiemi di utenti. Tutti gli attributi utente su entità correlate a GitHub (autore del commit, revisore su richiesta pull, ecc.) in Easy Redmine + il tempo trascorso registrato tramite parole chiave di riferimento, devono essere collegati a utenti reali. Quindi, in che modo gli utenti di GitHub sono effettivamente mappati su Easy Redmine?

Niente di scientifico qui, gli utenti vengono semplicemente mappati tramite l'e-mail in entrambi i profili utente. Assicurati che i tuoi sviluppatori abbiano e-mail identiche sia in GitHub che in Easy Redmine.

Se, per qualsiasi motivo, un utente non riesce a unificare le email in entrambe le applicazioni, c'è la possibilità di inserire email aggiuntive in Easy Redmine nel profilo utente -> inserisci l'email Github qui.


4 Come funziona

Finalmente stiamo arrivando alla parte divertente. Cosa fa effettivamente l'integrazione per gli utenti. Accedi alla pagina principale/dashboard dell'integrazione Git tramite il menu globale (in alto a destra) nella sezione Componenti aggiuntivi.


Troverai una pagina personalizzabile in uno stato predefinito, che potrai successivamente adattare alle tue esigenze.

Include anche un menu per elencare le entità o inserire le impostazioni. Come accennato nell'introduzione, Easy Redmine raccoglie e mostra 4 entità cruciali da GitHub. Diamo un'occhiata più da vicino a ciascuno di essi.

4.1 Repository

L'elenco dei repository è funzionalmente il meno interessante, sebbene veramente necessario. Viene chiamato un filtro utile degno di nota Servizi, che utilizzerai se hai varie istanze GitHub collegate e devi cercare solo in alcune di esse.


Particolare del deposito

Note:

  • (Un-)Registra tutte le integrazioni sono stati descritti nel capitolo 1.1. Creerà/eliminerà i webhook nel progetto GitHub.
  • Modifica - modificare manualmente alcuni attributi. Non c'è motivo diverso dal debug avanzato per modificare gli attributi del repository in Easy Redmine.
  • Sincronizzare - scarica tutti i dati correnti dal repository.
  • Richieste pull - elenca tutte le richieste pull in questo repository.
  • Scegli il modello di sequenza - ancora in fase di sviluppo, ti preghiamo di darci più tempo per lucidare questo robusto strumento.

4.2 Richieste pull (richieste di codice)

Dovremmo chiarire perché ci sono due nomi. Pull richiesta è il termine utilizzato in GitHub. Ad esempio, altri strumenti hanno nomi diversi Unisci richiesta. Il meccanismo di integrazione del nostro strumento è scritto in modo generale, in modo da poter espandere il supporto ad altre piattaforme Git. Pertanto, nell'applicazione e nelle immagini potresti trovare l'etichetta Richiesta codice, che è un termine generale che può essere applicato alle richieste Pull o alle richieste Unisci.

La richiesta pull è un'entità ricca (memorizza tutti gli attributi importanti) che consente di creare elenchi, report e persino grafici piacevoli sopra di essi direttamente in Easy Redmine.

Particolare della richiesta di pull

Note:

  • Il nome della richiesta pull contiene la parola chiave di riferimento "refs" seguita dall'ID attività con hash #765 - ecco perché è stata collegata all'attività 765
  • Cliccando su Sincronizzare aggiornerà tutti i dati di questo PR da GitHub
  • Tutti gli attributi possono essere visualizzati nell'elenco delle richieste pull
  • Tutti gli attributi tranne SHA possono essere utilizzati come filtri su elenco/report/grafico delle richieste pull
  • L'elenco delle richieste pull contiene anche gli attributi dei test (CI/CD) ad esso correlati, soprattutto - Stato del test

4.3 Impegni

Simile alle richieste pull, anche l'elenco dei commit offre vaste possibilità di reporting. L'elenco dei commit contiene anche gli attributi dei test.


Commit non ha una propria visualizzazione dei dettagli in Easy Redmine. Semplicemente non ce n'è bisogno. Cliccando su URL (o SHA), verrai indirizzato ai suoi dettagli in GitHub.

Test 4.4

Sono stati citati in relazione alle entità di cui sopra. I test hanno anche un proprio elenco per generare vari report. Probabilmente l'uso più comune sarà la visualizzazione live dei test sui repository critici, come i release candidate.

Anche i test non hanno la loro visualizzazione dei dettagli, facendo clic su GitHub.

4.5 Sinergia - vista dall'attività

Diamo un'occhiata a come va tutto insieme.

1 Stato generale delle entità GitHub relative a questa attività. Può contenere varie combinazioni di colori (rosso, arancione, verde) e icone (segno di spunta, croce). Il migliore è, ovviamente, il segno di spunta verde nella cornice verde
La combinazione dipende dallo stato delle richieste pull e dai risultati dei test relativi ai commit e alle richieste pull. Il suo scopo è mostrare a prima vista come stanno andando i progressi "tecnici" di questo compito, utile soprattutto per QA o delivery manager.

2 Nome dei repository in cui sono state salvate le modifiche relative a questa attività. Cliccando sul link verrai indirizzato all'elenco di questi commit.

3 Nome delle richieste pull che si riferiscono a questa attività. Cliccandoci sopra verrai indirizzato al dettaglio delle PR in Easy Redmine.
Nel caso in cui ci siano solo commit che fanno riferimento a questa attività ma manca la richiesta pull, questo valore è vuoto.

4 Stato di ogni richiesta pull. Facendo clic su di esso verrai reindirizzato ai dettagli della richiesta pull in GitHub.
Nel caso in cui ci siano solo commit che fanno riferimento a questa attività ma manca la richiesta pull, questo valore è vuoto.

5 Risultato dell'ultimo test eseguito nella richiesta pull. Cliccandoci sopra verrai indirizzato a GitHub. Non è cliccabile Sconosciuto stato (il test non esiste).
Nel caso in cui ci siano solo commit che fanno riferimento a questa attività ma manca la richiesta pull, il valore mostra il risultato dell'ultimo test eseguito sull'ultimo commit.

6 Esegui test manualmente: ti porta su GitHub.

7 Fare clic per creare una richiesta pull. Utile quando hai solo un set di commit, ma manca il PR (ti porta su GitHub).

4.6 Crea ramo dall'attività

Alcuni utenti trovano utile creare un ramo direttamente dall'attività.

Il pulsante si trova nella menù globale sul dettaglio dell'attività


Scegli il repository nel campo di completamento automatico. Il nome del ramo è precompilato con l'ID attività e l'oggetto, ma puoi modificarlo. Il ramo di origine è precompilato da Mastercard

Vedrai il ramo come un tag nella sezione di integrazione Git sull'attività. È cliccabile e porta al ramo in GitHub.



5 permessi

Al momento ci sono due autorizzazioni.

  • Visualizza: accedi al componente aggiuntivo dal menu globale
  • Gestisci: modifica la dashboard

La configurazione globale è accessibile solo all'amministratore di Easy Redmine.

Prova Easy Redmine in 30 giorni di prova gratuita

Funzionalità complete, protezione SSL, backup giornalieri, nella tua geolocalizzazione