GitHub Enterprise 管理

本文内容

You can use these GitHub Enterprise Cloud endpoints to administer your enterprise account.

端点 URL

REST API 端点 是以下 URL 的前缀:

https://api.[hostname]

身份验证

GitHub AE 安装设施的 API 端点接受与 GitHub.com 相同的身份验证方法。 您可以使用 OAuth 令牌基本身份验证来验证自己。

企业管理 API 端点只有经过身份验证的 GitHub AE 站点管理员可以访问。

版本信息

每个 API 的响应标头中都会返回企业的当前版本:X-GitHub-Enterprise-Version: github-ae@latest.0 您也可以通过调用元端点来读取当前版本。

GitHub Actions

注意: GitHub Actions 目前正在测试用于 GitHub AE 。

Get GitHub Actions permissions for an enterprise

Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/permissions

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/permissions', {
  enterprise: 'enterprise'
})

Response

Status: 200 OK
{
  "enabled_organizations": "all",
  "allowed_actions": "selected",
  "selected_actions_url": "https://api.github.com/enterprises/2/actions/permissions/selected-actions"
}

Set GitHub Actions permissions for an enterprise

Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/permissions

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

enabled_organizations string body

Required. The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: all, none, or selected.

allowed_actions string body

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions \
  -d '{"enabled_organizations":"enabled_organizations"}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions', {
  enterprise: 'enterprise',
  enabled_organizations: 'enabled_organizations'
})

Response

Status: 204 No Content

List selected organizations enabled for GitHub Actions in an enterprise

Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/permissions/organizations

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/organizations
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/permissions/organizations', {
  enterprise: 'enterprise'
})

Response

Status: 200 OK
{
  "total_count": 1,
  "organizations": [
    {
      "login": "octocat",
      "id": 161335,
      "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
      "url": "https://api.github.com/orgs/octo-org",
      "repos_url": "https://api.github.com/orgs/octo-org/repos",
      "events_url": "https://api.github.com/orgs/octo-org/events",
      "hooks_url": "https://api.github.com/orgs/octo-org/hooks",
      "issues_url": "https://api.github.com/orgs/octo-org/issues",
      "members_url": "https://api.github.com/orgs/octo-org/members{/member}",
      "public_members_url": "https://api.github.com/orgs/octo-org/public_members{/member}",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "description": "A great organization"
    }
  ]
}

Set selected organizations enabled for GitHub Actions in an enterprise

Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/permissions/organizations

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

selected_organization_ids array of integers body

Required. List of organization IDs to enable for GitHub Actions.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/organizations \
  -d '{"selected_organization_ids":[42]}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations', {
  enterprise: 'enterprise',
  selected_organization_ids: [
    42
  ]
})

Response

Status: 204 No Content

Enable a selected organization for GitHub Actions in an enterprise

Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/permissions/organizations/{org_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

org_id integer path

Unique identifier of an organization.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/organizations/42
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {
  enterprise: 'enterprise',
  org_id: 42
})

Response

Status: 204 No Content

Disable a selected organization for GitHub Actions in an enterprise

Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

delete /enterprises/{enterprise}/actions/permissions/organizations/{org_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

org_id integer path

Unique identifier of an organization.

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/organizations/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {
  enterprise: 'enterprise',
  org_id: 42
})

Response

Status: 204 No Content

Get allowed actions for an enterprise

Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/permissions/selected-actions

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/selected-actions
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/permissions/selected-actions', {
  enterprise: 'enterprise'
})

Response

Status: 200 OK
{
  "github_owned_allowed": true,
  "verified_allowed": false,
  "patterns_allowed": [
    "monalisa/octocat@*",
    "docker/*"
  ]
}

Set allowed actions for an enterprise

Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions must be configured to selected. For more information, see "Set GitHub Actions permissions for an enterprise."

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/permissions/selected-actions

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

github_owned_allowed boolean body

Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

verified_allowed boolean body

Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

patterns_allowed array of strings body

Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*."

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/permissions/selected-actions \
  -d '{"github_owned_allowed":true}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/selected-actions', {
  enterprise: 'enterprise',
  github_owned_allowed: true
})

Response

Status: 204 No Content

List self-hosted runner groups for an enterprise

Lists all self-hosted runner groups for an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/runner-groups

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups', {
  enterprise: 'enterprise'
})

Response

