REST-API-Endpunkte für Bereitstellungsstatus
Verwende die REST-API, um Bereitstellungsstatus zu verwalten.
Informationen zu Bereitstellungsstatus
Bereitstellungsstatus ermöglichen es externen Diensten, Bereitstellungen mit einem error, failure, inactive, , in_progress, queued, pendingoder success Zustand zu markieren. Systeme, die deployment_statusEreignisse überwachen, können diese Status verarbeiten und darauf reagieren. Ein Bereitstellungsstatus kann auch die optionalen description und log_url enthalten.
Eine Bereitstellung kann im Verlauf mehrere Status durchlaufen, z. B. von pending zu in_progress zu success.
GitHub verfolgt den neuesten Status für jede Bereitstellung und verwendet ihn, um den aktuellen Status der Bereitstellung anzuzeigen.
Beibehaltung von Daten
GitHub speichert Datensätze früherer Bereitstellungsstatus für 90 Tage. Frühere Status, die älter als 90 Tage sind, werden automatisch gelöscht und nicht mehr von der REST-API oder Der GraphQL-API zurückgegeben.
Diese Aufbewahrungsrichtlinie gilt für alle Endpunkte für Bereitstellungsstatus, einschließlich Bereitstellungsstatus auflisten und einen Bereitstellungsstatus abrufen. Der aktuelle Status einer Bereitstellung ist nicht betroffen, da sie in der Bereitstellung selbst gespeichert und unabhängig vom Alter der Bereitstellung verfügbar bleibt.
List deployment statuses
Users with pull access can view deployment statuses for a deployment:
Feinkörnige Zugriffstoken für "List deployment statuses"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub App-Benutzerzugriffstoken
- GitHub-App-Installations-Zugriffstoken
- Feingranulare persönliche Zugriffstoken
Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:
- "Deployments" repository permissions (read)
Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für "List deployment statuses"
| Name, Typ, BESCHREIBUNG |
|---|
accept string Setting to |
| Name, Typ, BESCHREIBUNG |
|---|
owner string ErforderlichThe account owner of the repository. The name is not case sensitive. |
repo string ErforderlichThe name of the repository without the |
deployment_id integer Erforderlichdeployment_id parameter |
| Name, Typ, BESCHREIBUNG |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
HTTP-Antwortstatuscodes für "List deployment statuses"
| Statuscode | BESCHREIBUNG |
|---|---|
200 | OK |
404 | Resource not found |
Codebeispiele für "List deployment statuses"
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statusesResponse
Status: 200[
{
"url": "https://HOSTNAME/repos/octocat/example/deployments/42/statuses/1",
"id": 1,
"node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx",
"state": "success",
"creator": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"description": "Deployment finished successfully.",
"environment": "production",
"target_url": "https://example.com/deployment/42/output",
"created_at": "2012-07-20T01:19:13Z",
"updated_at": "2012-07-20T01:19:13Z",
"deployment_url": "https://HOSTNAME/repos/octocat/example/deployments/42",
"repository_url": "https://HOSTNAME/repos/octocat/example",
"environment_url": "https://test-branch.lab.acme.com",
"log_url": "https://example.com/deployment/42/output"
}
]Create a deployment status
Users with push access can create deployment statuses for a given deployment.
OAuth app tokens and personal access tokens (classic) need the repo_deployment scope to use this endpoint.
Feinkörnige Zugriffstoken für "Create a deployment status"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub App-Benutzerzugriffstoken
- GitHub-App-Installations-Zugriffstoken
- Feingranulare persönliche Zugriffstoken
Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:
- "Deployments" repository permissions (write)
Parameter für "Create a deployment status"
| Name, Typ, BESCHREIBUNG |
|---|
accept string Setting to |
| Name, Typ, BESCHREIBUNG |
|---|
owner string ErforderlichThe account owner of the repository. The name is not case sensitive. |
repo string ErforderlichThe name of the repository without the |
deployment_id integer Erforderlichdeployment_id parameter |
| Name, Typ, BESCHREIBUNG |
|---|
state string ErforderlichThe state of the status. When you set a transient deployment to Kann eine der folgenden sein: |
target_url string The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. Note
It's recommended to use the Standard: |
log_url string The full URL of the deployment's output. This parameter replaces Standard: |
description string A short description of the status. The maximum description length is 140 characters. Standard: |
environment string Name for the target deployment environment, which can be changed when setting a deploy status. For example, |
environment_url string Sets the URL for accessing your environment. Default: Standard: |
auto_inactive boolean Adds a new |
HTTP-Antwortstatuscodes für "Create a deployment status"
| Statuscode | BESCHREIBUNG |
|---|---|
201 | Created |
422 | Validation failed, or the endpoint has been spammed. |
Codebeispiele für "Create a deployment status"
Anforderungsbeispiel
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statuses \
-d '{"environment":"production","state":"success","log_url":"https://example.com/deployment/42/output","description":"Deployment finished successfully."}'Response
Status: 201{
"url": "https://HOSTNAME/repos/octocat/example/deployments/42/statuses/1",
"id": 1,
"node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx",
"state": "success",
"creator": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"description": "Deployment finished successfully.",
"environment": "production",
"target_url": "https://example.com/deployment/42/output",
"created_at": "2012-07-20T01:19:13Z",
"updated_at": "2012-07-20T01:19:13Z",
"deployment_url": "https://HOSTNAME/repos/octocat/example/deployments/42",
"repository_url": "https://HOSTNAME/repos/octocat/example",
"environment_url": "https://test-branch.lab.acme.com",
"log_url": "https://example.com/deployment/42/output"
}Get a deployment status
Users with pull access can view a deployment status for a deployment:
Feinkörnige Zugriffstoken für "Get a deployment status"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub App-Benutzerzugriffstoken
- GitHub-App-Installations-Zugriffstoken
- Feingranulare persönliche Zugriffstoken
Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:
- "Deployments" repository permissions (read)
Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für "Get a deployment status"
| Name, Typ, BESCHREIBUNG |
|---|
accept string Setting to |
| Name, Typ, BESCHREIBUNG |
|---|
owner string ErforderlichThe account owner of the repository. The name is not case sensitive. |
repo string ErforderlichThe name of the repository without the |
deployment_id integer Erforderlichdeployment_id parameter |
status_id integer Erforderlich |
HTTP-Antwortstatuscodes für "Get a deployment status"
| Statuscode | BESCHREIBUNG |
|---|---|
200 | OK |
404 | Resource not found |
Codebeispiele für "Get a deployment status"
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statuses/STATUS_IDResponse
Status: 200{
"url": "https://HOSTNAME/repos/octocat/example/deployments/42/statuses/1",
"id": 1,
"node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx",
"state": "success",
"creator": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"description": "Deployment finished successfully.",
"environment": "production",
"target_url": "https://example.com/deployment/42/output",
"created_at": "2012-07-20T01:19:13Z",
"updated_at": "2012-07-20T01:19:13Z",
"deployment_url": "https://HOSTNAME/repos/octocat/example/deployments/42",
"repository_url": "https://HOSTNAME/repos/octocat/example",
"environment_url": "https://test-branch.lab.acme.com",
"log_url": "https://example.com/deployment/42/output"
}