2016-05-28 10 views

risposta

0

Dalla pagina del repository, fare clic sulla scheda Settings, quindi su Collaborators.

esempio URL

https://github.com/<username>/<repo name>/settings/collaboration 

Per controllare che ha contribuito a un repository che non si possiede, si può può andare al di pronti contro termine, fare clic su Graphs, quindi fare clic su Members.

esempio URL

https://github.com/<owner username>/<repo name>/network/members 
+1

Pensavo che la risposta potesse funzionare nel mio repository. Come posso entrare nel repository degli altri? –

+0

Ah, capisco. Immagino di non aver capito la domanda. – ryanjdillon

3

L'API v3 GitHub ha un endpoint per listing collaborators:

GET /repos/:owner/:repo/collaborators 

Per utilizzarlo, è necessario autenticarsi, e devi essere uno di quei collaboratori o si 'd vedere questo:

{ 
    "message": "Must have push access to view repository collaborators.", 
    "documentation_url": "https://developer.github.com/v3" 
} 

Ho notato che quando si passa alla sezione Problemi di un repository e si filtra per autore o assegnatario, si ottiene a drop-down listing the repository's collaborators. Il contenuto HTML di questa discesa è caricato su richiesta, in una richiesta GET distinta, ad esempio:

https://github.com/Leaflet/Leaflet/issues/show_menu_content?partial=issues/filters/authors_content 
  • Si tratta di un hack . L'URL non è ovviamente destinato al consumo programmatico. L'output è HTML, che può cambiare. Non c'è garanzia: usare a proprio rischio.
  • Questo URL funziona per tutti, non è nemmeno necessario accedere a GitHub. Se hai effettuato l'accesso, il tuo account verrà visualizzato per primo nell'elenco.
  • Questo URL funziona anche su repository con problemi disabilitati.
0

Avevo un bisogno simile. Così, sono andato e ho trovato i dettagli di tutti i PushEvent, CreateEvent e PullRequestEvent realizzati sul ramo master del repository dal database githubarchive ospitato su google bigquery. Da questo, potrei ottenere una stima prudente di tutti gli utenti che sono collaboratori. Ogni evento PullRequestEvent che viene unito genera un evento push con il nome del collaboratore che ha unito la richiesta. Tuttavia, se un PullRequestEvent viene rifiutato, ho dovuto verificare chi ha chiuso PullRequest e se non è l'utente che ha originariamente creato la richiesta pull, quella persona è anche un collaboratore. Non sono sicuro se questo è il modo migliore per farlo, ma questo è tutto ciò che ho potuto pensare.

Problemi correlati