適切な権限のGitHub Actionsワークフローを作る方法。
CI ワークフローには実際のトリガー、実行環境、テストコマンドが必要です。権限を絞り、信頼できないプルリクエストのコードへ秘密情報を渡さないでください。
作業手順をタスクに合わせましょう。
プロジェクトのトリガー、実行環境、テストコマンドを定め、その手順に必要な権限だけを与えます。信頼できないプルリクエストの実行と特権リリース操作を分け、ランナーの互換性を確認してください。
- 用意するもの
- リポジトリの技術構成と CI 要件。
- 得られるもの
- 権限を限定したワークフロー YAML 草案。
入力と結果を確認しましょう。
説明用の入力と出力 · 実際の WebAct 実行ではない学習用サンプル
入力項目サンプル個
Create a GitHub Actions workflow for a Node 24 project with committed package-lock.json and npm test. Trigger on push and pull request. No publishing or secrets required.
完成例
name: Tests
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
package-manager-cache: false
- run: npm ci
- run: npm test
Action major versions follow their official examples at editorial review. Confirm runner compatibility and pin reviewed commit SHAs if required by your repository policy.この入力をプロンプトに読み込み、WebAct にコピーして試してください。結果は掲載例と異なる場合があります。
判断のポイントとトラブル対処。
テストワークフローに既定で書き込み権限を与えるべきですか?
テストジョブに書き込みが不要なら読み取り専用権限を使います。明確に必要な操作だけに権限を追加してください。
テストコマンドの前にワークフローが失敗するのはなぜですか?
ロックファイル、実行環境のバージョン、作業ディレクトリ、アクションのランナー要件を確認してください。準備失敗はテスト失敗と異なります。
このワークフローの参考資料。
自分の資料で試しましょう。
タスクのプロンプト内の例を自分の資料に置き換えてください。必要な要件を残し、タスクを WebAct にコピーします。
タスクを調整してコピー ↑