#github #github-actions
Вопрос:
У меня есть два действия на GitHub в одном и том же репозитории. Я пытаюсь обновить одно из другого, но при попытке зафиксировать и перенести изменения я получаю следующую ошибку:
! [remote rejected] HEAD -> some-branch (refusing to allow a GitHub App to create or update workflow .github/workflows/the-other-action.yml without workflows permission)
Это упрощенная версия действия GH, которое я пытаюсь запустить:
name: my-action
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * *"
jobs:
components:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v2
- name: Update the other Action
run: |
# Do something to .github/workflows/the-other-action.yaml here
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: some-branch
commit-message: Updated stuff
Я пытаюсь понять , как дать workflows
разрешение на GITHUB_TOKEN
это, но не уверен, как это сделать?
(Для контекста: я выполняю это действие один раз в день, чтобы проверить, выпущена ли новая версия инструмента, используемого в другом действии. Если это так, он создает PR, обновляющий другое действие, чтобы вместо него использовать более новую версию)
Комментарии:
1. Здесь вам нужно будет использовать PAT с разрешением на рабочие процессы, а
GITHUB_TOKEN
не с определенной областью действия. Это${{ secrets.GITHUB_TOKEN }}
твой ПЭТ? Если это так, то есть проблема, потому что вы не можете добавлять секреты сGITHUB_
префиксом .2. Спасибо @GuiFalourd!
GITHUB_TOKEN
это токен по умолчанию, а не PAT. Но в итоге я использовал ПЭТ в качестве обходного пути. Хорошо знать, что тогда это невозможно с помощью токена по умолчанию.3. Отлично! 😀 Если это решило вашу проблему, могу ли я добавить официальный ответ на ваш вопрос?
4. @GuiFalourd, конечно!
Ответ №1:
Здесь вам нужно использовать Личный токен доступа с разрешением на рабочие процессы, а не тот GITHUB_TOKEN
, который имеет определенную область действия.
Более того, если это ${{ secrets.GITHUB_TOKEN }}
ваш ПЭТ, может возникнуть проблема, потому что вы не можете добавлять секреты с префиксом GITHUB_. Поэтому вам придется переименовать секрет, следуя этому синтаксису.