Status: 200 OK
{
  "total_count": 3,
  "runner_groups": [
    {
      "id": 1,
      "name": "Default",
      "visibility": "all",
      "default": true,
      "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners",
      "allows_public_repositories": false
    },
    {
      "id": 2,
      "name": "octo-runner-group",
      "visibility": "selected",
      "default": false,
      "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations",
      "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners",
      "allows_public_repositories": true
    },
    {
      "id": 3,
      "name": "expensive-hardware",
      "visibility": "private",
      "default": false,
      "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners",
      "allows_public_repositories": true
    }
  ]
}

Create a self-hosted runner group for an enterprise

Creates a new self-hosted runner group for an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

post /enterprises/{enterprise}/actions/runner-groups

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

name string body

Required. Name of the runner group.

visibility string body

Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: all or selected

selected_organization_ids array of integers body

List of organization IDs that can access the runner group.

runners array of integers body

List of runner IDs to add to the runner group.

代码示例

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups \
  -d '{"name":"name"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /enterprises/{enterprise}/actions/runner-groups', {
  enterprise: 'enterprise',
  name: 'name'
})

Response

Status: 201 Created
{
  "id": 2,
  "name": "octo-runner-group",
  "visibility": "selected",
  "default": false,
  "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations",
  "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners",
  "allows_public_repositories": false
}

Get a self-hosted runner group for an enterprise

Gets a specific self-hosted runner group for an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {
  enterprise: 'enterprise',
  runner_group_id: 42
})

Response

Status: 200 OK
{
  "id": 2,
  "name": "octo-runner-group",
  "visibility": "selected",
  "default": false,
  "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations",
  "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners",
  "allows_public_repositories": false
}

Update a self-hosted runner group for an enterprise

Updates the name and visibility of a self-hosted runner group in an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

patch /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

name string body

Name of the runner group.

visibility string body

Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: all or selected

Default: all

代码示例

Shell
curl \
  -X PATCH \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42 \
  -d '{"name":"name"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {
  enterprise: 'enterprise',
  runner_group_id: 42,
  name: 'name'
})

Response

Status: 200 OK
{
  "id": 2,
  "name": "Expensive hardware runners",
  "visibility": "selected",
  "default": false,
  "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations",
  "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners",
  "allows_public_repositories": true
}

Delete a self-hosted runner group from an enterprise

Deletes a self-hosted runner group for an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

delete /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {
  enterprise: 'enterprise',
  runner_group_id: 42
})

Response

Status: 204 No Content

List self-hosted runners in a group for an enterprise

Lists the self-hosted runners that are in a specific enterprise group.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42/runners
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {
  enterprise: 'enterprise',
  runner_group_id: 42
})

Response

Status: 200 OK
{
  "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"
        }
      ]
    }
  ]
}

Set self-hosted runners in a group for an enterprise

Replaces the list of self-hosted runners that are part of an enterprise runner group.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

runners array of integers body

Required. List of runner IDs to add to the runner group.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42/runners \
  -d '{"runners":[42]}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {
  enterprise: 'enterprise',
  runner_group_id: 42,
  runners: [
    42
  ]
})

Response

Status: 204 No Content

Add a self-hosted runner to a group for an enterprise

Adds a self-hosted runner to a runner group configured in an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

put /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

runner_id integer path

Unique identifier of the self-hosted runner.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42
JavaScript (@octokit/core.js)
await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {
  enterprise: 'enterprise',
  runner_group_id: 42,
  runner_id: 42
})

Response

Status: 204 No Content

Remove a self-hosted runner from a group for an enterprise

Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

delete /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_id integer path

Unique identifier of the self-hosted runner group.

runner_id integer path

Unique identifier of the self-hosted runner.

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {
  enterprise: 'enterprise',
  runner_group_id: 42,
  runner_id: 42
})

Response

Status: 204 No Content

List self-hosted runners for an enterprise

Lists all self-hosted runners configured for an enterprise.

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/runners

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runners
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/runners', {
  enterprise: 'enterprise'
})

Response

Status: 200 OK
{
  "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"
        }
      ]
    }
  ]
}

Get a self-hosted runner for an enterprise

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

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

get /enterprises/{enterprise}/actions/runners/{runner_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_id integer path

Unique identifier of the self-hosted runner.

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runners/42
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprises/{enterprise}/actions/runners/{runner_id}', {
  enterprise: 'enterprise',
  runner_id: 42
})

Response

