Ответ 1
Я не верю, что вы можете ограничить токены Github OAuth таким образом. github docs для OAuth говорят, что
В то время как Git через HTTP с OAuth уменьшает трение для некоторых типов приложений, имейте в виду, что в отличие от ключей развертывания токены OAuth работают для любого репозитория, для которого пользователь имеет доступ.
Итак, хотя вы можете ограничить область действия токена в терминах типов действий, вы не можете ограничить его подмножеством репозиториев.
Развернуть ключи можно ограничить одним репо, но разрешить доступ на запись.
Очевидная тактика (как упоминается Томасом) заключается в создании фиктивной учетной записи, представляющей приложение. Учитывая цели OAuth, это может быть лучшим документооборотом в любом случае - это позволит вам легко изменять разрешения, которые имеет приложение, как если бы оно было на самом деле пользователем.
Github даже упоминает/одобряет эту стратегию явно, называя их пользователями машин.