页
使用 REST API 与 GitHub Pages 站点和生成进行交互。
Get a GitHub Pages site
“Get a GitHub Pages site”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
“Get a GitHub Pages site”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
404 | Resource not found |
“Get a GitHub Pages site”的示例代码
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/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
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.
“Create a GitHub Pages site”的参数
标头 | ||||||
---|---|---|---|---|---|---|
名称, 类型, 说明 | ||||||
accept stringSetting to | ||||||
路径参数 | ||||||
名称, 类型, 说明 | ||||||
owner string必选The account owner of the repository. The name is not case sensitive. | ||||||
repo string必选The name of the repository. The name is not case sensitive. | ||||||
正文参数 | ||||||
名称, 类型, 说明 | ||||||
build_type stringThe process in which the Page will be built. Possible values are 可以是以下选项之一: | ||||||
source objectThe source branch and directory used to publish your Pages site. | ||||||
Properties of |
名称, 类型, 说明 |
---|
branch string必选The repository branch used to publish your site's source files. |
path stringThe repository directory that includes the source files for the Pages site. Allowed paths are 默认: 可以是以下选项之一: |
“Create a GitHub Pages site”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
201 | Created |
409 | Conflict |
422 | Validation failed, or the endpoint has been spammed. |
“Create a GitHub Pages site”的示例代码
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/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
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.
“Update information about a GitHub Pages site”的参数
标头 | ||||||
---|---|---|---|---|---|---|
名称, 类型, 说明 | ||||||
accept stringSetting to | ||||||
路径参数 | ||||||
名称, 类型, 说明 | ||||||
owner string必选The account owner of the repository. The name is not case sensitive. | ||||||
repo string必选The name of the repository. The name is not case sensitive. | ||||||
正文参数 | ||||||
名称, 类型, 说明 | ||||||
cname string or nullSpecify a custom domain for the repository. Sending a | ||||||
https_enforced booleanSpecify whether HTTPS should be enforced for the repository. | ||||||
build_type stringThe process by which the GitHub Pages site will be built. 可以是以下选项之一: | ||||||
source objectUpdate the source for the repository. Must include the branch name and path. | ||||||
Properties of |
名称, 类型, 说明 |
---|
branch string必选The repository branch used to publish your site's source files. |
path string必选The repository directory that includes the source files for the Pages site. Allowed paths are 可以是以下选项之一: |
“Update information about a GitHub Pages site”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
400 | Bad Request |
409 | Conflict |
422 | Validation failed, or the endpoint has been spammed. |
“Update information about a GitHub Pages site”的示例代码
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/pages \
-d '{"cname":"octocatblog.com","source":{"branch":"main","path":"/"}}'
Response
Status: 204
Delete a GitHub Pages site
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.
“Delete a GitHub Pages site”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
“Delete a GitHub Pages site”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
404 | Resource not found |
409 | Conflict |
422 | Validation failed, or the endpoint has been spammed. |
“Delete a GitHub Pages site”的示例代码
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/pages
Response
Status: 204
List GitHub Pages builds
“List GitHub Pages builds”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
查询参数 |
名称, 类型, 说明 |
per_page integerThe number of results per page (max 100). 默认: |
page integerPage number of the results to fetch. 默认: |
“List GitHub Pages builds”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“List GitHub Pages builds”的示例代码
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/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
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.
“Request a GitHub Pages build”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
“Request a GitHub Pages build”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
201 | Created |
“Request a GitHub Pages build”的示例代码
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/pages/builds
Response
Status: 201
{
"url": "https://api.github.com/repos/github/developer.github.com/pages/builds/latest",
"status": "queued"
}
Get latest Pages build
“Get latest Pages build”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
“Get latest Pages build”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get latest Pages build”的示例代码
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/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
“Get GitHub Pages build”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
build_id integer必选 |
“Get GitHub Pages build”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get GitHub Pages build”的示例代码
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/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
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.
“Create a GitHub Pages deployment”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
正文参数 |
名称, 类型, 说明 |
artifact_url string必选The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. |
environment stringThe target environment for this GitHub Pages deployment. 默认: |
pages_build_version string必选A unique string that represents the version of the build for this deployment. 默认: |
oidc_token string必选The OIDC token issued by GitHub Actions certifying the origin of the deployment. |
“Create a GitHub Pages deployment”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
400 | Bad Request |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
“Create a GitHub Pages deployment”的示例代码
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/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
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.
“Get a DNS health check for GitHub Pages”的参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必选The account owner of the repository. The name is not case sensitive. |
repo string必选The name of the repository. The name is not case sensitive. |
“Get a DNS health check for GitHub Pages”的 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 a DNS health check for GitHub Pages”的示例代码
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/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
}
}