Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.
REST API теперь имеет версию. Дополнительные сведения см. в разделе Сведения об управлении версиями API.

Страницы

Используйте REST API для взаимодействия с сайтами и сборками GitHub Pages.

Get a GitHub Pages site

Работа с GitHub Apps

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

404

Resource not found

Примеры кода

get/repos/{owner}/{repo}/pages
curl \ -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/pages

Response

Status: 200
{ "url": "https://api.github.com/repos/github/developer.github.com/pages", "status": "built", "cname": "developer.github.com", "custom_404": false, "html_url": "https://developer.github.com", "source": { "branch": "master", "path": "/" }, "public": true, "https_certificate": { "state": "approved", "description": "Certificate is approved", "domains": [ "developer.github.com" ], "expires_at": "2021-05-22" }, "https_enforced": true }

Create a GitHub Pages site

Работа с GitHub Apps

Configures a GitHub Pages site. For more information, see "About GitHub Pages."

To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the repo scope or Pages write permission is required. GitHub Apps must have the administration:write and pages:write permissions.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Параметры запроса
Имя, Тип, Описание
build_typestring

The process in which the Page will be built. Possible values are "legacy" and "workflow".

Может быть одним из: legacy, workflow

sourceobject

The source branch and directory used to publish your Pages site.

Имя, Тип, Описание
branchstringОбязательно

The repository branch used to publish your site's source files.

pathstring

The repository directory that includes the source files for the Pages site. Allowed paths are / or /docs. Default: /

Значение по умолчанию: /

Может быть одним из: /, /docs

Коды состояния HTTP-ответа

Код состоянияОписание
201

Created

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Примеры кода

post/repos/{owner}/{repo}/pages
curl \ -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/pages \ -d '{"source":{"branch":"main","path":"/docs"}}'

Response

Status: 201
{ "url": "https://api.github.com/repos/github/developer.github.com/pages", "status": "built", "cname": "developer.github.com", "custom_404": false, "html_url": "https://developer.github.com", "source": { "branch": "master", "path": "/" }, "public": true, "https_certificate": { "state": "approved", "description": "Certificate is approved", "domains": [ "developer.github.com" ], "expires_at": "2021-05-22" }, "https_enforced": true }

Update information about a GitHub Pages site

Работа с GitHub Apps

Updates information for a GitHub Pages site. For more information, see "About GitHub Pages.

To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the repo scope or Pages write permission is required. GitHub Apps must have the administration:write and pages:write permissions.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Параметры запроса
Имя, Тип, Описание
cnamestring or null

Specify a custom domain for the repository. Sending a null value will remove the custom domain. For more about custom domains, see "Using a custom domain with GitHub Pages."

https_enforcedboolean

Specify whether HTTPS should be enforced for the repository.

build_typestring

The process by which the GitHub Pages site will be built. workflow means that the site is built by a custom GitHub Actions workflow. legacy means that the site is built by GitHub when changes are pushed to a specific branch.

Может быть одним из: legacy, workflow

sourceobject

Update the source for the repository. Must include the branch name and path.

Имя, Тип, Описание
branchstringОбязательно

The repository branch used to publish your site's source files.

pathstringОбязательно

The repository directory that includes the source files for the Pages site. Allowed paths are / or /docs.

Может быть одним из: /, /docs

Коды состояния HTTP-ответа

Код состоянияОписание
204

No Content

400

Bad Request

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Примеры кода

put/repos/{owner}/{repo}/pages
curl \ -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/pages \ -d '{"cname":"octocatblog.com","source":{"branch":"main","path":"/"}}'

Response

Status: 204

Delete a GitHub Pages site

Работа с GitHub Apps

Deletes a GitHub Pages site. For more information, see "About GitHub Pages.

To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the repo scope or Pages write permission is required. GitHub Apps must have the administration:write and pages:write permissions.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Коды состояния HTTP-ответа

Код состоянияОписание
204

No Content

404

Resource not found

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Примеры кода

delete/repos/{owner}/{repo}/pages
curl \ -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/pages

Response

Status: 204

List GitHub Pages builds

Работа с GitHub Apps

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Параметры запроса
Имя, Тип, Описание
per_pageinteger

