Exportar / imprimir lista de problemas de repositorio de GitHub

14

El repositorio que estoy viendo tiene una gran cantidad de problemas que me gustaría leer, pero no es manejable mientras se desplaza en GitHub interace. ¿Existe una opción para exportar o imprimir una lista completa de problemas para un repositorio?

phwd
fuente

Respuestas:

15

Hay una API de problemas . Para obtener todos los problemas de un repositorio, puede usar cURL:

curl -i https://api.github.com/repos/username/reponame/issues

Esto devuelve una lista codificada JSON de todos los problemas. Y ...

curl -i https://api.github.com/repos/username/reponame/issues?status=open

... devuelve todos los problemas abiertos. Ahora solo tiene que convertir el JSON a CSV y ya está listo.

fuxia
fuente
Muchas gracias por llamar la atención sobre la API de GitHub existente.
Deer Hunter
66
Si el repositorio es privado o tiene habilitada la autenticación de 2 factores, aún puede acceder a esto fácilmente ingresando a Github y creando un token de aplicación, y usándolo así:curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=all
Unixmonkey
El token de la aplicación curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=alldebe tener el repoalcance seleccionado. De lo contrario, no se otorga el permiso y se obtiene un error 404.
k_o_
3

Puede emitir un hubcomando para eso.

  1. Clonar el repositorio.
  2. Instalar hub(por ejemplo, en macOS run:) brew install hub.
  3. Ejecutar: hub issueen su directorio de repos para enumerar los problemas abiertos (está en formato Markdown).

Ver: hub --helppara más información:

These GitHub commands are provided by hub:

   pull-request   Open a pull request on GitHub
   fork           Make a fork of a remote repository on GitHub and add as remote
   create         Create this repository on GitHub and add GitHub as origin
   browse         Open a GitHub page in the default browser
   compare        Open a compare page on GitHub
   release        List or create releases (beta)
   issue          List or create issues (beta)

usage: git issue

Enumere el resumen de los problemas abiertos para el proyecto a los que apunta el control remoto "origen".

Nota: Lee arriba git issue, porque espera que tengas un alias hubpara git( GH-966 ), por ejemplo

alias git=hub

Otra alternativa es utilizar algunas herramientas como: IssuesDownload (aplicación Java), export_repo_issues_to_csv.py , etc.

kenorb
fuente
Esto no funciona issue(o issues) no es un hubsubcomando.
whitequark
@whitequark Tengo el hub 2.2.3 y tiene hub issuecomando. Ver: help.go.
kenorb
1
Oh! No me di cuenta de que Hub fue reescrito en Go y estaba usando la gema Ruby.
whitequark