Skip to main content
L’API REST est maintenant versionnée. Pour plus d’informations, consultez « À propos des versions de l’API ».

Points de terminaison d’API REST pour les exécuteurs auto-hébergés

Utilisez l’API REST pour interagir avec les exécuteurs auto-hébergés dans GitHub Actions.

À propos des exécuteurs auto-hébergés dans GitHub Actions

Vous pouvez utiliser l’API REST pour inscrire, afficher et supprimer des exécuteurs auto-hébergés dans GitHub Actions. Les exécuteurs auto-hébergés vous permettent d’héberger vos propres exécuteurs et de personnaliser l’environnement utilisé pour exécuter les travaux dans vos workflows GitHub Actions. Pour plus d’informations, consultez « Hébergement de vos propres exécuteurs ».

List self-hosted runners for an organization

Lists all self-hosted runners configured in an organization.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « List self-hosted runners for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (read)

Paramètres pour « List self-hosted runners for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres de requête
Nom, Type, Description
name string

The name of a self-hosted runner.

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

Codes d’état de la réponse HTTP pour « List self-hosted runners for an organization »

Code d’étatDescription
200

OK

Exemples de code pour « List self-hosted runners for an organization »

Exemple de requête

get/orgs/{org}/actions/runners
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 11, "name": "Linux", "type": "read-only" } ] }, { "id": 24, "name": "mac_runner", "os": "macos", "status": "offline", "busy": false, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] } ] }

List runner applications for an organization

Lists binaries for the runner application that you can download and run.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « List runner applications for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (read)

Paramètres pour « List runner applications for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « List runner applications for an organization »

Code d’étatDescription
200

OK

Exemples de code pour « List runner applications for an organization »

Exemple de requête

get/orgs/{org}/actions/runners/downloads
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/downloads

Response

Status: 200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

Create configuration for a just-in-time runner for an organization

Generates a configuration that can be passed to the runner application at startup.

The authenticated user must have admin access to the organization.

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Create configuration for a just-in-time runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Create configuration for a just-in-time runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
name string Obligatoire

The name of the new runner.

runner_group_id integer Obligatoire

The ID of the runner group to register the runner to.

labels array of strings Obligatoire

The names of the custom labels to add to the runner. Minimum items: 1. Maximum items: 100.

work_folder string

The working directory to be used for job execution, relative to the runner install directory.

Default: _work

Codes d’état de la réponse HTTP pour « Create configuration for a just-in-time runner for an organization »

Code d’étatDescription
201

Created

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Create configuration for a just-in-time runner for an organization »

Exemple de requête

post/orgs/{org}/actions/runners/generate-jitconfig
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/generate-jitconfig \ -d '{"name":"New runner","runner_group_id":1,"labels":["self-hosted","X64","macOS","no-gpu"],"work_folder":"_work"}'

Response

Status: 201
{ "runner": { "id": 23, "name": "New runner", "os": "unknown", "status": "offline", "busy": false, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }, "encoded_jit_config": "abc123" }

Create a registration token for an organization

Returns a token that you can pass to the config script. The token expires after one hour.

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

./config.sh --url https://github.com/octo-org --token TOKEN

Authenticated users must have admin access to the organization to use this endpoint.

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Create a registration token for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Create a registration token for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Create a registration token for an organization »

Code d’étatDescription
201

Created

Exemples de code pour « Create a registration token for an organization »

Exemple de requête

post/orgs/{org}/actions/runners/registration-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/registration-token

Response

Status: 201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

Create a remove token for an organization

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:

./config.sh remove --token TOKEN

Authenticated users must have admin access to the organization to use this endpoint.

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Create a remove token for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Create a remove token for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Create a remove token for an organization »

Code d’étatDescription
201

Created

Exemples de code pour « Create a remove token for an organization »

Exemple de requête

post/orgs/{org}/actions/runners/remove-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/remove-token

Response

Status: 201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

Get a self-hosted runner for an organization

Gets a specific self-hosted runner configured in an organization.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « Get a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (read)

Paramètres pour « Get a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Get a self-hosted runner for an organization »

Code d’étatDescription
200

OK

Exemples de code pour « Get a self-hosted runner for an organization »

Exemple de requête

