Comment récupérer la liste de tous les référentiels github d’une personne?

Nous travaillons sur un projet où nous devons afficher tous les projets d’une personne dans son référentiel sur le compte GitHub.

Quelqu’un peut-il suggérer, comment puis-je afficher les noms de tous les repositorys git d’une personne particulière en utilisant son nom d’utilisateur git?

Utilisez l’ API Github :

/users/:user/repos

Cela vous donnera tous les référentiels publics de l’utilisateur. Si vous avez besoin de trouver des référentiels privés, vous devrez vous authentifier en tant qu’utilisateur particulier. Vous pouvez ensuite utiliser l’appel REST:

/user/repos

pour trouver tous les repos de l’utilisateur

Pour ce faire en Python, faites quelque chose comme:

 USER='AUSER' API_TOKEN='ATOKEN' GIT_API_URL='https://api.github.com' def get_api(url): try: request = urllib2.Request(GIT_API_URL + url) base64ssortingng = base64.encodessortingng('%s/token:%s' % (USER, API_TOKEN)).replace('\n', '') request.add_header("Authorization", "Basic %s" % base64ssortingng) result = urllib2.urlopen(request) result.close() except: print 'Failed to get api request from %s' % url 

Où l’URL transmise à la fonction est l’URL REST comme dans les exemples ci-dessus. Si vous n’avez pas besoin de vous authentifier, modifiez simplement la méthode pour supprimer l’ajout de l’en-tête Authorization. Vous pouvez ensuite obtenir n’importe quelle URL publique en utilisant une simple requête GET.

Vous pouvez utiliser le github api pour cela. Frapper https://api.github.com/users/username/repos listera les référentiels publics de cet utilisateur.

Essayez la commande curl suivante pour répertorier les référentiels:

 GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=100" | grep -o 'git@[^"]*' 

Pour répertorier les URL clonées, exécutez:

 GHUSER=CHANGEME; curl -s "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -w clone_url | grep -o '[^"]\+://.\+.git' 

Si c’est privé, vous devez append votre clé API ( access_token=GITHUB_API_TOKEN ), par exemple:

 curl "https://api.github.com/users/$GHUSER/repos?access_token=$GITHUB_API_TOKEN" | grep -w clone_url 

Pour les cloner, voir: Comment cloner tous les repositorys à la fois à partir de GitHub?

Voir aussi: Comment télécharger GitHub Release à partir de repo privé en utilisant la ligne de commande

Vous avez probablement besoin d’une solution jsonp:

https://api.github.com/users/[user name]/repos?callback=abc

Si vous utilisez jQuery:

 $.ajax({ url: "https://api.github.com/users/blackmiaool/repos", jsonp: true, method: "GET", dataType: "json", success: function(res) { console.log(res) } });