Estamos trabajando en un proyecto en el que necesitamos mostrar todos los proyectos de una persona en su repositorio en la cuenta de GitHub.
¿Alguien puede sugerir cómo puedo mostrar los nombres de todos los repositorios de git de una persona en particular usando su nombre de usuario de git?
github
github-api
usuario1127981
fuente
fuente

?per_page=developer.github.com/v3/#paginationUtilice la API de Github :
/users/:user/reposEsto le dará todos los repositorios públicos del usuario. Si necesita encontrar repositorios privados, deberá autenticarse como el usuario en particular. Luego puede usar la llamada REST:
/user/repospara encontrar todos los repositorios del usuario.
Para hacer esto en Python, haga algo como:
Donde la URL pasada a la función es la URL REST como en los ejemplos anteriores. Si no necesita autenticarse, simplemente modifique el método para eliminar la adición del encabezado de autorización. A continuación, puede obtener cualquier URL de API pública mediante una simple solicitud GET.
fuente
?per_page=100para obtener la cantidad máxima, pero si un usuario tiene más de cien repositorios, deberá seguir variasnextURL en elLinkenvío del encabezado HTTP con la respuesta.Pruebe el siguiente
curlcomando para enumerar los repositorios:Para enumerar las URL clonadas, ejecute:
Si es privado, debe agregar su clave API (
access_token=GITHUB_API_TOKEN), por ejemplo:Si el usuario es una organización, utilice
/orgs/:username/reposen su lugar para devolver todos los repositorios.Para clonarlos, consulte: ¿Cómo clonar todos los repositorios a la vez desde GitHub?
Ver también: Cómo descargar GitHub Release desde un repositorio privado usando la línea de comandos
fuente
per_page=1000.-sopción a sucurlcomando para deshacerse de esas barras de progreso antiestéticas, como encurl -s .../orgs/:username/reposdevuelva todos los repositorios,/users/...devuelva parte de ellos, esto es realmente extraño. el nombre de usuario puede tratarse tanto como un usuario como como una organización.Si tiene jq instalado, puede usar el siguiente comando para listar todos los repositorios públicos de un usuario
fuente
Probablemente necesite una solución jsonp:
https://api.github.com/users/[user name]/repos?callback=abcSi usa jQuery:
$.ajax({ url: "https://api.github.com/users/blackmiaool/repos", jsonp: true, method: "GET", dataType: "json", success: function(res) { console.log(res) } });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>fuente
Los repositorios del módulo NPM capturan el JSON para todos los repositorios públicos de algún usuario o grupo. Puede ejecutar esto directamente desde
npxpara que no necesite instalar nada, simplemente elija una organización o usuario ("W3C" aquí):Esto creará un archivo llamado W3Crepos.json. Grep es lo suficientemente bueno como para, por ejemplo, obtener la lista de repositorios:
pros:
contras:
npx(onpmsi desea instalarlo de verdad).fuente
Recupere la lista de todos los repositorios públicos de un usuario de GitHub que usa Python:
import requests username = input("Enter the github username:") request = requests.get('https://api.github.com/users/'+username+'/repos') json = request.json() for i in range(0,len(json)): print("Project Number:",i+1) print("Project Name:",json[i]['name']) print("Project URL:",json[i]['svn_url'],"\n")Referencia
fuente
Ahora hay una opción para usar el asombroso GraphQL API Explorer .
Quería una lista de todos los repositorios activos de mi organización con sus respectivos idiomas. Esta consulta hace precisamente eso:
fuente
Si busca repositorios de una organización-
api.github.com/orgs/$NAMEOFORG/repos
Ejemplo:
También puede agregar el parámetro per_page para obtener todos los nombres en caso de que haya un problema de paginación.
fuente
Aquí hay una especificación completa para la API de repositorios:
https://developer.github.com/v3/repos/#list-repositories-for-a-user
GET /users/:username/reposParámetros de cadena de consulta:
Los primeros 5 están documentados en el enlace API anterior. Los parámetros para
pageyper_pageque están documentados en otra parte y son útiles en una descripción completa.type(cadena): Puede ser uno deall,owner,member. Defecto:ownersort(cadena): Puede ser uno decreated,updated,pushed,full_name. Defecto:full_namedirection(cadena): puede ser uno deascodesc. Predeterminado:asccuando se usafull_name, de lo contrariodescpage(entero): página actualper_page(entero): número de registros por páginaDado que se trata de una API HTTP GET, además de cURL, puede probar esto simplemente en el navegador. Por ejemplo:
https://api.github.com/users/grokify/repos?per_page=1&page=2
fuente
HTML
JavaScript
// Repositorios de Github
Si desea limitar la lista de repositorios, puede agregar
?per_page=3despuésusername/repos.p.ej
username/repos?per_page=3En lugar de /
username/, puede poner el nombre de usuario de cualquier persona en Github.fuente
Paging JSON
El código JS a continuación está diseñado para usarse en una consola.
fuente
La respuesta es "/ users /: user / repo", pero tengo todo el código que hace esto en un proyecto de código abierto que puede usar para instalar una aplicación web en un servidor.
Presenté un proyecto de GitHub llamado Git-Captain que se comunica con la API de GitHub que enumera todos los repositorios.
Es una aplicación web de código abierto creada con Node.js que utiliza la API de GitHub para buscar, crear y eliminar una rama en numerosos repositorios de GitHub.
Se puede configurar para organizaciones o un solo usuario.
También tengo un paso a paso sobre cómo configurarlo en el archivo read-me.
fuente
Para obtener la URL de los 100 repositorios públicos del usuario:
$.getJSON("https://api.github.com/users/suhailvs/repos?per_page=100", function(json) { var resp = ''; $.each(json, function(index, value) { resp=resp+index + ' ' + value['html_url']+ ' -'; console.log(resp); }); });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>fuente
fuente