Open8

GitHub Artifact Exporter 使ってみる

Futa HirakobaFuta Hirakoba

まさかの自分でコマンド叩いて動かさないといけない。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だわ。

Futa HirakobaFuta Hirakoba

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も動いた。

Futa HirakobaFuta Hirakoba

起動!

❯ lerna run start

lerna notice cli v4.0.0
lerna info Executing command in 1 package: "npm run start"

なるほどElectronなのか

Futa HirakobaFuta Hirakoba

試しに 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"
  }
]
Futa HirakobaFuta Hirakoba

ここまでのまとめ

  • GitHub ExporterのGUI触ってみた
    • ソースコードないと実行できないのめんどい
    • GitHubのPATを発行しないといけないのめんどい
      • ~npmjsで公開してほしい~
    • まだリポジトリのIssue情報しか取れない
    • APIを叩かなくて良い手軽さはありながらも結局ビルドが必要だからそこまで手軽じゃない。今後はバイナリで配布してくれるかもしれんけど。
Futa HirakobaFuta Hirakoba

GitHub Exporter CLIはまた今度触ってみる。

The CLI also supports exporting:

  • Commits
  • Milestones, including associated Issues
  • Projects, including associated issues
  • Pull requests, including comments
  • Releases

GUIと比べてCLIはまだ取れる情報が多い。