Organization または Enterprise で GitHub Copilot を有効にすると、ユーザーがライセンスを要求できるようにセルフサービス ワークフローを設定できます。 これにより、必要なユーザーにライセンスを割り当てることができ、ユーザーはCopilotを迅速に利用開始することができます。
GitHub は、成功したロールアウトの多くが、開発者が承認なしでライセンスを要求できる完全なセルフサービス モデルを提供していることを検出しました。
この記事では、会社が講じることができる 2 つのアプローチについて説明します。
GitHubの機能であるアクセス要求機能は、セットアップを必要としませんが、管理者からの明示的な承認が必要です。この機能はCopilot 事業でも利用可能です。
*
**GitHub の API** との独自統合により、瞬時にアクセスできる独自のプロセスを作成できます。
## 方法 1: GitHub の "アクセスをリクエスト" 機能を使う
Copilot 事業 プランをお持ちの方は、組織のメンバーが設定ページで Copilot へのアクセスを要求することができます。 次に、organization 所有者は各要求をレビューして承認する必要があります。
**ユーザーとコミュニケーションを取る**必要があるプロセスは次のとおりです。
1. 組織またはエンタープライズ所有者は、アクセスを管理したい組織で Copilot 事業 がアクティブであることを確認します。
1. 組織のメンバーは、https://github.com/settings/copilot の個人用設定ページに移動し、**管理者にアクセスを依頼**をクリックします。
1. Organization 所有者は、organization の [メンバーからの要求] ページで要求をレビューし、承認します。 「[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/managing-requests-for-copilot-business-in-your-organization) を参照してください。
関心を持つユーザーが Copilot にすばやくアクセスできるようにするために、要求が定期的にレビューされるプロセスを設定する必要があります。
また、Copilot 事業 が有効になっていない組織にaccessを要求することもできます。 この場合、organization 所有者は、organization の Copilot を有効にすることを Enterprise 所有者に依頼するよう求められます。
## アプローチ 2: API と統合する
より合理化されたアプローチを実現するために、GitHub の API と統合することで、セルフサービス プロセスを設定できます。 このアプローチの利点は、プロセスを既存のツールに組み込み、ユーザーが手動承認プロセスなしでaccessを即座に受け取ることができるようにするオプションを提供することです。
Copilot ライセンスの管理方法によって、以下のいずれかのエンドポイントを使用することができます。
*
**Organization レベルの割り当てについては**、[Organizationの Copilot サブスクリプションにユーザーを追加する](/rest/copilot/copilot-user-management#add-users-to-the-copilot-subscription-for-an-organization)エンドポイントを使用してください。
* エンタープライズ レベルでの **直接ユーザー割り当て** (Copilot 事業 でのみ使用可能) のためには、[エンタープライズ向けの Copilot サブスクリプションにユーザーを追加する](/rest/copilot/copilot-user-management#add-users-to-the-copilot-subscription-for-an-enterprise) エンドポイントを使用します。
たとえば、GitHub Actions ワークフローの API 呼び出しは次のようになります。この organization と選択されたユーザー名は、ワークフロー トリガーのコンテキストによって提供されます。
``` javascript
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 内で作成し、ユーザーにアクセスを要求する課題を作成させた上で、GitHub Actions ワークフローを使用して API を呼び出すことができます。 この方法のデモについては、microsoft/GitHubCopilotLicenseAssignment リポジトリを参照してください。 これは GitHub のサポート でカバーされていない外部の例であることに注意してください。
- 会社の内部 Web サイトのユーザー プロファイルに [要求access] ボタンを追加すると、ユーザーの GitHub ユーザー名が API に渡されます。 特定のチームのメンバーシップの確認など、accessをすぐに許可したり、ユーザーを最初に検証したりすることができます。
参考資料
-
[AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company) -
[AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/reminding-inactive-users) -
[AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/analyzing-usage-over-time-with-the-copilot-metrics-api)