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 ».
Ces points de terminaison sont disponibles pour les utilisateurs authentifiés, les OAuth Apps et les GitHub Apps. Les jetons d’accès nécessitent une étendue repo
pour les dépôts privés et une étendue public_repo
pour les dépôts publics. GitHub Apps doivent avoir l’autorisation administration
pour les dépôts et l’autorisation organization_self_hosted_runners
pour les organisations. Les utilisateurs authentifiés doivent disposer d’un accès administrateur aux référentiels ou aux organisations, ou à l’étendue manage_runners:enterprise
pour que les entreprises puissent utiliser ces points de terminaison.
List self-hosted runners for an organization
Lists all self-hosted runners configured in an organization.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « List self-hosted runners for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
Paramètres de requête |
Nom, Type, Description |
per_page integer The number of results per page (max 100). Default: |
page integer Page number of the results to fetch. Default: |
Codes d’état de la réponse HTTP pour « List self-hosted runners for an organization »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List self-hosted runners for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « List runner applications for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe 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’état | Description |
---|---|
200 | OK |
Exemples de code pour « List runner applications for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « Create configuration for a just-in-time runner for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
Paramètres du corps |
Nom, Type, Description |
name string ObligatoireThe name of the new runner. |
runner_group_id integer ObligatoireThe ID of the runner group to register the runner to. |
labels array of strings ObligatoireThe 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: |
Codes d’état de la réponse HTTP pour « Create configuration for a just-in-time runner for an organization »
Code d’état | Description |
---|---|
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 »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Example using registration token
Configure your self-hosted runner, replacing TOKEN
with the registration token provided by this endpoint.
./config.sh --url https://github.com/octo-org --token TOKEN
Paramètres pour « Create a registration token for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe 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’état | Description |
---|---|
201 | Created |
Exemples de code pour « Create a registration token for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Example using remove token
To remove your self-hosted runner from an organization, replace TOKEN
with the remove token provided by this
endpoint.
./config.sh remove --token TOKEN
Paramètres pour « Create a remove token for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe 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’état | Description |
---|---|
201 | Created |
Exemples de code pour « Create a remove token for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « Get a self-hosted runner for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
Exemples de code pour « Get a self-hosted runner for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « Delete a self-hosted runner from an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete a self-hosted runner from an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « List labels for a self-hosted runner for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « List labels for a self-hosted runner for an organization »
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
Add custom labels to a self-hosted runner configured in an organization.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « Add custom labels to a self-hosted runner for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
Paramètres du corps |
Nom, Type, Description |
labels array of strings ObligatoireThe 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’état | Description |
---|---|
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 »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
Paramètres pour « Set custom labels for a self-hosted runner for an organization »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
Paramètres du corps |
Nom, Type, Description |
labels array of strings ObligatoireThe 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’état | Description |
---|---|
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 »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
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 |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « Remove all custom labels from a self-hosted runner for an organization »
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.
You must authenticate using an access token with the admin:org
scope to use this endpoint.
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 |
Paramètres de chemin d’accès |
Nom, Type, Description |
org string ObligatoireThe organization name. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
name string ObligatoireThe 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’état | Description |
---|---|
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 »
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. You must authenticate using an access token with the repo
scope to use this endpoint.
Paramètres pour « List self-hosted runners for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
Paramètres de requête |
Nom, Type, Description |
per_page integer The number of results per page (max 100). Default: |
page integer Page number of the results to fetch. Default: |
Codes d’état de la réponse HTTP pour « List self-hosted runners for a repository »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List self-hosted runners for a repository »
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.
You must authenticate using an access token with the repo
scope to use this endpoint.
Paramètres pour « List runner applications for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
Codes d’état de la réponse HTTP pour « List runner applications for a repository »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List runner applications for a repository »
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.
You must authenticate using an access token with the repo
scope to use this endpoint.
Paramètres pour « Create configuration for a just-in-time runner for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
Paramètres du corps |
Nom, Type, Description |
name string ObligatoireThe name of the new runner. |
runner_group_id integer ObligatoireThe ID of the runner group to register the runner to. |
labels array of strings ObligatoireThe 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: |
Codes d’état de la réponse HTTP pour « Create configuration for a just-in-time runner for a repository »
Code d’état | Description |
---|---|
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 »
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. You must authenticate
using an access token with the repo
scope to use this endpoint.
Example using registration token
Configure your self-hosted runner, replacing TOKEN
with the registration token provided by this endpoint.
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN
Paramètres pour « Create a registration token for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
Codes d’état de la réponse HTTP pour « Create a registration token for a repository »
Code d’état | Description |
---|---|
201 | Created |
Exemples de code pour « Create a registration token for a repository »
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 remove a self-hosted runner from a repository. The token expires after one hour.
You must authenticate using an access token with the repo
scope to use this endpoint.
Example using remove token
To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.
./config.sh remove --token TOKEN
Paramètres pour « Create a remove token for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
Codes d’état de la réponse HTTP pour « Create a remove token for a repository »
Code d’état | Description |
---|---|
201 | Created |
Exemples de code pour « Create a remove token for a repository »
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.
You must authenticate using an access token with the repo
scope to use this
endpoint.
Paramètres pour « Get a self-hosted runner for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
Exemples de code pour « Get a self-hosted runner for a repository »
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.
You must authenticate using an access token with the repo
scope to use this endpoint.
Paramètres pour « Delete a self-hosted runner from a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete a self-hosted runner from a repository »
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.
You must authenticate using an access token with the repo
scope to use this
endpoint.
Paramètres pour « List labels for a self-hosted runner for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « List labels for a self-hosted runner for a repository »
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
Add custom labels to a self-hosted runner configured in a repository.
You must authenticate using an access token with the repo
scope to use this
endpoint.
Paramètres pour « Add custom labels to a self-hosted runner for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
Paramètres du corps |
Nom, Type, Description |
labels array of strings ObligatoireThe 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’état | Description |
---|---|
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 »
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.
You must authenticate using an access token with the repo
scope to use this
endpoint.
Paramètres pour « Set custom labels for a self-hosted runner for a repository »
En-têtes |
---|
Nom, Type, Description |
accept string Setting to |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
Paramètres du corps |
Nom, Type, Description |
labels array of strings ObligatoireThe 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’état | Description |
---|---|
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 »
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.
You must authenticate using an access token with the repo
scope to use this
endpoint.
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 |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique 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’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « Remove all custom labels from a self-hosted runner for a repository »
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.
You must authenticate using an access token with the repo
scope to use this
endpoint.
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 |
Paramètres de chemin d’accès |
Nom, Type, Description |
owner string ObligatoireThe account owner of the repository. The name is not case sensitive. |
repo string ObligatoireThe name of the repository. The name is not case sensitive. |
runner_id integer ObligatoireUnique identifier of the self-hosted runner. |
name string ObligatoireThe 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’état | Description |
---|---|
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 »
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"
}
]
}