Skip to main content

GitHub repository and access

Defines the setup, repository configuration, and access settings for a GitHub repository, including organization details, collaborator permissions, and topics.

Type: github-configuration

Properties

NameTypeDescriptionRequired
setupobjectInitial setup details for the repository, including organization and installation ID.
yes
access
(Default Collaborators)
objectDefines the default access levels for collaborators within the repository.
no
repository
(Repository Settings)
objectRepository configuration details, including topics.
no

Additional Properties: not allowed
Example

{
"setup": {
"organization": "my-org",
"installation_id": "12345678"
},
"access": {
"collaborators": [
{
"id": "johndoe",
"role": "push",
"type": "user"
}
]
},
"repository": {}
}

setup: Setup

Initial setup details for the repository, including organization and installation ID.

Properties

NameTypeDescriptionRequired
organizationstringThe name of the organization that owns the repository.
Minimal Length: 1
Pattern: ^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9])){0,38}$
yes
installation_idstringThe unique identifier for the GitHub App installation within the organization.
Pattern: ^[0-9]+$
yes

Additional Properties: not allowed
Example

{
"organization": "my-org",
"installation_id": "12345678"
}

access: Default Collaborators

Defines the default access levels for collaborators within the repository.

Properties

NameTypeDescriptionRequired
collaboratorsobject[]List of collaborators with their corresponding access levels.
no

Example

{
"collaborators": [
{
"id": "johndoe",
"role": "push",
"type": "user"
}
]
}

access.collaborators[]: Collaborators

List of collaborators with their corresponding access levels.

Items

Item Properties

NameTypeDescriptionRequired
id
(Name)
stringGitHub username or team slug
Minimal Length: 1
Pattern: ^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9])){0,38}$
yes
role
(Permission Level)
stringPermission level for the collaborator
Enum: "pull", "triage", "push", "maintain", "admin"
yes
type
(Collaborator Type)
stringType of collaborator (GitHub user or team).
Enum: "user", "team"
yes

Item Additional Properties: not allowed
Example

[
{
"id": "johndoe",
"role": "push",
"type": "user"
}
]

repository: Repository Settings

Repository configuration details, including topics.

Properties

NameTypeDescriptionRequired
topicsstring[]GitHub topics for this repository, used for categorization and discovery.
no

Additional Properties: not allowed

repository.topics[]: Topics

GitHub topics for this repository, used for categorization and discovery.

Items

A topic for categorizing the repository, lowercase letters, numbers, and hyphens only.

Item Type: string
Item Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$