workflows : PRへのコメントをghコマンドで投稿する - #1731
Conversation
ワークフローでPRにコメントを投稿するためのGitHubアクション thollander/actions-comment-pull-request@v3 は、廃止された Node.js 20 を使おうとするため警告が表示されます。 そこで、このアクションを使わず、 `gh pr comment` コマンドによりコメントを投稿するように変更します。
|
⚡ プレビュー (HTML) (更新時刻: 2026-08-17 18:30:55 JST) 変更記事一覧0件の記事が変更されました。
※ソース (.md) に直接変更のあった記事を列挙しています。グローバル修飾や変換規則の変更による変化は考慮していません。 |
|
ありがとうございます。 🔴 Critical: pull_request_target でのコマンドインジェクション この preview_comment ジョブは 変更後のコードは、 content は PR で変更された .md のファイル名から生成されます( /[][`()]/d # [ ] ` ( ) を含む行のみ除外 で、シングルクォート ' やその他のシェルメタ文字(; | $ & 等)を除外していません。 そのため、たとえば悪意ある PR が次のようなファイルを追加すると: 展開後のスクリプトで最初の 重要: 従来の thollander/... 版では、同じ content は JS アクションの 修正案 — env 値は展開後にシェル再評価されず、 |
コマンドインジェクション対策です。
|
チェックありがとうございます。 |
1行ならパイプ記号を使う必要はない。
faithandbrave
left a comment
There was a problem hiding this comment.
対応ありがとうございました〜。お好きなタイミングでマージしてください。
ワークフローでPRにコメントを投稿するためのGitHubアクション
thollander/actions-comment-pull-request@v3は、廃止された Node.js 20 を使おうとするため次のような警告が表示されます。このアクションは更新が2年間止まっており、警告に対応したバージョンが出ることは期待できません。
このPRでは、このアクションを使わず、
gh pr commentコマンドによりコメントを投稿するように変更します。変更点
cpprefjpのPRプレビュー生成のワークフローは、生成完了後にそのPRにプレビューのリンクを含めたコメントを投稿しますが、再生成された後はコメントを新規投稿する代わりにすでに投稿したコメントを更新します。
従来は
comment-tagをつけることでプレビューリンクのコメントを識別し、それを更新していました。このPRでは、 github-actions がプレビューリンク以外でコメントを投稿しないと仮定し、直前の同ユーザーのコメントを更新するオプション
--edit-lastを使っています(この仮定に反例があると壊れます)。動作確認
フォークしたリポジトリのPRでコメントが投稿できることを確認しています。
https://github.com/Raclamusi/site/actions/runs/31986353227/job/95262560086
Raclamusi#2