The number of results per page (max 100).

Значение по умолчанию: 30

pageinteger

Page number of the results to fetch.

Значение по умолчанию: 1

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

Примеры кода

get/repos/{owner}/{repo}/pages/builds
curl \ -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/pages/builds

Response

Status: 200
[ { "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", "status": "built", "error": { "message": null }, "pusher": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", "duration": 2104, "created_at": "2014-02-10T19:00:49Z", "updated_at": "2014-02-10T19:00:51Z" } ]

Request a GitHub Pages build

Работа с GitHub Apps

You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.

Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Коды состояния HTTP-ответа

Код состоянияОписание
201

Created

Примеры кода

post/repos/{owner}/{repo}/pages/builds
curl \ -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/pages/builds

Response

Status: 201
{ "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/latest", "status": "queued" }

Get latest Pages build

Работа с GitHub Apps

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

Примеры кода

get/repos/{owner}/{repo}/pages/builds/latest
curl \ -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/pages/builds/latest

Response

Status: 200
{ "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", "status": "built", "error": { "message": null }, "pusher": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", "duration": 2104, "created_at": "2014-02-10T19:00:49Z", "updated_at": "2014-02-10T19:00:51Z" }

Get GitHub Pages build

Работа с GitHub Apps

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

build_idintegerОбязательно

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

Примеры кода

get/repos/{owner}/{repo}/pages/builds/{build_id}
curl \ -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/pages/builds/BUILD_ID

Response

Status: 200
{ "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", "status": "built", "error": { "message": null }, "pusher": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", "duration": 2104, "created_at": "2014-02-10T19:00:49Z", "updated_at": "2014-02-10T19:00:51Z" }

Create a GitHub Pages deployment

Работа с GitHub Apps

Create a GitHub Pages deployment for a repository.

Users must have write permissions. GitHub Apps must have the pages:write permission to use this endpoint.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Параметры запроса
Имя, Тип, Описание
artifact_urlstringОбязательно

The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository.

environmentstring

The target environment for this GitHub Pages deployment.

Значение по умолчанию: github-pages

pages_build_versionstringОбязательно

A unique string that represents the version of the build for this deployment.

Значение по умолчанию: GITHUB_SHA

oidc_tokenstringОбязательно

The OIDC token issued by GitHub Actions certifying the origin of the deployment.

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

400

Bad Request

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Примеры кода

post/repos/{owner}/{repo}/pages/deployment
curl \ -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/pages/deployment \ -d '{"artifact_url":"https://downloadcontent/","environment":"github-pages","pages_build_version":"4fd754f7e594640989b406850d0bc8f06a121251","oidc_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlV2R1h4SUhlY0JFc1JCdEttemUxUEhfUERiVSIsImtpZCI6IjUyRjE5N0M0ODFERTcwMTEyQzQ0MUI0QTlCMzdCNTNDN0ZDRjBEQjUifQ.eyJqdGkiOiJhMWIwNGNjNy0zNzZiLTQ1N2QtOTMzNS05NTY5YmVjZDExYTIiLCJzdWIiOiJyZXBvOnBhcGVyLXNwYS9taW55aTplbnZpcm9ubWVudDpQcm9kdWN0aW9uIiwiYXVkIjoiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyLXNwYSIsInJlZiI6InJlZnMvaGVhZHMvbWFpbiIsInNoYSI6ImEyODU1MWJmODdiZDk3NTFiMzdiMmM0YjM3M2MxZjU3NjFmYWM2MjYiLCJyZXBvc2l0b3J5IjoicGFwZXItc3BhL21pbnlpIiwicmVwb3NpdG9yeV9vd25lciI6InBhcGVyLXNwYSIsInJ1bl9pZCI6IjE1NDY0NTkzNjQiLCJydW5fbnVtYmVyIjoiMzQiLCJydW5fYXR0ZW1wdCI6IjYiLCJhY3RvciI6IllpTXlzdHkiLCJ3b3JrZmxvdyI6IkNJIiwiaGVhZF9yZWYiOiIiLCJiYXNlX3JlZiI6IiIsImV2ZW50X25hbWUiOiJwdXNoIiwicmVmX3R5cGUiOiJicmFuY2giLCJlbnZpcm9ubWVudCI6IlByb2R1Y3Rpb24iLCJqb2Jfd29ya2Zsb3dfcmVmIjoicGFwZXItc3BhL21pbnlpLy5naXRodWIvd29ya2Zsb3dzL2JsYW5rLnltbEByZWZzL2hlYWRzL21haW4iLCJpc3MiOiJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwibmJmIjoxNjM5MDAwODU2LCJleHAiOjE2MzkwMDE3NTYsImlhdCI6MTYzOTAwMTQ1Nn0.VP8WictbQECKozE2SgvKb2FqJ9hisWsoMkYRTqfBrQfZTCXi5IcFEdgDMB2X7a99C2DeUuTvHh9RMKXLL2a0zg3-Sd7YrO7a2ll2kNlnvyIypcN6AeIc7BxHsTTnZN9Ud_xmEsTrSRGOEKmzCFkULQ6N4zlVD0sidypmXlMemmWEcv_ZHqhioEI_VMp5vwXQurketWH7qX4oDgG4okyYtPrv5RQHbfQcVo9izaPJ_jnsDd0CBA0QOx9InjPidtIkMYQLyUgJy33HLJy86EFNUnAf8UhBQuQi5mAsEpEzBBuKpG3PDiPtYCHOk64JZkZGd5mR888a5sbHRiaF8hm8YA","preview":false}'

Response

Status: 200
{ "status_url": "https://api.github.com/repos/github/developer.github.com/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251/status", "page_url": "developer.github.com" }

Get a DNS health check for GitHub Pages

Работа с GitHub Apps

Gets a health check of the DNS settings for the CNAME record configured for a repository's GitHub Pages.

The first request to this endpoint returns a 202 Accepted status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a 200 OK status with the health check results in the response.

To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the repo scope or Pages write permission is required. GitHub Apps must have the administrative:write and pages:write permissions.

Параметры

Заголовки
Имя, Тип, Описание
acceptstring

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

Параметры пути
Имя, Тип, Описание
ownerstringОбязательно

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

repostringОбязательно

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

Коды состояния HTTP-ответа

Код состоянияОписание
200

OK

202

Empty response

400

Custom domains are not available for GitHub Pages

404

Resource not found

422

There isn't a CNAME for this page

Примеры кода

get/repos/{owner}/{repo}/pages/health
curl \ -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/pages/health

Response

Status: 200
{ "domain": { "host": "example.com", "uri": "http://example.com/", "nameservers": "default", "dns_resolves": true, "is_proxied": false, "is_cloudflare_ip": false, "is_fastly_ip": false, "is_old_ip_address": false, "is_a_record": true, "has_cname_record": false, "has_mx_records_present": false, "is_valid_domain": true, "is_apex_domain": true, "should_be_a_record": true, "is_cname_to_github_user_domain": false, "is_cname_to_pages_dot_github_dot_com": false, "is_cname_to_fastly": false, "is_pointed_to_github_pages_ip": true, "is_non_github_pages_ip_present": false, "is_pages_domain": false, "is_served_by_pages": true, "is_valid": true, "reason": null, "responds_to_https": true, "enforces_https": true, "https_error": null, "is_https_eligible": true, "caa_error": null }, "alt_domain": { "host": "www.example.com", "uri": "http://www.example.com/", "nameservers": "default", "dns_resolves": true, "is_proxied": false, "is_cloudflare_ip": false, "is_fastly_ip": false, "is_old_ip_address": false, "is_a_record": true, "has_cname_record": false, "has_mx_records_present": false, "is_valid_domain": true, "is_apex_domain": true, "should_be_a_record": true, "is_cname_to_github_user_domain": false, "is_cname_to_pages_dot_github_dot_com": false, "is_cname_to_fastly": false, "is_pointed_to_github_pages_ip": true, "is_non_github_pages_ip_present": false, "is_pages_domain": false, "is_served_by_pages": true, "is_valid": true, "reason": null, "responds_to_https": true, "enforces_https": true, "https_error": null, "is_https_eligible": true, "caa_error": null } }