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]+)*$