web-dev-qa-db-fra.com

Comment puis-je exporter des problèmes GitHub vers Excel?

Comment puis-je exporter tous mes problèmes d'un référentiel Enterprise GitHub vers un fichier Excel? J'ai essayé de chercher de nombreuses réponses à Stack Overflow, mais sans succès. J'ai aussi essayé cette solution ( exportation de problèmes Git au format CSV et obtention de l'erreur "ImportError: No module de demandes nommées". Existe-t-il un outil ou un moyen simple d'exporter tous les problèmes vers Excel?

24
mmar

Pour exporter à partir d'un référentiel privé à l'aide de curl, vous pouvez exécuter les opérations suivantes:

curl -i "https://api.github.com/repos/<repo-owner>/<repo-name>/issues" -u "<user-name>"

Où l'utilisateur a accès au dépôt privé. Vous pouvez ensuite convertir le fichier json résultant en csv en utilisant n’importe quel convertisseur approprié, comme suggéré dans d’autres réponses.

Trouver la référence d'authentification ici .

33
smbuthia

S'il s'agit d'une tâche ponctuelle, vous pouvez jouer avec GitHub WebAPI . Cela permet d'exporter les problèmes au format JSON. Ensuite, vous pouvez le convertir en Excel (par exemple, à l'aide de convertisseur en ligne ).

Ouvrez simplement l’URL suivante dans un navigateur en remplaçant le {owner} et {repo} avec de vraies valeurs:

https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100

9
Serhii Shushliapin

J'ai essayé les méthodes décrites dans d'autres commentaires concernant les problèmes d'exportation au format JSON. Cela a fonctionné correctement, mais la mise en forme était en quelque sorte gâchée. Ensuite, dans l’aide d’Excel, j’ai trouvé qu’elle pouvait accéder directement aux API et charger parfaitement les données de la réponse JSON dans mes feuilles Excel.

Les termes utilisés par Google pour trouver l'aide dont j'avais besoin étaient "Excel WebContent GET json". J'ai trouvé une vidéo How To Excel qui m'a beaucoup aidé.

URL qui a fonctionné dans la requête Excel (identique à d’autres publications):

https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100

Personnellement, j’ajoute également le paramètre & state = open, sinon je dois demander des centaines de pages. À un moment donné, j'ai atteint la limite fixée par GitHub pour les appels d'API non authentifiés/heure pour mon adresse IP.

1
Stuart

Il est regrettable que github.com ne facilite pas cela.

Dans l’intervalle, si vous avez jq et curl, vous pouvez le faire en deux lignes en utilisant quelque chose comme l’exemple suivant qui affiche le numéro de publication, le titre et les étiquettes (tags) et fonctionne également pour les pensions privées (si vous ne le souhaitez pas). Pour filtrer par étiquette, il suffit de retirer le labels={label}& partie de l'URL). Vous devrez remplacer le propriétaire, le référentiel, l'étiquette et le nom d'utilisateur:

echo "number, title,tags" > issues.csv
curl "https://api.github.com/repos/{owner}/{repo}/issues?labels={label}&page=1&per_page=100" -u "username" \
| jq -r '.[] | [.number, .title, (.labels|map(.name)|join("/"))]|@csv' >> issues.csv

Notez que si vos données dépassent 1 page, des appels supplémentaires peuvent être nécessaires.

1
mwag

Le wrapper en ligne de commande hub pour github rend cela très simple.

Vous pouvez faire quelque chose comme ça:

$ hub issue -f "%t,%l%n" > list.csv

qui te donne quelque chose comme ça

$ more issue.csv

Issue 1 title, tag1 tag2
Issue 2 title, tag3 tag2
Issue 3 title, tag1
0
chip

Exporter les requêtes d'extraction peut exporter des problèmes dans un fichier CSV, qui peut être ouvert avec Excel. Il prend également en charge GitLab et Bitbucket.

De sa documentation:

Exportez les relations publiques et les problèmes ouverts dans sshaw/git-link et sshaw/iTunes_store_transporter:

epr sshaw/git-link sshaw/iTunes_store_transporter> pr.csv

La demande d'extraction ouverte d'exportation non créée par sshaw dans padrino/padrino-framework:

epr -x pr -c '! sshaw' padrino/padrino-framework> pr.csv

Il dispose de plusieurs options pour filtrer ce qui est exporté.

0
Dumb E.