GitHub v3 REST API

Set allowed actions for an organization

Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions must be configured to selected. For more information, see “Set GitHub Actions permissions for an organization.”

If the organization belongs to an enterprise that has selected actions set at the enterprise level, then you cannot override any of the enterprise’s allowed actions settings.

To use the patterns_allowed setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the patterns_allowed setting only applies to public repositories in the organization.

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

put
{protocol}://{hostname}/api/v3/orgs/{org}/actions/permissions/selected-actions

Path Parameters

orgstringrequired

Body

application/json

selected-actions

github_owned_allowedbooleanrequired

Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

patterns_allowedarray[string]required

Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*."

Response

204

Response

put/orgs/{org}/actions/permissions/selected-actions

Body

{ "github_owned_allowed": true, "verified_allowed": false, "patterns_allowed": [ "monalisa/octocat@*", "docker/*" ] }
 
204

List self-hosted runner groups for an organization

Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.
You must authenticate using an access token with the admin:org scope to use this endpoint.

get
{protocol}://{hostname}/api/v3/orgs/{org}/actions/runner-groups

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Path Parameters

orgstringrequired

Response

200 application/json

Response

total_countnumberrequired
runner_groupsarray[object]required
Show Child Parameters
get/orgs/{org}/actions/runner-groups
 
200 application/json

Create a self-hosted runner group for an organization

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see “GitHub’s products.”

Creates a new self-hosted runner group for an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

post
{protocol}://{hostname}/api/v3/orgs/{org}/actions/runner-groups

Path Parameters

orgstringrequired

Body

application/json
namestringrequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: all, selected, or private.

Allowed values:selectedallprivate

Default:all

selected_repository_idsarray[integer]

Unique identifier of the repository.

runnersarray[integer]

Unique identifier of the runner.

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default:false

Response

201 application/json

Response

runner-groups-org

idnumberrequired
namestringrequired
visibilitystringrequired
defaultbooleanrequired
selected_repositories_urlstring

Link to the selected repositories resource for this runner group. Not present unless visibility was set to selected

runners_urlstringrequired
inheritedbooleanrequired
inherited_allows_public_repositoriesboolean
allows_public_repositoriesbooleanrequired
post/orgs/{org}/actions/runner-groups

Body

{ "name": "Expensive hardware runners", "visibility": "selected", "selected_repository_ids": [ 32, 91 ], "runners": [ 9, 2 ] }
 
201 application/json

Get a self-hosted runner group for an organization

Gets a specific self-hosted runner group for an organization.
You must authenticate using an access token with the admin:org scope to use this endpoint.

get
{protocol}://{hostname}/api/v3/orgs/{org}/actions/runner-groups/{runner_group_id}

Path Parameters

orgstringrequired
runner_group_idintegerrequired

Unique identifier of the self-hosted runner group.

Response

200 application/json

Response

runner-groups-org

idnumberrequired
namestringrequired
visibilitystringrequired
defaultbooleanrequired
selected_repositories_urlstring

Link to the selected repositories resource for this runner group. Not present unless visibility was set to selected

runners_urlstringrequired
inheritedbooleanrequired
inherited_allows_public_repositoriesboolean
allows_public_repositoriesbooleanrequired
get/orgs/{org}/actions/runner-groups/{runner_group_id}
 
200 application/json

Update a self-hosted runner group for an organization

Updates the name and visibility of a self-hosted runner group in an organization.
You must authenticate using an access token with the admin:org scope to use this endpoint.

patch
{protocol}://{hostname}/api/v3/orgs/{org}/actions/runner-groups/{runner_group_id}

Path Parameters

orgstringrequired
runner_group_idintegerrequired

Unique identifier of the self-hosted runner group.

Body

application/json
namestringrequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: all, selected, or private.

Allowed values:selectedallprivate

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default:false

Response

200 application/json

Response

runner-groups-org

idnumberrequired
namestringrequired
visibilitystringrequired
defaultbooleanrequired
selected_repositories_urlstring

Link to the selected repositories resource for this runner group. Not present unless visibility was set to selected

runners_urlstringrequired
inheritedbooleanrequired
inherited_allows_public_repositoriesboolean
allows_public_repositoriesbooleanrequired
patch/orgs/{org}/actions/runner-groups/{runner_group_id}

Body

{ "name": "Expensive hardware runners", "visibility": "selected" }
 
200 application/json