Closed7
GitHub Actionsでgit commit, git pushさせる方法
Github actionsを使ってgit commit, git pushするとき
To https://github.com/ORG/REPO
! [remote rejected] release/v3.7.0 -> release/v3.7.0 (refusing to allow a GitHub App to create or update workflow `.github/workflows/deliver.yml` without `workflows` permission)
error: failed to push some refs to 'https://github.com/ORG/REPO'
みたいなエラーになってしまったのでその解決法をメモ
自分のDeveloper Settings > Personal Access Tokensに遷移
Betaの方のFine-grained personal access tokens を選ぶ
Generate new token
ボタン押す
- Repository accessでRepositoryを選択する(個人の趣味なら全部選択していいかもだが一旦個別選択する)
- Repository permissionsを選ぶ(Actions→Read&Write、Contents→Read&Write、Metadata→Read-only、Workflows→Read&Write)
- Update押す
- 画面戻ってTokenが発行されるのでコピーするなどで控えておく
GHAで入れたいRepositoryに遷移する
https://github.com/{ORG}/{REPOSITORY}/settings/secrets/actions
Repository secretsでNew repository secret
ボタン押して、以下のように追加する
Name: WORKFLOW_TOKEN
Value: 先程コピーして控えたValue
.github/workflows/xxx.yml
...
jobs:
xxx:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.WORKFLOW_TOKEN }}
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install dependencies
run: npm ci
- name: Commit changes
run: |
git config --global user.email "actions@github.com"
git config --global user.name "GitHub Actions"
git diff --quiet && git diff --staged --quiet || (git add . && git commit -m "Automated fixes by GitHub Actions" && git pull --rebase && git push origin HEAD:${{ github.head_ref }})
これで最初のエラーが無くなるはず
このスクラップは2023/12/01にクローズされました