GitHub v3 REST API

Get allowed actions for an enterprise

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

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

get
{protocol}://{hostname}/api/v3/enterprises/{enterprise}/actions/permissions/selected-actions

Path Parameters

enterprisestringrequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Response

200 application/json

Response

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/*."

get/enterprises/{enterprise}/actions/permissions/selected-actions
 
200 application/json

Set allowed actions for an enterprise

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

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

put
{protocol}://{hostname}/api/v3/enterprises/{enterprise}/actions/permissions/selected-actions

Path Parameters

enterprisestringrequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

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/enterprises/{enterprise}/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 enterprise

Lists all self-hosted runner groups for an enterprise.

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

get
{protocol}://{hostname}/api/v3/enterprises/{enterprise}/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

enterprisestringrequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Response

200 application/json

Response

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

Create a self-hosted runner group for an enterprise

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

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

post
{protocol}://{hostname}/api/v3/enterprises/{enterprise}/actions/runner-groups

Path Parameters

enterprisestringrequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Body

application/json
namestringrequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: all or selected

Allowed values:selectedall

selected_organization_idsarray[integer]

Unique identifier of the organization.

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-enterprise

idnumberrequired
namestringrequired
visibilitystringrequired
defaultbooleanrequired
selected_organizations_urlstring
runners_urlstringrequired
allows_public_repositoriesbooleanrequired
post/enterprises/{enterprise}/actions/runner-groups

Body

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

Get a self-hosted runner group for an enterprise

Gets a specific self-hosted runner group for an enterprise.

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

get
{protocol}://{hostname}/api/v3/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}

Path Parameters

enterprisestringrequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerrequired

Unique identifier of the self-hosted runner group.

Response

200 application/json

Response

runner-groups-enterprise

idnumberrequired
namestringrequired
visibilitystringrequired
defaultbooleanrequired
selected_organizations_urlstring
runners_urlstringrequired
allows_public_repositoriesbooleanrequired
get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
 
200 application/json