Status: 200 OK
{
  "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 enterprise

Forces the removal of a self-hosted runner from an enterprise. 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:enterprise scope to use this endpoint.

delete /enterprises/{enterprise}/actions/runners/{runner_id}

参数

Name Type In Description
accept string header

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

enterprise string path

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_id integer path

Unique identifier of the self-hosted runner.

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprises/ENTERPRISE/actions/runners/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /enterprises/{enterprise}/actions/runners/{runner_id}', {
  enterprise: 'enterprise',
  runner_id: 42
})

Response

Status: 204 No Content

管理统计

管理统计 API 提供有关安装设施的各种指标。 它只适用于经过身份验证的站点管理员。普通用户尝试访问它时会收到 404 响应。

get /enterprise/stats/all

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/all
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/all')

Response

Status: 200 OK
{
  "repos": {
    "total_repos": 212,
    "root_repos": 194,
    "fork_repos": 18,
    "org_repos": 51,
    "total_pushes": 3082,
    "total_wikis": 15
  },
  "hooks": {
    "total_hooks": 27,
    "active_hooks": 23,
    "inactive_hooks": 4
  },
  "pages": {
    "total_pages": 36
  },
  "orgs": {
    "total_orgs": 33,
    "disabled_orgs": 0,
    "total_teams": 60,
    "total_team_members": 314
  },
  "users": {
    "total_users": 254,
    "admin_users": 45,
    "suspended_users": 21
  },
  "pulls": {
    "total_pulls": 86,
    "merged_pulls": 60,
    "mergeable_pulls": 21,
    "unmergeable_pulls": 3
  },
  "issues": {
    "total_issues": 179,
    "open_issues": 83,
    "closed_issues": 96
  },
  "milestones": {
    "total_milestones": 7,
    "open_milestones": 6,
    "closed_milestones": 1
  },
  "gists": {
    "total_gists": 178,
    "private_gists": 151,
    "public_gists": 25
  },
  "comments": {
    "total_commit_comments": 6,
    "total_gist_comments": 28,
    "total_issue_comments": 366,
    "total_pull_request_comments": 30
  }
}

get /enterprise/stats/comments

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/comments
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/comments')

Response

Status: 200 OK

get /enterprise/stats/gists

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/gists
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/gists')

Response

Status: 200 OK

get /enterprise/stats/hooks

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/hooks')

Response

Status: 200 OK

get /enterprise/stats/issues

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/issues
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/issues')

Response

Status: 200 OK

get /enterprise/stats/milestones

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/milestones
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/milestones')

Response

Status: 200 OK

get /enterprise/stats/orgs

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/orgs
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/orgs')

Response

Status: 200 OK

get /enterprise/stats/pages

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/pages
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/pages')

Response

Status: 200 OK

get /enterprise/stats/pulls

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/pulls
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/pulls')

Response

Status: 200 OK

get /enterprise/stats/repos

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/repos
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/repos')

Response

Status: 200 OK

get /enterprise/stats/users

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/stats/users
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/users')

Response

Status: 200 OK

公告

公告 API 允许您管理企业中的全局公告横幅。 更多信息请参阅“自定义企业的用户消息”。

Get the global announcement banner

Gets the current message and expiration date of the global announcement banner in your enterprise.

get /enterprise/announcement

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/announcement
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/announcement')

Default response

Status: 200 OK
{
  "announcement": "Very **important** announcement about _nothing_.",
  "expires_at": "2021-01-01T00:00:00.000+00:00"
}

Set the global announcement banner

Sets the message and expiration time for the global announcement banner in your enterprise.

patch /enterprise/announcement

参数

Name Type In Description
accept string header

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

announcement string body

Required. The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "Mastering markdown."

expires_at string or nullable body

The time at which the announcement expires. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. To set an announcement that never expires, omit this parameter, set it to null, or set it to an empty string.

代码示例

Shell
curl \
  -X PATCH \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/announcement \
  -d '{"announcement":"announcement"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /enterprise/announcement', {
  announcement: 'announcement'
})

Default response

Status: 200 OK
{
  "announcement": "Very **important** announcement about _nothing_.",
  "expires_at": "2021-01-01T00:00:00.000+00:00"
}

Remove the global announcement banner

Removes the global announcement banner in your enterprise.

delete /enterprise/announcement

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/announcement
JavaScript (@octokit/core.js)
await octokit.request('DELETE /enterprise/announcement')

Response

Status: 204 No Content

全局 web 挂钩

全局 web 挂钩安装在企业上。 您可以使用全局 web 挂钩来自动监视、响应或实施针对企业上的用户、组织、团队和仓库的规则。 全局 web 挂钩可以订阅组织用户仓库团队成员成员身份复刻ping 事件类型。

