wake-up-neo.com

Wie kann ich GitHub-Probleme nach Excel exportieren?

Wie kann ich alle meine Probleme aus einem Enterprise GitHub-Repository in eine Excel-Datei exportieren? Ich habe versucht, viele Stack Overflow-Antworten zu suchen, aber es gelang mir nicht. Ich habe auch diese Lösung ausprobiert ( Exportieren von Git-Problemen nach CSV und dabei die Fehlermeldung "ImportError: No module named orders" erhalten. Gibt es ein Tool oder eine einfache Möglichkeit, alle Probleme nach Excel zu exportieren?

24
mmar

Um aus einem privaten Repo mit curl zu exportieren, können Sie Folgendes ausführen:

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

Wo der Benutzer Zugriff auf das private Repo hat. Sie können den resultierenden json dann mit einem geeigneten Konverter in csv konvertieren, wie in anderen Antworten vorgeschlagen.

Finden Sie die Authentifizierungsreferenz hier .

33
smbuthia

Wenn dies eine einmalige Aufgabe ist, können Sie mit GitHub WebAPI herumspielen. Sie können die Probleme im JSON-Format exportieren. Dann können Sie es in Excel konvertieren (z. B. mit einem Online-Konverter ).

Öffnen Sie einfach die folgende URL in einem Browser und ersetzen Sie das {owner} und {repo} mit realen Werten:

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

9

Ich habe die in anderen Kommentaren beschriebenen Methoden zum Exportieren von Problemen im JSON-Format ausprobiert. Es hat funktioniert, aber die Formatierung war irgendwie durcheinander. Dann fand ich in der Excel-Hilfe, dass es in der Lage ist, direkt auf APIs zuzugreifen und die Daten aus der JSON-Antwort sauber in meine Excel-Tabellen zu laden.

Die Google-Begriffe, mit denen ich die benötigte Hilfe gefunden habe, lauteten "Excel-Stromabfrage web.content GET json". Ich habe ein How To Excel-Video gefunden, das mir sehr geholfen hat.

URL, die in der Excel-Abfrage funktioniert hat (wie bei anderen Posts):

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

Persönlich füge ich auch den Parameter & state = open hinzu, ansonsten muss ich Hunderte von Seiten anfordern. Irgendwann erreichte ich das GitHub-Limit für nicht authentifizierte API-Aufrufe pro Stunde für meine IP-Adresse.

1
Stuart

Es ist bedauerlich, dass github.com dies nicht erleichtert.

Wenn Sie jq und curl haben, können Sie dies in der Zwischenzeit in zwei Zeilen tun, indem Sie etwa das folgende Beispiel verwenden, das Ausgabenummer, Titel und Labels (Tags) ausgibt und auch für private Repos funktioniert (wenn Sie nicht möchten) Um nach Etikett zu filtern, entfernen Sie einfach das labels={label}& Teil der URL). Sie müssen Eigentümer, Repo, Label und Benutzernamen ersetzen:

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

Beachten Sie, dass bei mehr als einer Seite Ihrer Daten möglicherweise zusätzliche Anrufe erforderlich sind

1
mwag

Der hub Kommandozeilen-Wrapper für Github macht dies ziemlich einfach.

Sie können so etwas tun:

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

das gibt dir so etwas

$ more issue.csv

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

Export Pull Requests kann Probleme in eine CSV-Datei exportieren, die mit Excel geöffnet werden kann. Es unterstützt auch GitLab und Bitbucket.

Aus seiner Dokumentation:

Exportieren Sie offene PRs und Probleme in sshaw/git-link und sshaw/iTunes_store_transporter:

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

Offene Pull-Anforderung exportieren, die nicht von sshaw in padrino/padrino-framework erstellt wurde:

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

Es gibt verschiedene Optionen zum Filtern der exportierten Daten.

0
Dumb E.