注:GitHub Enterprise Server 2.22 上的 GitHub Actions 支持是有限的公测版。 测试已结束。 GitHub Actions 现在一般可用于 GitHub Enterprise Server 3.0 或更新版本。 更多信息请参阅 GitHub Enterprise Server 3.0 发行说明。
- 有关升级到 GitHub Enterprise Server 3.0 或更新版本的更多信息,请参阅“升级 GitHub Enterprise Server”。
- 有关在升级后配置 GitHub Actions 的更多信息,请参阅 GitHub Enterprise Server 3.0 的文档。
注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
关于 GITHUB_TOKEN
密码
At the start of each workflow run, GitHub automatically creates a unique GITHUB_TOKEN
secret to use in your workflow. 您可以使用 GITHUB_TOKEN
在工作流程运行中进行身份验证。
当您启用 GitHub Actions 时,GitHub 在您的仓库中安装 GitHub 应用程序。 GITHUB_TOKEN
密码是一种 GitHub 应用程序 安装访问令牌。 您可以使用安装访问令牌代表仓库中安装的 GitHub 应用程序 进行身份验证。 令牌的权限仅限于包含您的工作流程的仓库。 更多信息请参阅“GITHUB_TOKEN
的权限”。
在每个作业开始之前, GitHub 将为作业提取安装访问令牌。 令牌在作业完成后过期。
令牌在 github.token
上下文中也可用。 更多信息请参阅“上下文”。
在工作流程中使用 GITHUB_TOKEN
您可以使用标准语法引用密钥以使用 GITHUB_TOKEN
:${{ secrets.GITHUB_TOKEN }}
。 使用 GITHUB_TOKEN
的示例包括将令牌作为操作的输入,或使用它来建立验证的 GitHub API 请求。
使用仓库的 GITHUB_TOKEN
代表 GitHub Actions 应用程序执行任务时,GITHUB_TOKEN
触发的事件不会创建新的工作流程运行。 这可以防止意外创建递归工作流程运行。 例如,如果工作流程运行使用仓库的 GITHUB_TOKEN
推送代码,则即使仓库包含配置为在 push
事件发生时运行的工作流程,新工作流程也不会运行。
示例 1:将 GITHUB_TOKEN
作为输入传递
此示例工作流程使用贴标器操作,需要 GITHUB_TOKEN
作为 repo-token
输入参数的值:
name: Pull request labeler
on: [ pull_request_target ]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
例2:调用 REST API
您可以使用 GITHUB_TOKEN
进行经过验证的 API 调用。 此示例工作流程使用 GitHub REST API 创建议题:
name: Create issue on commit
on: [ push ]
jobs:
create_commit:
runs-on: ubuntu-latest
steps:
- name: Create issue using REST API
run: |
curl --request POST \
--url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{
"title": "Automated issue for commit: ${{ github.sha }}",
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n 提交的散列为:_${{ github.sha }}_.”
}' \
--fail
GITHUB_TOKEN
的权限
有关 GitHub 应用程序 可通过各种权限访问的 API 端点的信息,请参阅“GitHub 应用程序 权限”。
作用域 | 访问类型 | 通过复刻的仓库访问 |
---|---|---|
操作 | 读/写 | 读取 |
检查 | 读/写 | 读取 |
内容 | 读/写 | 读取 |
部署 | 读/写 | 读取 |
议题 | 读/写 | 读取 |
元数据 | 读取 | 读取 |
包 | 读/写 | 读取 |
拉取请求 | 读/写 | 读取 |
仓库项目 | 读/写 | 读取 |
状态 | 读/写 | 读取 |
如果您需要的令牌需要 GITHUB_TOKEN
中未提供的权限,您可以创建个人访问令牌并将其设置为仓库中的密码: