Github Apps - Не удается получить доступ к вилкам?

TLDR

Организация не может создавать check runs, check suitesни status checksдля внешних форков репозиториев. Оказывает Checks Apiбесполезен для внешних запросов на включение.

Описание

Я настроил приложение Github для организации (не OAuth), написанное на goдля конвейера CI-CD. Приложение Github аутентифицируется на github с помощью установочного токена. Он имеет полные права на организацию.

Приложение в основном прослушивает события и запускает конвейер cicd.

Когда приложение получает событие =, оно может успешно создать/обновить check_runsотносящийся к тому. Эти события запускаются только тогда, когда коммиты фиксируются непосредственно в репозитории организации.

Однако, когда пользователь создает запрос на извлечение из форка , приложение Github не имеет разрешения на создание прогонов проверки для этого внешнего репо. Это означает, что событие / не запускается при открытии PR из форка.

Вот почему я также слушаю pull_requestСобытия. Приложение успешно их получает (/ pull_request.synchronize). Цель здесь состоит в том, чтобы создать последний коммит для этого запроса на извлечение.

При получении pull_request.openedсобытие, приложение отправляет запрос в GitHub, чтобы создать последнюю фиксацию запроса на вытягивание во внешней ветке. Результат — ошибка 404 (потому что у приложения нет разрешения (почему?)).Если я попробую с personal access token, я могу создать на этом внешнем репо

Это удивительно, так как checks/ statusAPI как раз для этого случая (внешне запущенные процессы ci-cd). Но это лишает цели, если приложение не может получить доступ к вилкам (поскольку многие разработчики работают над внешними вилками и т. д.).

Как моя организация может Github Appбыть в состоянии создать check_run, check_suiteили же status_checksна внешних ответвлениях этой Организации?

Ссылки:

https://github.community/t/github-app-check-run-pr-from-fork/13875/2

https://github.community/t/no-check-suite-event-for-foreign-pull-reuqests/13915

0 ответов

Другие вопросы по тегам