Enterprise GitHub リポジトリからすべての問題を Excel ファイルにエクスポートするにはどうすればよいですか? 多くのスタック オーバーフローの回答を検索しようとしましたが、成功しませんでした。私もこの解決策を試しました(Gitの問題をCSVにエクスポートし、「ImportError:要求という名前のモジュールがありません」というエラーが発生しました。すべての問題をExcelにエクスポートするツールまたは簡単な方法はありますか?
12 に答える
それが 1 回限りのタスクである場合は、GitHub WebAPIをいじることができます。問題を JSON 形式でエクスポートできます。次に、それを Excel に変換できます (たとえば、オンライン コンバーターを使用します)。
{owner}
と{repo}
を実際の値に置き換えて、ブラウザで次の URL を開くだけです。
https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100
私はかなり長い間これをいじっていましたが、Power BI はスプレッドシートのデータを最新の状態に保つための優れた方法であることがわかりました。構造化された JSON フィールドから適切な情報を取得し、特にラベルの場合、リストを連結された文字列に折りたたむことは非常に直感的ではなかったため、これを機能させるために Power BI を少し調べる必要がありました。しかし、この Power BI クエリは、すべてのノイズを取り除き、関連情報を利害関係者と確認できる簡単に消化できる形式にすることで、私にとってはうまく機能します。
let
MyJsonRecord = Json.Document(Web.Contents("https://api.github.com/repos/<your org>/<your repo>/issues?&per_page=100&page=1&state=open&filter=all", [Headers=[Authorization="Basic <your auth token>", Accept="application/vnd.github.symmetra-preview+json"]])),
MyJsonTable = Table.FromRecords(MyJsonRecord),
#"Column selection" = Table.SelectColumns(MyJsonTable,{"number", "title", "user", "labels", "state", "assignee", "assignees", "comments", "created_at", "updated_at", "closed_at", "body"}),
#"Expanded labels" = Table.ExpandListColumn(#"Column selection", "labels"),
#"Expanded labels1" = Table.ExpandRecordColumn(#"Expanded labels", "labels", {"name"}, {"labels.name"}),
#"Grouped Rows" = Table.Group(#"Expanded labels1", {"number","title", "user", "state", "assignee", "assignees", "comments", "created_at", "updated_at", "closed_at", "body"}, {{"Label", each Text.Combine([labels.name],","), type text}}),
#"Removed Other Columns" = Table.SelectColumns(#"Grouped Rows",{"number", "title", "state", "assignee", "comments", "created_at", "updated_at", "closed_at", "body", "Label"}),
#"Expanded assignee" = Table.ExpandRecordColumn(#"Removed Other Columns", "assignee", {"login"}, {"assignee.login"})
in
#"Expanded assignee"
これに列を追加してから削除しましたが、これをクリーンアップしませんでした-使用する前に自由に行ってください。明らかに、独自の組織名とリポジトリ名を URL に入力し、認証トークンを取得する必要もあります。Chrome REST プラグインを使用して URL をテストし、そこにユーザーと API キーを入力してトークンを取得しました。トークンを処理したくない場合は、ユーザーとキーを使用して Excel から明示的に認証できます。クエリのセットアップで匿名ルートを使用し、代わりに簡単にフォーマットされた要求ヘッダーを提供する方が簡単だと思います。
また、これは最大 100 個の未解決の問題があるリポジトリでも機能します。それ以上ある場合は、クエリを複製し (ページ 2 など)、結果を結合する必要があります。
このクエリを使用する手順:
- 新しいシートの [データ] タブで、[データの取得] ドロップダウンを開きます
- [Power Query エディターを起動] を選択します。
- エディターで、[新しいクエリ]、[その他のソース]、[空のクエリ] を選択します。
- 「Advanced Editor」をクリックして、上記のクエリを貼り付けます
- Advanced Editor の「Done」ボタンをクリックし、ツールバーから「Close and Load」をクリックします。
- 課題がスプレッドシートに読み込まれており、ビジネスに取り組んでいます
- 安っぽいサードパーティのツールは必要ありません