この記事は公開されてから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に実装されている要素です。
octokit
を github
に置き換えるだけで動作するようになり、検証が手軽になりました。
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とインターフェイスのズレが少なくなっているため今後追加実装する場合の検証負担は減りそうです。