2012-08-30 22 views
7

Qualcuno sa se esiste un meccanismo in GitHub: Enterprise per impostare un hook generale di post-ricezione che si applicherà a tutti i repository (compresi quelli nuovi non appena vengono creati?)GitHub: gancio di post-ricezione aziendale

Sto provando a sviluppare un collegamento a un sistema secondario che vorrà ricevere notifica di tutti i push su tutti i repository e richiedere l'impostazione manuale per ogni nuovo repository sarà solo una questione di tempo prima che venga dimenticato.

+3

Bene, la soluzione semplice è utilizzare uno script per creare i repository su GitHub. Mi rendo conto che questo non risponde alla tua domanda, ma è un'opzione. –

+0

@JohnGietzen, chiamerò quel "piano B" per ora ... – jerryjvl

+3

Sfortunatamente, questa è stata una di quelle cose che è stata una regressione quando si passa da GitHub :: FI a Enterprise GitHub. Ora che bloccano la VM, non esiste alcun modo supportato di applicare un hook a tutti i repository. L'unica altra scelta è impostare ganci post-commit su tutto, @JohnGietzen ha ragione, usare uno script e l'API è la strada da percorrere. Sfortunatamente, è anche più utile per te metterlo a posto, e in realtà non risolve il problema. :-( – jszakmeister

risposta

-2

GithubCLI è un modo semplice per interagire con GitHub Enterprise e consente di aggiungere post-receive hooks from the command line. Collegando questo con listing repositories si potrebbe avere un cron job che assicura che tutti i repository abbiano uno specifico hook post-ricezione.

È inoltre possibile utilizzare REST API directly o una delle numerose librerie di collegamento come github_api. Per Enterprise è abbastanza facile. L'endpoint dell'API è http (s): // your-company/api/v3.

Non è una soluzione ideale, ma l'API è abbastanza facile da utilizzare. Spero possa aiutare!

+2

Temo che non sia corretto GithubCLI ti permetterà di interagire con l'API Github Enterprise Webhook, ma questi non sono gli stessi dei ganci di repository che puoi installare quando hai accesso al repository al filesystem. – feoh

4

So che questo è veramente vecchio, ma GitHub Enterprise 2.6 è appena uscito con i ganci di pre-ricezione. Ulteriori informazioni possono essere apprese qui: https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/.

Questo dovrebbe rispondere alla domanda originariamente pubblicata, in quanto è qualcosa che viene impostato a livello di istanza (quindi, è solo su GitHub Enterprise) e funzionerà per tutti i repository.

Sto cercando di sviluppare un collegamento ad un sistema secondario che vorranno ricevere la notifica di tutte le spinte a tutti i repository, e che richiedono manuale di set-up per ogni nuovo repository sarà solo una questione di tempo prima che si dimenticato.

Per quanto riguarda questo pezzo, un'altra cosa che potresti esaminare sarebbe il log forwarding su GitHub. Puoi leggere l'inoltro dei registri qui: https://help.github.com/enterprise/admin/articles/log-forwarding. Puoi anche controllare più destinazioni di inoltro dei registri a partire dalla versione 2.6