Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Обзор
permissions
можно использовать для изменения разрешений по умолчанию, предоставленных GITHUB_TOKEN
, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в разделе Автоматическая проверка подлинности токенов.
permissions
можно использовать в качестве ключа верхнего уровня для применения ко всем заданиям в рабочем процессе или в конкретных заданиях. При добавлении ключа permissions
в конкретном задании указанные права доступа получают все действия и команды выполнения в этом задании, использующие GITHUB_TOKEN
. Дополнительные сведения см. на веб-сайте jobs.<job_id>.permissions
.
Доступные области и значения доступа:
permissions:
actions: read|write|none
checks: read|write|none
contents: read|write|none
deployments: read|write|none
issues: read|write|none
discussions: read|write|none
packages: read|write|none
pages: read|write|none
pull-requests: read|write|none
repository-projects: read|write|none
security-events: read|write|none
statuses: read|write|none
Если указать доступ для любой из этих областей, для всех не указанных параметров будет задано значение none
.
Для определения доступа на чтение или запись для всех доступных областей можно использовать следующий синтаксис:
permissions: read-all|write-all
Для отключения разрешений для всех доступных областей можно использовать следующий синтаксис:
permissions: {}
``` С помощью ключа `permissions` можно добавлять и удалять разрешения на чтение для разветвленных репозиториев, но обычно предоставить доступ на запись нельзя. Исключением из этого поведения является то, что пользователь администратора выбрал **Отправлять маркеры записи в рабочие процессы из запросов на вытягивание** в параметрах GitHub Actions. Дополнительные сведения см. в разделе [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).
### Пример. Назначение разрешений для GITHUB_TOKEN
В этом примере показаны разрешения, заданные для `GITHUB_TOKEN`, которые будут применены ко всем заданиям в рабочем процессе. Всем разрешениям предоставляется доступ на чтение.
```yaml
name: "My workflow"
on: [ push ]
permissions: read-all
jobs:
...
Назначение разрешений определенному заданию
Для определенного задания jobs.<job_id>.permissions
можно использовать для изменения разрешений по умолчанию, предоставленных GITHUB_TOKEN
, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в разделе Автоматическая проверка подлинности токенов.
Указав разрешение в определении задания, при необходимости можно настроить для каждого задания другой набор разрешений для GITHUB_TOKEN
. Кроме того, можно указать разрешения для всех заданий в рабочем процессе. Сведения об определении разрешений на уровне рабочего процесса см. в разделе permissions
.
Доступные области и значения доступа:
permissions:
actions: read|write|none
checks: read|write|none
contents: read|write|none
deployments: read|write|none
issues: read|write|none
discussions: read|write|none
packages: read|write|none
pages: read|write|none
pull-requests: read|write|none
repository-projects: read|write|none
security-events: read|write|none
statuses: read|write|none
Если указать доступ для любой из этих областей, для всех не указанных параметров будет задано значение none
.
Для определения доступа на чтение или запись для всех доступных областей можно использовать следующий синтаксис:
permissions: read-all|write-all
Для отключения разрешений для всех доступных областей можно использовать следующий синтаксис:
permissions: {}
``` С помощью ключа `permissions` можно добавлять и удалять разрешения на чтение для разветвленных репозиториев, но обычно предоставить доступ на запись нельзя. Исключением из этого поведения является то, что пользователь администратора выбрал **Отправлять маркеры записи в рабочие процессы из запросов на вытягивание** в параметрах GitHub Actions. Дополнительные сведения см. в разделе [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).
### Пример. Настройка разрешений для определенного задания
В этом примере показаны разрешения, заданные для задания `GITHUB_TOKEN`, которое будет применяться только к заданию с именем `stale`. Доступ на запись предоставляется для областей `issues` и `pull-requests`. Все остальные области не будут иметь доступа.
```yaml
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5