Exportar / Imprimir lista de problemas de repo do GitHub

14

O repositório que eu estou procurando tem um grande número de problemas que eu gostaria de ler, mas não é gerenciável ao rolar na interface do GitHub. Existe uma opção para exportar ou imprimir uma lista completa de problemas para um repositório?

phwd
fonte

Respostas:

15

Existe uma API de problemas . Para obter todos os problemas de um repo, você pode usar cURL:

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

Isso retorna uma lista codificada em JSON de todos os problemas. E ...

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

… Retorna todos os problemas em aberto. Agora você só precisa converter o JSON para CSV e está pronto.

fuxia
fonte
Muito obrigado por chamar a atenção para a API GitHub existente.
Deer Hunter
6
Se o repositório é privado ou você tem 2-fator de autenticação habilitado, você ainda pode chegar a isso facilmente, indo para Github e criar um token de aplicativo, e usá-lo como este:curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=all
Unixmonkey
O token do aplicativo curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=alldeve ter o repoescopo selecionado. Caso contrário, a permissão não será concedida e você receberá um erro 404.
k_o_
3

Você pode emitir um hubcomando para isso.

  1. Clone o repositório.
  2. Instale hub(por exemplo, no macOS, execute:) brew install hub.
  3. Execute: hub issueno diretório repo para listar os problemas em aberto (está no formato Markdown).

Veja: hub --helppara mais informações:

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

Liste um resumo dos problemas em aberto do projeto para os quais o controle remoto "origem" aponta.

Nota: Acima git issue, lê-se , porque espera que você tenha um alias hubpara git( GH-966 ), por exemplo

alias git=hub

Outra alternativa é usar algumas ferramentas, como: IssuesDownload (aplicativo Java), export_repo_issues_to_csv.py , etc.

kenorb
fonte
Isso não funciona. issue(ou issues) não é um hubsubcomando.
whitequark
@whitequark Eu tenho o hub 2.2.3 e ele tem hub issuecomando. Veja: help.go.
kenorb
1
Oh! Eu não percebi que o hub foi reescrito e estava usando a gema Ruby.
whitequark