Open8
GitHub Artifact Exporter 使ってみる
これ
APIでGitHub上のデータはめっちゃ取ってこれるけどAPIむずいからもっと手軽にデータ取ってこれるツール作ったよ(意訳)
CLIとライブラリとGUIがあるらしい。
GUI使ってみる
まさかの自分でコマンド叩いて動かさないといけない。GUIなのに
先にlerna
を入れる。モノレポ支援ツールだったはず
npm i -g lerna
# asdfを使っているのでreshim
asdf reshim nodejs
実行。
❯ lerna clean -y
lerna notice cli v4.0.0
lerna info clean removing /Users/korosuke613/ghq/github.com/github/github-artifact-exporter/packages/cli/node_modules
lerna info clean removing /Users/korosuke613/ghq/github.com/github/github-artifact-exporter/packages/core/node_modules
lerna info clean removing /Users/korosuke613/ghq/github.com/github/github-artifact-exporter/packages/gui/node_modules
lerna success clean finished
❯ lerna exec npm install
lerna notice cli v4.0.0
lerna info Executing command in 3 packages: "npm install"
Error: Failed to replace env in config: ${NPM_TOKEN}
おっと、NPM_TOKENがいる。npmjsで発行して環境変数に登録。再度実行。
npm ERR! 401 Unauthorized - GET https://npm.pkg.github.com/@github%2fgithub-artifact-exporter-core - Your request could not be authenticated by the GitHub Packages service. Please ensure your access token is valid and has the appropriate scopes configured.
あーこれ Packages から落とすためのTOKENだわ。
package落とすだけならread:packages
権限で十分なはず。
GitHubのPAT発行して環境変数に入れて再実行。
❯ lerna exec npm install
...
lerna success exec Executed command in 3 packages: "npm install"
インスコできた。
❯ lerna bootstrap
lerna notice cli v4.0.0
lerna info Bootstrapping 3 packages
lerna info Symlinking packages and binaries
lerna success Bootstrapped 3 packages
bootstrapも動いた。
起動!
❯ lerna run start
lerna notice cli v4.0.0
lerna info Executing command in 1 package: "npm run start"
なるほどElectronなのか
試しに korosuke613/zenn-articles の情報を落としてみる。Tokenが必要らしい。パブリックリポジトリなら何も権限いらないと思うけど。さっき発行したトークン突っ込んだ。
Action:
がsearch:issues
しか選べない。ていうかactiveになってない。GUIだとまだissueしかダメっぽい。
Export
Export complete. Results written to /Users/korosuke613/Downloads/zenn.json
できたっぽい。そうしてできたのがこちら。
zenn.json
[
{
"assignees": [],
"author": { "login": "korosuke613" },
"comments": [
{
"author": { "login": "korosuke613" },
"body": "#14 2597202 にて解決済みのためclose\r\n",
"createdAt": "03/03/2021"
}
],
"createdAt": "20/02/2021",
"number": 12,
"labels": "",
"state": "CLOSED",
"title": "mainブランチへのマージ後に簡単にpublished: trueにしたい",
"body": "",
"updatedAt": "03/03/2021",
"milestone": null,
"closedAt": "03/03/2021"
},
{
"assignees": [],
"author": { "login": "korosuke613" },
"comments": [],
"createdAt": "14/01/2021",
"number": 4,
"labels": "",
"state": "CLOSED",
"title": "テンプレの用意と記事の下書きの自動生成",
"body": "",
"updatedAt": "25/03/2021",
"milestone": null,
"closedAt": "25/03/2021"
},
{
"assignees": [],
"author": { "login": "korosuke613" },
"comments": [],
"createdAt": "14/01/2021",
"number": 3,
"labels": "",
"state": "CLOSED",
"title": "日本語校正のCI導入",
"body": "",
"updatedAt": "20/02/2021",
"milestone": null,
"closedAt": "20/02/2021"
}
]
ここまでのまとめ
- GitHub ExporterのGUI触ってみた
- ソースコードないと実行できないのめんどい
- GitHubのPATを発行しないといけないのめんどい
- ~npmjsで公開してほしい~
- まだリポジトリのIssue情報しか取れない
- APIを叩かなくて良い手軽さはありながらも結局ビルドが必要だからそこまで手軽じゃない。今後はバイナリで配布してくれるかもしれんけど。
GitHub Exporter CLIはまた今度触ってみる。
The CLI also supports exporting:
- Commits
- Milestones, including associated Issues
- Projects, including associated issues
- Pull requests, including comments
- Releases
GUIと比べてCLIはまだ取れる情報が多い。