github-copilot

安装量: 49
排名: #15108

安装

npx skills add https://github.com/vm0-ai/vm0-skills --skill github-copilot

GitHub Copilot API

Use the GitHub Copilot REST API via direct curl calls to manage Copilot subscriptions and retrieve usage metrics for your organization.

Official docs: https://docs.github.com/en/rest/copilot

Note: This API is for managing Copilot subscriptions and viewing metrics, not for code generation.

When to Use

Use this skill when you need to:

Manage Copilot seat assignments (add/remove users and teams) View Copilot billing information for an organization Retrieve usage metrics (active users, code completions, chat usage) Monitor Copilot adoption across teams Audit Copilot usage for compliance Prerequisites You need a GitHub organization with Copilot Business or Enterprise Generate a Personal Access Token (PAT) or use a GitHub App Required permissions: manage_billing:copilot or admin:org Store your token in the environment variable GITHUB_TOKEN export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"

Token Permissions manage_billing:copilot - For billing and seat management read:org - For reading organization data admin:org - For adding/removing users and teams

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

How to Use

All examples below assume you have GITHUB_TOKEN set.

Base URL: https://api.github.com

Required headers:

Authorization: Bearer ${GITHUB_TOKEN} Accept: application/vnd.github+json X-GitHub-Api-Version: 2022-11-28 1. Get Copilot Billing Information

Get seat breakdown and settings for an organization. Replace your-org-name with your organization name:

bash -c 'curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"'

Response:

{ "seat_breakdown": { "total": 12, "added_this_cycle": 2, "pending_cancellation": 0, "pending_invitation": 1, "active_this_cycle": 12, "inactive_this_cycle": 0 }, "seat_management_setting": "assign_selected", "public_code_suggestions": "block" }

  1. List All Copilot Seat Assignments

Get all users with Copilot seats. Replace your-org-name with your organization name:

bash -c 'curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing/seats?per_page=50" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"' | jq '.seats[] | {login: .assignee.login, last_activity: .last_activity_at}'

  1. Get Copilot Seat Details for a User

Get specific user's Copilot seat information. Replace your-org-name with your organization name and username with the target username:

bash -c 'curl -s -X GET "https://api.github.com/orgs/your-org-name/members/username/copilot" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"'

  1. Add Users to Copilot Subscription

Assign Copilot seats to specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{ "selected_usernames": ["user1", "user2"] }

Then run:

bash -c 'curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json'

Response:

{ "seats_created": 2 }

  1. Remove Users from Copilot Subscription

Remove Copilot seats from specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{ "selected_usernames": ["user1", "user2"] }

Then run:

bash -c 'curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json'

Response:

{ "seats_cancelled": 2 }

  1. Add Teams to Copilot Subscription

Assign Copilot to entire teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{ "selected_teams": ["engineering", "design"] }

Then run:

bash -c 'curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json'

  1. Remove Teams from Copilot Subscription

Remove Copilot from teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{ "selected_teams": ["engineering"] }

Then run:

bash -c 'curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json'

  1. Get Copilot Usage Metrics for Organization

Get usage statistics (requires 5+ active users). Replace your-org-name with your organization name:

bash -c 'curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/metrics?per_page=7" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"' | jq '.[] | {date, total_active_users, total_engaged_users}'

Response:

{ "date": "2024-06-24", "total_active_users": 24, "total_engaged_users": 20 }

  1. Get Copilot Metrics for a Team

Get team-specific usage metrics. Replace your-org-name with your organization name and team-name with the target team:

bash -c 'curl -s -X GET "https://api.github.com/orgs/your-org-name/team/team-name/copilot/metrics" --header "Authorization: Bearer ${GITHUB_TOKEN}" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"'

Metrics Data Structure

The metrics response includes:

Field Description total_active_users Users with Copilot activity total_engaged_users Users who accepted suggestions copilot_ide_code_completions Code completion stats by language/editor copilot_ide_chat IDE chat usage stats copilot_dotcom_chat GitHub.com chat usage copilot_dotcom_pull_requests PR summary usage Guidelines Requires Copilot Business/Enterprise: Free tier users cannot use this API Metrics need 5+ users: Usage metrics only available with 5+ active Copilot users Data retention: Metrics available for up to 100 days Rate limits: Standard GitHub API rate limits apply API in preview: Some endpoints may change

返回排行榜