actions/github-scriptがv4からv5にアップデートされていたので対応してみた

actions/github-scriptがv4からv5にアップデートされ、octokitのインターフェイスに近づく形となりました。v5への具体的な対応手順合わせて書いてみました。
2021.09.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

github-scriptがいつの間にかv4からv5にアップデートされており、作業中だったワークフローでためしてみたところ検証しやすくなっていました。具体的な変更点や対応方法含めて書いてみました。

v5での変更点

リリースノートでは以下1つとなっています。

  • Upgrade to the latest version of Octokit by @joshmgross in #193

要は、octokit側の更新(4.2 → 5.11)による変更が大きいということです。差分は以下の通り。

github-scriptでのユニットテストは通過しているため、利用する上では一部除いて影響なさそうです。

v4からv5に対応する

大きく変わった点としては一箇所

      - uses: actions/github-script@v5
        with:
          script: |
-           github.issues.updateComment({
+           github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: '? Thanks for reporting!'
            })

rest 自体はベースとなっているoctokitに実装されている要素です。

octokitgithub に置き換えるだけで動作するようになり、検証が手軽になりました。

v5に気がついた理由

Actions上でエラーが発生しており、以下のメッセージを見てgithub-scriptを確認してみたところv5がリリースされていました。先週末にでたばかりのようです。

[DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

あとがき

github-script@v4で固定しているワークフローが多いほど難儀しそうなアップデートですが、octokitとインターフェイスのズレが少なくなっているため今後追加実装する場合の検証負担は減りそうです。