当您在组织或企业中启用了 GitHub Copilot 后,您可以设置自助工作流,让用户请求许可证。这使您能够将许可证分配给需要的人,并让用户能够快速开始使用 Copilot。
GitHub 发现,许多成功的部署都采用了完全自助模式,开发者可以在无需批准的情况下自行领取许可证。
本文概述了贵公司可以采用的两种方法
- GitHub 为 Copilot Business 提供的 请求访问 功能,无需任何设置,但需要管理员的明确批准
- 您自行集成 GitHub API,可创建自定义流程,实现即时访问
方法 1:使用 GitHub 的“请求访问”功能
如果您拥有 Copilot Business 计划,组织成员可以在其设置页面请求访问 Copilot。随后,需要组织所有者审核并批准每个请求。
您应当 向用户说明 的流程如下。
- 组织或企业所有者需确保在您希望管理访问的组织中已启用 Copilot Business。
- 组织成员前往其个人设置页面 https://github.com/settings/copilot 并点击 向管理员请求访问。
- 组织所有者在组织的“成员请求”页面审核并批准请求。请参阅 在组织中管理 GitHub Copilot Business 请求。
您应建立定期审查请求的流程,以便感兴趣的用户能够快速获得 Copilot 访问权限。
用户也可以向未启用 Copilot Business 的组织请求访问。在此情况下,组织所有者会收到提示,要求其请企业所有者为该组织启用 Copilot。
方法 2:集成 API
若想采用更流畅的方式,您可以通过集成 GitHub API 来设置自助流程。此方法的优势在于您可以将流程嵌入现有工具中,并可让用户即时获得访问权限,无需人工审批。
根据贵企业管理 Copilot 许可证的方式,您可以使用以下任一端点
- 对于 组织级别分配,请使用 向组织的 Copilot 订阅添加用户 端点。
- 对于企业级的 直接用户分配(仅适用于 Copilot Business),请使用 向企业的 Copilot 订阅添加用户 端点。
例如,在 GitHub Actions 工作流中的 API 调用可能如下所示,组织和所选用户名由工作流触发的上下文提供。
const { Octokit } = require("@octokit/action");
const octokit = new Octokit();
const response = await octokit.request('POST /orgs/{org}/copilot/billing/selected_users', {
org: context.repo.owner,
selected_usernames: [context.payload.sender.login],
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
实现示例
- 您可以在 GitHub 内完整地创建此流程,让用户通过创建 Issue 来请求访问,然后使用 GitHub Actions 工作流调用 API。有关此方法的演示,请参阅 microsoft/GitHubCopilotLicenseAssignment 仓库。请注意,这 是 GitHub 支持不涵盖的外部示例。
- 您可以在公司内部网站的用户个人资料页面添加一个“请求访问”按钮,将用户的 GitHub 用户名传递给 API。您可以立即授予访问权限,或先对用户进行验证,例如检查其是否属于某个团队。
延伸阅读
- 推动贵公司采用 GitHub Copilot
- 提醒未使用的用户使用其 GitHub Copilot 许可证
- 使用 Copilot 使用指标跟踪许可证激活和初始使用情况
- 管理 Copilot Business 请求 in the GitHub Enterprise Cloud documentation