get/orgs/{org}/actions/runners/{runner_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID

Response

Status: 200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Delete a self-hosted runner from an organization

Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Delete a self-hosted runner from an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Delete a self-hosted runner from an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Delete a self-hosted runner from an organization »

Code d’étatDescription
204

No Content

Exemples de code pour « Delete a self-hosted runner from an organization »

Exemple de requête

delete/orgs/{org}/actions/runners/{runner_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID

Response

Status: 204

List labels for a self-hosted runner for an organization

Lists all labels for a self-hosted runner configured in an organization.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « List labels for a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (read)

Paramètres pour « List labels for a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « List labels for a self-hosted runner for an organization »

Code d’étatDescription
200

OK

404

Resource not found

Exemples de code pour « List labels for a self-hosted runner for an organization »

Exemple de requête

get/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Add custom labels to a self-hosted runner for an organization

Adds custom labels to a self-hosted runner configured in an organization.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

Jetons d’accès affinés pour « Add custom labels to a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Add custom labels to a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Paramètres du corps
Nom, Type, Description
labels array of strings Obligatoire

The names of the custom labels to add to the runner.

Codes d’état de la réponse HTTP pour « Add custom labels to a self-hosted runner for an organization »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Add custom labels to a self-hosted runner for an organization »

Exemple de requête

post/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Set custom labels for a self-hosted runner for an organization

Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in an organization.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « Set custom labels for a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Set custom labels for a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Paramètres du corps
Nom, Type, Description
labels array of strings Obligatoire

The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.

Codes d’état de la réponse HTTP pour « Set custom labels for a self-hosted runner for an organization »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Set custom labels for a self-hosted runner for an organization »

Exemple de requête

put/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Remove all custom labels from a self-hosted runner for an organization

Remove all custom labels from a self-hosted runner configured in an organization. Returns the remaining read-only labels from the runner.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « Remove all custom labels from a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Remove all custom labels from a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Remove all custom labels from a self-hosted runner for an organization »

Code d’étatDescription
200

OK

404

Resource not found

Exemples de code pour « Remove all custom labels from a self-hosted runner for an organization »

Exemple de requête

delete/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

Remove a custom label from a self-hosted runner for an organization

Remove a custom label from a self-hosted runner configured in an organization. Returns the remaining labels from the runner.

This endpoint returns a 404 Not Found status if the custom label is not present on the runner.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

Jetons d’accès affinés pour « Remove a custom label from a self-hosted runner for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Self-hosted runners" organization permissions (write)

Paramètres pour « Remove a custom label from a self-hosted runner for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

name string Obligatoire

The name of a self-hosted runner's custom label.

Codes d’état de la réponse HTTP pour « Remove a custom label from a self-hosted runner for an organization »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Remove a custom label from a self-hosted runner for an organization »

Exemple de requête

delete/orgs/{org}/actions/runners/{runner_id}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels/NAME

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

List self-hosted runners for a repository

Lists all self-hosted runners configured in a repository.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « List self-hosted runners for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (read)

Paramètres pour « List self-hosted runners for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

Paramètres de requête
Nom, Type, Description
name string

The name of a self-hosted runner.

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

Codes d’état de la réponse HTTP pour « List self-hosted runners for a repository »

Code d’étatDescription
200

OK

Exemples de code pour « List self-hosted runners for a repository »

Exemple de requête

get/repos/{owner}/{repo}/actions/runners
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 11, "name": "Linux", "type": "read-only" } ] }, { "id": 24, "name": "mac_runner", "os": "macos", "status": "offline", "busy": false, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] } ] }

List runner applications for a repository

Lists binaries for the runner application that you can download and run.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « List runner applications for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (read)

Paramètres pour « List runner applications for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « List runner applications for a repository »

Code d’étatDescription
200

OK

Exemples de code pour « List runner applications for a repository »

Exemple de requête

get/repos/{owner}/{repo}/actions/runners/downloads
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/downloads

Response

Status: 200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

Create configuration for a just-in-time runner for a repository

Generates a configuration that can be passed to the runner application at startup.

The authenticated user must have admin access to the repository.

OAuth tokens and personal access tokens (classic) need therepo scope to use this endpoint.

Jetons d’accès affinés pour « Create configuration for a just-in-time runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Create configuration for a just-in-time runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
name string Obligatoire

The name of the new runner.

runner_group_id integer Obligatoire

The ID of the runner group to register the runner to.

labels array of strings Obligatoire

The names of the custom labels to add to the runner. Minimum items: 1. Maximum items: 100.

work_folder string

The working directory to be used for job execution, relative to the runner install directory.

Default: _work

Codes d’état de la réponse HTTP pour « Create configuration for a just-in-time runner for a repository »

Code d’étatDescription
201

Created

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Create configuration for a just-in-time runner for a repository »

Exemple de requête

post/repos/{owner}/{repo}/actions/runners/generate-jitconfig
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/generate-jitconfig \ -d '{"name":"New runner","runner_group_id":1,"labels":["self-hosted","X64","macOS","no-gpu"],"work_folder":"_work"}'

Response

Status: 201
{ "runner": { "id": 23, "name": "New runner", "os": "unknown", "status": "offline", "busy": false, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }, "encoded_jit_config": "abc123" }

Create a registration token for a repository

Returns a token that you can pass to the config script. The token expires after one hour.

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

./config.sh --url https://github.com/octo-org --token TOKEN

Authenticated users must have admin access to the repository to use this endpoint.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Create a registration token for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Create a registration token for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Create a registration token for a repository »

Code d’étatDescription
201

Created

Exemples de code pour « Create a registration token for a repository »

Exemple de requête

post/repos/{owner}/{repo}/actions/runners/registration-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/registration-token

Response

Status: 201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

Create a remove token for a repository

Returns a token that you can pass to the config script to remove a self-hosted runner from an repository. The token expires after one hour.

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:

./config.sh remove --token TOKEN

Authenticated users must have admin access to the repository to use this endpoint.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Create a remove token for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Create a remove token for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Create a remove token for a repository »

Code d’étatDescription
201

Created

Exemples de code pour « Create a remove token for a repository »

Exemple de requête

post/repos/{owner}/{repo}/actions/runners/remove-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/remove-token

Response

Status: 201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

Get a self-hosted runner for a repository

Gets a specific self-hosted runner configured in a repository.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Get a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (read)

Paramètres pour « Get a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Get a self-hosted runner for a repository »

Code d’étatDescription
200

OK

Exemples de code pour « Get a self-hosted runner for a repository »

Exemple de requête

get/repos/{owner}/{repo}/actions/runners/{runner_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID

Response

Status: 200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Delete a self-hosted runner from a repository

Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Delete a self-hosted runner from a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Delete a self-hosted runner from a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Delete a self-hosted runner from a repository »

Code d’étatDescription
204

No Content

Exemples de code pour « Delete a self-hosted runner from a repository »

Exemple de requête

delete/repos/{owner}/{repo}/actions/runners/{runner_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID

Response

Status: 204

List labels for a self-hosted runner for a repository

Lists all labels for a self-hosted runner configured in a repository.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « List labels for a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (read)

Paramètres pour « List labels for a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « List labels for a self-hosted runner for a repository »

Code d’étatDescription
200

OK

404

Resource not found

Exemples de code pour « List labels for a self-hosted runner for a repository »

Exemple de requête

get/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Add custom labels to a self-hosted runner for a repository

Adds custom labels to a self-hosted runner configured in a repository.

Authenticated users must have admin access to the organization to use this endpoint.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Add custom labels to a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Add custom labels to a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Paramètres du corps
Nom, Type, Description
labels array of strings Obligatoire

The names of the custom labels to add to the runner.

Codes d’état de la réponse HTTP pour « Add custom labels to a self-hosted runner for a repository »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Add custom labels to a self-hosted runner for a repository »

Exemple de requête

post/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Set custom labels for a self-hosted runner for a repository

Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in a repository.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Set custom labels for a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Set custom labels for a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Paramètres du corps
Nom, Type, Description
labels array of strings Obligatoire

The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.

Codes d’état de la réponse HTTP pour « Set custom labels for a self-hosted runner for a repository »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Set custom labels for a self-hosted runner for a repository »

Exemple de requête

put/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }

Remove all custom labels from a self-hosted runner for a repository

Remove all custom labels from a self-hosted runner configured in a repository. Returns the remaining read-only labels from the runner.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Remove all custom labels from a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Remove all custom labels from a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

Codes d’état de la réponse HTTP pour « Remove all custom labels from a self-hosted runner for a repository »

Code d’étatDescription
200

OK

404

Resource not found

Exemples de code pour « Remove all custom labels from a self-hosted runner for a repository »

Exemple de requête

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

Remove a custom label from a self-hosted runner for a repository

Remove a custom label from a self-hosted runner configured in a repository. Returns the remaining labels from the runner.

This endpoint returns a 404 Not Found status if the custom label is not present on the runner.

Authenticated users must have admin access to the repository to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Jetons d’accès affinés pour « Remove a custom label from a self-hosted runner for a repository »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Administration" repository permissions (write)

Paramètres pour « Remove a custom label from a self-hosted runner for a repository »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
owner string Obligatoire

The account owner of the repository. The name is not case sensitive.

repo string Obligatoire

The name of the repository without the .git extension. The name is not case sensitive.

runner_id integer Obligatoire

Unique identifier of the self-hosted runner.

name string Obligatoire

The name of a self-hosted runner's custom label.

Codes d’état de la réponse HTTP pour « Remove a custom label from a self-hosted runner for a repository »

Code d’étatDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Remove a custom label from a self-hosted runner for a repository »

Exemple de requête

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels/NAME

Response

Status: 200
{ "total_count": 4, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] }