此 API 只适用于经过身份验证的站点管理员。普通用户尝试访问它时会收到 404 响应。 要了解如何配置全局 web 挂钩,请参阅关于全局 web 挂钩

get /admin/hooks

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/hooks', {
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 200 OK
[
  {
    "type": "Global",
    "id": 1,
    "name": "web",
    "active": true,
    "events": [
      "organization",
      "user"
    ],
    "config": {
      "url": "https://example.com",
      "content_type": "json",
      "insecure_ssl": "0",
      "secret": "********"
    },
    "updated_at": "2017-12-07T00:14:59Z",
    "created_at": "2017-12-07T00:14:59Z",
    "url": "https://api.github.com/admin/hooks/1",
    "ping_url": "https://api.github.com/admin/hooks/1/pings"
  }
]

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

post /admin/hooks

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
name string body

Required. Must be passed as "web".

config object body

Required. Key/value pairs to provide settings for this webhook.

Properties of the config object

url (string)

Required. The URL to which the payloads will be delivered.

content_type (string)

The media type used to serialize the payloads. Supported values include json and form. The default is form.

secret (string)

If provided, the secret will be used as the key to generate the HMAC hex digest value in the X-Hub-Signature header.

insecure_ssl (string)

Determines whether the SSL certificate of the host for url will be verified when delivering payloads. Supported values include 0 (verification is performed) and 1 (verification is not performed). The default is 0. We strongly recommend not setting this to 1 as you are subject to man-in-the-middle and other attacks.

events array of strings body

The events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.

active boolean body

Determines if notifications are sent when the webhook is triggered. Set to true to send notifications.

Default: true

代码示例

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks \
  -d '{"name":"name","config":{"url":"url","content_type":"content_type","secret":"secret","insecure_ssl":"insecure_ssl"}}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/hooks', {
  name: 'name',
  config: {
    url: 'url',
    content_type: 'content_type',
    secret: 'secret',
    insecure_ssl: 'insecure_ssl'
  },
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 201 Created
{
  "type": "Global",
  "id": 1,
  "name": "web",
  "active": true,
  "events": [
    "organization",
    "user"
  ],
  "config": {
    "url": "https://example.com",
    "content_type": "json",
    "insecure_ssl": "0",
    "secret": "********"
  },
  "updated_at": "2017-12-07T00:14:59Z",
  "created_at": "2017-12-07T00:14:59Z",
  "url": "https://api.github.com/admin/hooks/1",
  "ping_url": "https://api.github.com/admin/hooks/1/pings"
}

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

get /admin/hooks/{hook_id}

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
hook_id integer path

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks/42
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/hooks/{hook_id}', {
  hook_id: 42,
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 200 OK
{
  "type": "Global",
  "id": 1,
  "name": "web",
  "active": true,
  "events": [
    "organization",
    "user"
  ],
  "config": {
    "url": "https://example.com",
    "content_type": "json",
    "insecure_ssl": "0",
    "secret": "********"
  },
  "updated_at": "2017-12-07T00:14:59Z",
  "created_at": "2017-12-07T00:14:59Z",
  "url": "https://api.github.com/admin/hooks/1",
  "ping_url": "https://api.github.com/admin/hooks/1/pings"
}

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

Update a global webhook

Parameters that are not provided will be overwritten with the default value or removed if no default exists.

patch /admin/hooks/{hook_id}

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
hook_id integer path
config object body

Key/value pairs to provide settings for this webhook.

Properties of the config object

url (string)

Required. The URL to which the payloads will be delivered.

content_type (string)

The media type used to serialize the payloads. Supported values include json and form. The default is form.

secret (string)

If provided, the secret will be used as the key to generate the HMAC hex digest value in the X-Hub-Signature header.

insecure_ssl (string)

Determines whether the SSL certificate of the host for url will be verified when delivering payloads. Supported values include 0 (verification is performed) and 1 (verification is not performed). The default is 0. We strongly recommend not setting this to 1 as you are subject to man-in-the-middle and other attacks.

events array of strings body

The events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.

active boolean body

Determines if notifications are sent when the webhook is triggered. Set to true to send notifications.

Default: true

代码示例

Shell
curl \
  -X PATCH \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks/42 \
  -d '{"config":{"url":"url","content_type":"content_type","secret":"secret","insecure_ssl":"insecure_ssl"}}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/hooks/{hook_id}', {
  hook_id: 42,
  config: {
    url: 'url',
    content_type: 'content_type',
    secret: 'secret',
    insecure_ssl: 'insecure_ssl'
  },
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 200 OK
{
  "type": "Global",
  "id": 1,
  "name": "web",
  "active": true,
  "events": [
    "organization"
  ],
  "config": {
    "url": "https://example.com",
    "content_type": "form",
    "insecure_ssl": "0"
  },
  "updated_at": "2017-12-07T00:14:59Z",
  "created_at": "2017-12-07T00:14:59Z",
  "url": "https://api.github.com/admin/hooks/1",
  "ping_url": "https://api.github.com/admin/hooks/1/pings"
}

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

delete /admin/hooks/{hook_id}

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
hook_id integer path

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/hooks/{hook_id}', {
  hook_id: 42,
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 204 No Content

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

Ping a global webhook

This will trigger a ping event to be sent to the webhook.

post /admin/hooks/{hook_id}/pings

参数

Name Type In Description
accept string header

This API is under preview and subject to change. 查看预览通知

accept string header

This API is under preview and subject to change.

Default: application/vnd.github.superpro-preview+json
hook_id integer path

代码示例

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  http(s)://api.{hostname}/admin/hooks/42/pings
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/hooks/{hook_id}/pings', {
  hook_id: 42,
  mediaType: {
    previews: [
      'superpro'
    ]
  }
})

Response

Status: 204 No Content

预览通知

The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.superpro-preview+json
☝️ 此标头必填.

许可

许可 API 提供有关企业许可的信息。 它只适用于经过身份验证的站点管理员。普通用户尝试访问它时会收到 404 响应。

get /enterprise/settings/license

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/enterprise/settings/license
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/settings/license')

Response

Status: 200 OK
{
  "seats": 1400,
  "seats_used": 1316,
  "seats_available": 84,
  "kind": "standard",
  "days_until_expiration": 365,
  "expire_at": "2016/02/06 12:41:52 -0600"
}

组织

组织管理 API 允许您在企业上创建组织。 它只适用于经过身份验证的站点管理员。普通用户尝试访问它时会收到 404 响应。

post /admin/organizations

参数

Name Type In Description
accept string header

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

login string body

Required. The organization's username.

admin string body

Required. The login of the user who will manage this organization.

profile_name string body

The organization's display name.

代码示例

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/organizations \
  -d '{"login":"login","admin":"admin"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/organizations', {
  login: 'login',
  admin: 'admin'
})

Response

Status: 201 Created
{
  "login": "github",
  "id": 1,
  "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
  "url": "https://api.github.com/orgs/github",
  "repos_url": "https://api.github.com/orgs/github/repos",
  "events_url": "https://api.github.com/orgs/github/events",
  "hooks_url": "https://api.github.com/orgs/github/hooks",
  "issues_url": "https://api.github.com/orgs/github/issues",
  "members_url": "https://api.github.com/orgs/github/members{/member}",
  "public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
  "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  "description": "A great organization"
}

patch /admin/organizations/{org}

参数

Name Type In Description
accept string header

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

org string path
login string body

Required. The organization's new name.

代码示例

Shell
curl \
  -X PATCH \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/organizations/ORG \
  -d '{"login":"login"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/organizations/{org}', {
  org: 'org',
  login: 'login'
})

Response

Status: 202 Accepted
{
  "message": "Job queued to rename organization. It may take a few minutes to complete.",
  "url": "https://<hostname>/api/v3/organizations/1"
}

用户

用户管理 API 允许您暂停以及取消暂停 企业上的用户。 它只适用于经过身份验证的站点管理员。普通用户尝试访问它时会收到 403 响应。

get /admin/keys

参数

Name Type In Description
accept string header

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

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1
direction string query

One of asc (ascending) or desc (descending).

Default: desc
sort string query Default: created
since string query

Only show public keys accessed after the given time.

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/keys
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/keys')

Response

Status: 200 OK
[
  {
    "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
    "id": 2,
    "url": "https://api.github.com/user/keys/2",
    "title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
    "created_at": "2020-06-11T21:31:57Z",
    "verified": false,
    "read_only": false,
    "last_used": "2020-06-11T22:31:57Z",
    "user_id": 1,
    "repository_id": 2
  },
  {
    "key": "9Og8iYjAyymI9LvABpJerYrMxURPc8r+dB7TJyvv1234",
    "id": 3,
    "url": "https://api.github.com/user/keys/2",
    "title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
    "created_at": "2020-06-11T21:31:57Z",
    "verified": false,
    "read_only": false,
    "last_used": "2020-06-11T22:31:57Z",
    "user_id": 1,
    "repository_id": 2
  }
]

