組織または企業で GitHub Copilot を有効にすると、ユーザーがライセンスを要求できるようにセルフサービス ワークフローを設定できます。 これにより、必要なユーザーにライセンスを割り当てることができます。つまり、ユーザーは Copilot をすぐに使い始めることができます。
GitHub 多くの成功したロールアウトでは、開発者が承認なしでライセンスを要求できる完全なセルフサービス モデルが提供されていることがわかりました。
この記事では、会社が講じることができる 2 つのアプローチについて説明します。
- GitHub の アクセスをリクエスト 機能(対象: Copilot 事業)は、設定不要ですが、管理者による明示的な承認が必要です
- GitHubの API との独自の統合により、すぐにアクセスできる独自のプロセスを作成できます
方法 1: GitHubの "アクセス要求" 機能を使用する
Copilot 事業プランをお持ちの場合、組織のメンバーは設定ページでCopilotへのアクセスを要求できます。 次に、organization 所有者は各要求をレビューして承認する必要があります。
ユーザーとコミュニケーションを取る必要があるプロセスは次のとおりです。
- 組織またはエンタープライズ所有者は、アクセスを管理する組織で Copilot 事業 が有効になっていることを確認します。
- 組織のメンバーは、https://github.com/settings/copilot の個人用設定ページに移動し、管理者にアクセスを依頼をクリックします。
- Organization 所有者は、organization の [メンバーからの要求] ページで要求をレビューし、承認します。 「組織内の GitHub Copilot Business に対する要求の管理 を参照してください。
関心のあるユーザーが Copilot にすばやくアクセスできるように、要求が定期的にレビューされるプロセスを設定する必要があります。
ユーザーは、 Copilot 事業 が有効になっていない組織からのアクセスを要求することもできます。 この場合、組織の所有者は、組織の Copilot を有効にするようにエンタープライズ所有者に依頼するように求められます。
アプローチ 2: API と統合する
より合理化されたアプローチを実現するために、 GitHubの API と統合することでセルフサービス プロセスを設定できます。 このアプローチの利点は、プロセスを既存のツールに組み込み、ユーザーが手動承認プロセスなしでaccessを即座に受け取ることができるようにするオプションを提供することです。
Copilot ライセンスの管理方法に応じて、次のいずれかのエンドポイントを使用できます。
- 組織レベルの割り当ての場合は、組織エンドポイントの Copilot サブスクリプションにユーザーを追加するを使用します。
- エンタープライズ レベルでの直接ユーザーの割り当て (Copilot 事業 のみ使用可能)は、エンタープライズ エンドポイントの 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内に作成し、ユーザーにアクセスを要求する問題を作成し、 GitHub Actions ワークフローを使用して API を呼び出します。 この方法のデモについては、microsoft/GitHubCopilotLicenseAssignment リポジトリを参照してください。 これは、GitHub のサポートでカバーされていない外部の例であることに注意してください。
- 会社の内部 Web サイトのユーザー プロファイルに [アクセス権の要求] ボタンを追加すると、ユーザーの GitHub ユーザー名が API に渡されます。 特定のチームのメンバーシップの確認など、accessをすぐに許可したり、ユーザーを最初に検証したりすることができます。