すべての問題をエンタープライズGitHubリポジトリからExcelファイルにエクスポートするにはどうすればよいですか?スタックオーバーフローの多くの回答を検索しようとしましたが、成功しませんでした。私もこのソリューションを試しました( Gitの問題をCSVにエクスポートする および「ImportError:No module named requests」エラーが表示されます。すべての問題をExcelにエクスポートするツールまたは簡単な方法はありますか?
Curlを使用してプライベートリポジトリからエクスポートするには、次を実行できます。
curl -i "https://api.github.com/repos/<repo-owner>/<repo-name>/issues" -u "<user-name>"
ユーザーがプライベートリポジトリにアクセスできる場所。その後、他の回答で提案されている適切なコンバーターを使用して、結果のJSONをcsvに変換できます。
認証リファレンスを検索 こちら 。
それが1回限りのタスクである場合は、 GitHub WebAPI で遊んでください。 JSON形式で問題をエクスポートできます。その後、Excelに変換できます(たとえば、 オンラインコンバーター を使用)。
ブラウザで次のURLを開き、{owner}
および{repo}
実際の値:
https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100
JSON形式での問題のエクスポートに関する他のコメントに記載されている方法を試しました。それはうまくいきましたが、フォーマットは何らかの形で失敗しました。次に、Excelのヘルプで、APIに直接アクセスし、JSON応答からExcelシートにデータをきちんとロードできることを発見しました。
必要なヘルプを見つけるために使用したGoogleの用語は、「Excel power query web.content GET json」でした。私は、多くの助けになるHow To Excelビデオを見つけました。
Excelクエリで機能したURL(他の投稿と同じ):
https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100
個人的には、パラメーター&state = openも追加します。そうしないと、数百ページをリクエストする必要があります。ある時点で、IPアドレスの1時間あたりの認証されていないAPI呼び出しに関するGitHubの制限に達しました。
Github.comでこれが簡単にならないのは残念です。
とりあえず、jqとcurlがある場合、次の例のように2行でこれを行うことができます。この例では、発行番号、タイトル、ラベル(タグ)を出力し、プライベートリポジトリでも機能します(必要ない場合)ラベルでフィルタリングするには、labels={label}&
URLの一部)。所有者、リポジトリ、ラベル、およびユーザー名を置き換える必要があります。
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
データが1ページを超える場合、追加の呼び出しが必要になる場合があることに注意してください
hub githubのコマンドラインラッパーにより、これは非常に簡単になります。
次のようなことができます:
$ hub issue -f "%t,%l%n" > list.csv
これはあなたにこのようなものを与えます
$ more issue.csv
Issue 1 title, tag1 tag2
Issue 2 title, tag3 tag2
Issue 3 title, tag1
プルリクエストのエクスポート は、Excelで開くことができるCSVファイルに問題をエクスポートできます。また、GitLabとBitbucketもサポートしています。
そのドキュメントから:
Sshaw/git-linkおよびsshaw/iTunes_store_transporterで未解決のPRと問題をエクスポートします。
epr sshaw/git-link sshaw/iTunes_store_transporter> pr.csv
Padrino/padrino-frameworkでsshawによって作成されていないオープンプルリクエストをエクスポートします。
epr -x pr -c '!sshaw' padrino/padrino-framework> pr.csv
エクスポートされるものをフィルタリングするためのいくつかのオプションがあります。