delete /admin/keys/{key_ids}

参数

Name Type In Description
accept string header

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

key_ids string path

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/keys/KEY_IDS
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/keys/{key_ids}', {
  key_ids: 'key_ids'
})

Response

Status: 204 No Content

List personal access tokens

Lists personal access tokens for all users, including admin users.

get /admin/tokens

参数

Name Type In Description
accept string header

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

per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

代码示例

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/tokens
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/tokens')

Response

Status: 200 OK
[
  {
    "id": 1,
    "url": "https://api.github.com/authorizations/1",
    "scopes": [
      "public_repo"
    ],
    "token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
    "token_last_eight": "Ae178B4a",
    "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
    "app": {
      "url": "http://my-github-app.com",
      "name": "my github app",
      "client_id": "abcde12345fghij67890"
    },
    "note": "optional note",
    "note_url": "http://optional/note/url",
    "updated_at": "2011-09-06T20:39:23Z",
    "created_at": "2011-09-06T17:26:27Z",
    "fingerprint": "jklmnop12345678"
  }
]

Delete a personal access token

Deletes a personal access token. Returns a 403 - Forbidden status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.

delete /admin/tokens/{token_id}

参数

Name Type In Description
accept string header

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

token_id integer path

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/tokens/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/tokens/{token_id}', {
  token_id: 42
})

Response

Status: 204 No Content

Delete a user

Deleting a user will delete all their repositories, gists, applications, and personal settings. Suspending a user is often a better option.

You can delete any user account except your own.

delete /admin/users/{username}

参数

Name Type In Description
accept string header

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

username string path

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/users/USERNAME
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/users/{username}', {
  username: 'username'
})

Response

Status: 204 No Content

post /admin/users/{username}/authorizations

参数

Name Type In Description
accept string header

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

username string path
scopes array of strings body

A list of scopes.

代码示例

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/users/USERNAME/authorizations \
  -d '{"scopes":["scopes"]}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/users/{username}/authorizations', {
  username: 'username',
  scopes: [
    'scopes'
  ]
})

Response

Status: 201 Created
{
  "id": 1,
  "url": "https://api.github.com/authorizations/1",
  "scopes": [
    "public_repo"
  ],
  "token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
  "token_last_eight": "Ae178B4a",
  "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
  "app": {
    "url": "http://my-github-app.com",
    "name": "my github app",
    "client_id": "abcde12345fghij67890"
  },
  "note": "optional note",
  "note_url": "http://optional/note/url",
  "updated_at": "2011-09-06T20:39:23Z",
  "created_at": "2011-09-06T17:26:27Z",
  "fingerprint": ""
}

delete /admin/users/{username}/authorizations

参数

Name Type In Description
accept string header

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

username string path

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/admin/users/USERNAME/authorizations
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/users/{username}/authorizations', {
  username: 'username'
})

Response

Status: 204 No Content

Suspend a user

If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a 403 response.

You can suspend any user account except your own.

Note that, if you choose not to pass any parameters, you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see "HTTP verbs."

put /users/{username}/suspended

参数

Name Type In Description
accept string header

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

username string path
reason string body

The reason the user is being suspended. This message will be logged in the audit log. If you don't provide a reason, it will default to "Suspended via API by SITE_ADMINISTRATOR", where SITE_ADMINISTRATOR is the person who performed the action.

代码示例

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/users/USERNAME/suspended \
  -d '{"reason":"reason"}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /users/{username}/suspended', {
  username: 'username',
  reason: 'reason'
})

Response

Status: 204 No Content

Unsuspend a user

If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, this API is disabled and will return a 403 response. Active Directory LDAP-authenticated users cannot be unsuspended using the API.

delete /users/{username}/suspended

参数

Name Type In Description
accept string header

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

username string path
reason string body

The reason the user is being unsuspended. This message will be logged in the audit log. If you don't provide a reason, it will default to "Unsuspended via API by SITE_ADMINISTRATOR", where SITE_ADMINISTRATOR is the person who performed the action.

代码示例

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  http(s)://api.{hostname}/users/USERNAME/suspended \
  -d '{"reason":"reason"}'
JavaScript (@octokit/core.js)
await octokit.request('DELETE /users/{username}/suspended', {
  username: 'username',
  reason: 'reason'
})

Response

Status: 204 No Content

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。