Documentation
¶
Index ¶
- type Client
- type CopilotAssignee
- type CopilotAssigneeTeam
- type CopilotBilling
- type CopilotBillingSeat
- type CopilotBillingSeats
- type CopilotMetrics
- type CopilotUsage
- type DotcomChat
- type DotcomPullRequests
- type Editor
- type IDEChat
- type IDECodeCompletions
- type LangBreakdown
- type Language
- type Model
- type ParentType
- type Repository
- type SeatBreakdown
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶ added in v1.1.0
type Client struct {
// contains filtered or unexported fields
}
func (*Client) GetBilling ¶ added in v1.1.0
func (c *Client) GetBilling() (CopilotBilling, error)
func (*Client) GetBillingSeats ¶ added in v1.1.0
func (c *Client) GetBillingSeats() (CopilotBillingSeats, error)
GetBillingSeats https://docs.github.com/en/rest/using-the-rest-api/using-pagination-in-the-rest-api?apiVersion=2022-11-28
func (*Client) GetCopilotMetrics ¶ added in v1.1.1
func (c *Client) GetCopilotMetrics(since *string) ([]CopilotMetrics, error)
GetCopilotMetrics https://docs.github.com/en/enterprise-cloud@latest/rest/copilot/copilot-metrics?apiVersion=2022-11-28
type CopilotAssignee ¶
type CopilotAssignee struct {
AvatarURL string `json:"avatar_url,omitempty"`
EventsURL string `json:"events_url,omitempty"`
FollowersURL string `json:"followers_url,omitempty"`
FollowingURL string `json:"following_url,omitempty"`
GistsURL string `json:"gists_url,omitempty"`
GravatarID string `json:"gravatar_id,omitempty"`
HtmlURL string `json:"html_url,omitempty"`
Id int `json:"id,omitempty"`
Login string `json:"login,omitempty"`
NodeId string `json:"node_id,omitempty"`
OrganizationsURL string `json:"organizations_url,omitempty"`
ReceivedEventsURL string `json:"received_events_url,omitempty"`
ReposURL string `json:"repos_url,omitempty"`
SiteAdmin bool `json:"site_admin,omitempty"`
StarredURL string `json:"starred_url,omitempty"`
SubscriptionsURL string `json:"subscriptions_url,omitempty"`
Type string `json:"type,omitempty"`
URL string `json:"url,omitempty"`
}
type CopilotAssigneeTeam ¶
type CopilotAssigneeTeam struct {
Id int `json:"id,omitempty"`
NodeId string `json:"node_id,omitempty"`
URL string `json:"url,omitempty"`
HtmlURL string `json:"html_url,omitempty"`
Name string `json:"name,omitempty"`
Slug string `json:"slug,omitempty"`
Description string `json:"description,omitempty"`
Privacy string `json:"privacy,omitempty"`
NotificationSettings string `json:"notification_setting,omitempty"`
Permission string `json:"permission,omitempty"`
Email string `json:"email,omitempty"`
MembersURL string `json:"members_url,omitempty"`
RepositoriesURL string `json:"repositories_url,omitempty"`
Parent ParentType `json:"parent,omitempty"`
}
type CopilotBilling ¶
type CopilotBilling struct {
SeatBreakdown SeatBreakdown `json:"seat_breakdown"`
SeatManagementSetting string `json:"seat_management_setting"`
PublicCodeSuggestions string `json:"public_code_suggestions"`
}
type CopilotBillingSeat ¶
type CopilotBillingSeat struct {
Assignee CopilotAssignee `json:"assignee"`
AssigningTeam CopilotAssigneeTeam `json:"assigning_team,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
LastActivityAt string `json:"last_activity_at,omitempty"`
LastActivityEditor string `json:"last_activity_editor,omitempty"`
PendingCancellationDate string `json:"pending_cancellation_date,omitempty"`
}
type CopilotBillingSeats ¶
type CopilotBillingSeats struct {
TotalSeats int `json:"total_seats,omitempty"`
Seats []CopilotBillingSeat `json:"seats,omitempty"`
}
type CopilotMetrics ¶ added in v1.1.1
type CopilotMetrics struct {
Date string `json:"date"`
TotalActiveUsers int `json:"total_active_users"`
TotalEngagedUsers int `json:"total_engaged_users"`
CopilotIDECodeCompletions IDECodeCompletions `json:"copilot_ide_code_completions"`
CopilotIDEChat IDEChat `json:"copilot_ide_chat"`
CopilotDotcomChat DotcomChat `json:"copilot_dotcom_chat"`
CopilotDotcomPRs DotcomPullRequests `json:"copilot_dotcom_pull_requests"`
}
type CopilotUsage ¶
type CopilotUsage struct {
Day string `json:"day"`
TotalSuggestionsCount int `json:"total_suggestions_count"`
TotalAcceptancesCount int `json:"total_acceptances_count"`
TotalLinesSuggested int `json:"total_lines_suggested"`
TotalLinesAccepted int `json:"total_lines_accepted"`
TotalActiveUsers int `json:"total_active_users"`
TotalChatAcceptance int `json:"total_chat_acceptances"`
TotalChatTurns int `json:"total_chat_turns"`
TotalActiveChatUsers int `json:"total_active_chat_users"`
Breakdown []LangBreakdown `json:"breakdown"`
}
{
"date": "2025-04-25",
"copilot_ide_chat": {
"editors": [
{
"name": "JetBrains",
"models": [
{
"name": "default",
"total_chats": 598,
"is_custom_model": false,
"total_engaged_users": 83,
"total_chat_copy_events": 232,
"total_chat_insertion_events": 198
}
],
"total_engaged_users": 83
},
{
"name": "vscode",
"models": [
{
"name": "default",
"total_chats": 366,
"is_custom_model": false,
"total_engaged_users": 21,
"total_chat_copy_events": 38,
"total_chat_insertion_events": 1
}
],
"total_engaged_users": 21
}
],
"total_engaged_users": 104
},
"total_active_users": 247,
"copilot_dotcom_chat": {
"total_engaged_users": 0
},
"total_engaged_users": 213,
"copilot_dotcom_pull_requests": {
"total_engaged_users": 0
},
"copilot_ide_code_completions": {
"editors": [
{
"name": "JetBrains",
"models": [
{
"name": "default",
"languages": [
{
"name": "kotlin",
"total_engaged_users": 35,
"total_code_acceptances": 557,
"total_code_suggestions": 2357,
"total_code_lines_accepted": 1227,
"total_code_lines_suggested": 5442
},
{
"name": "java",
"total_engaged_users": 50,
"total_code_acceptances": 646,
"total_code_suggestions": 2788,
"total_code_lines_accepted": 1341,
"total_code_lines_suggested": 5495
},
{
"name": "typescript",
"total_engaged_users": 16,
"total_code_acceptances": 160,
"total_code_suggestions": 738,
"total_code_lines_accepted": 304,
"total_code_lines_suggested": 1113
},
{
"name": "groovy",
"total_engaged_users": 4,
"total_code_acceptances": 109,
"total_code_suggestions": 252,
"total_code_lines_accepted": 290,
"total_code_lines_suggested": 759
},
{
"name": "typescriptreact",
"total_engaged_users": 12,
"total_code_acceptances": 141,
"total_code_suggestions": 681,
"total_code_lines_accepted": 198,
"total_code_lines_suggested": 987
},
{
"name": "yaml",
"total_engaged_users": 4,
"total_code_acceptances": 13,
"total_code_suggestions": 109,
"total_code_lines_accepted": 13,
"total_code_lines_suggested": 148
},
{
"name": "python",
"total_engaged_users": 11,
"total_code_acceptances": 415,
"total_code_suggestions": 1305,
"total_code_lines_accepted": 584,
"total_code_lines_suggested": 1910
},
{
"name": "go",
"total_engaged_users": 3,
"total_code_acceptances": 28,
"total_code_suggestions": 147,
"total_code_lines_accepted": 33,
"total_code_lines_suggested": 156
},
{
"name": "sql",
"total_engaged_users": 9,
"total_code_acceptances": 49,
"total_code_suggestions": 278,
"total_code_lines_accepted": 75,
"total_code_lines_suggested": 430
},
{
"name": "unknown",
"total_engaged_users": 7,
"total_code_acceptances": 17,
"total_code_suggestions": 130,
"total_code_lines_accepted": 17,
"total_code_lines_suggested": 270
},
{
"name": "vtl",
"total_engaged_users": 1,
"total_code_acceptances": 5,
"total_code_suggestions": 33,
"total_code_lines_accepted": 7,
"total_code_lines_suggested": 59
},
{
"name": "scss",
"total_engaged_users": 1,
"total_code_acceptances": 1,
"total_code_suggestions": 55,
"total_code_lines_accepted": 3,
"total_code_lines_suggested": 142
},
{
"name": "vue",
"total_engaged_users": 3,
"total_code_acceptances": 17,
"total_code_suggestions": 60,
"total_code_lines_accepted": 47,
"total_code_lines_suggested": 170
},
{
"name": "cpp",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 30,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 34
},
{
"name": "xml",
"total_engaged_users": 5,
"total_code_acceptances": 10,
"total_code_suggestions": 79,
"total_code_lines_accepted": 13,
"total_code_lines_suggested": 130
},
{
"name": "html",
"total_engaged_users": 2,
"total_code_acceptances": 19,
"total_code_suggestions": 80,
"total_code_lines_accepted": 44,
"total_code_lines_suggested": 183
},
{
"name": "markdown",
"total_engaged_users": 7,
"total_code_acceptances": 25,
"total_code_suggestions": 122,
"total_code_lines_accepted": 28,
"total_code_lines_suggested": 164
},
{
"name": "json",
"total_engaged_users": 3,
"total_code_acceptances": 3,
"total_code_suggestions": 67,
"total_code_lines_accepted": 5,
"total_code_lines_suggested": 149
},
{
"name": "shellscript",
"total_engaged_users": 1,
"total_code_acceptances": 4,
"total_code_suggestions": 17,
"total_code_lines_accepted": 4,
"total_code_lines_suggested": 32
},
{
"name": "makefile",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 9,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 9
},
{
"name": "mysql",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 5,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 41
},
{
"name": "dotenv",
"total_engaged_users": 1,
"total_code_acceptances": 1,
"total_code_suggestions": 9,
"total_code_lines_accepted": 1,
"total_code_lines_suggested": 9
},
{
"name": "javascript",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 10,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 10
},
{
"name": "perl",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 4,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 10
},
{
"name": "dockerfile",
"total_engaged_users": 1,
"total_code_acceptances": 1,
"total_code_suggestions": 7,
"total_code_lines_accepted": 1,
"total_code_lines_suggested": 7
},
{
"name": "http request",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
},
{
"name": "sass",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
},
{
"name": "ini",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
},
{
"name": "css",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
}
],
"is_custom_model": false,
"total_engaged_users": 131
}
],
"total_engaged_users": 131
},
{
"name": "vscode",
"models": [
{
"name": "default",
"languages": [
{
"name": "typescriptreact",
"total_engaged_users": 13,
"total_code_acceptances": 225,
"total_code_suggestions": 876,
"total_code_lines_accepted": 207,
"total_code_lines_suggested": 1230
},
{
"name": "yaml",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 29,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 33
},
{
"name": "qlik",
"total_engaged_users": 2,
"total_code_acceptances": 3,
"total_code_suggestions": 19,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 32
},
{
"name": "python",
"total_engaged_users": 4,
"total_code_acceptances": 26,
"total_code_suggestions": 171,
"total_code_lines_accepted": 22,
"total_code_lines_suggested": 187
},
{
"name": "markdown",
"total_engaged_users": 1,
"total_code_acceptances": 12,
"total_code_suggestions": 70,
"total_code_lines_accepted": 12,
"total_code_lines_suggested": 76
},
{
"name": "typescript",
"total_engaged_users": 12,
"total_code_acceptances": 101,
"total_code_suggestions": 386,
"total_code_lines_accepted": 59,
"total_code_lines_suggested": 537
},
{
"name": "javascriptreact",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 38,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 97
},
{
"name": "less",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 17,
"total_code_lines_accepted": 1,
"total_code_lines_suggested": 27
},
{
"name": "ini",
"total_engaged_users": 1,
"total_code_acceptances": 18,
"total_code_suggestions": 24,
"total_code_lines_accepted": 18,
"total_code_lines_suggested": 24
},
{
"name": "json",
"total_engaged_users": 4,
"total_code_acceptances": 6,
"total_code_suggestions": 68,
"total_code_lines_accepted": 13,
"total_code_lines_suggested": 238
},
{
"name": "javascript",
"total_engaged_users": 4,
"total_code_acceptances": 32,
"total_code_suggestions": 115,
"total_code_lines_accepted": 26,
"total_code_lines_suggested": 205
},
{
"name": "latex",
"total_engaged_users": 1,
"total_code_acceptances": 12,
"total_code_suggestions": 42,
"total_code_lines_accepted": 25,
"total_code_lines_suggested": 81
},
{
"name": "scss",
"total_engaged_users": 1,
"total_code_acceptances": 3,
"total_code_suggestions": 50,
"total_code_lines_accepted": 7,
"total_code_lines_suggested": 152
},
{
"name": "perl",
"total_engaged_users": 1,
"total_code_acceptances": 11,
"total_code_suggestions": 51,
"total_code_lines_accepted": 8,
"total_code_lines_suggested": 71
},
{
"name": "shellscript",
"total_engaged_users": 1,
"total_code_acceptances": 3,
"total_code_suggestions": 7,
"total_code_lines_accepted": 3,
"total_code_lines_suggested": 7
},
{
"name": "html",
"total_engaged_users": 1,
"total_code_acceptances": 3,
"total_code_suggestions": 10,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 24
},
{
"name": "dockerfile",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 9,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 9
},
{
"name": "apex-anon",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
},
{
"name": "dotenv",
"total_engaged_users": 1,
"total_code_acceptances": 1,
"total_code_suggestions": 7,
"total_code_lines_accepted": 1,
"total_code_lines_suggested": 7
},
{
"name": "groovy",
"total_engaged_users": 1,
"total_code_acceptances": 1,
"total_code_suggestions": 8,
"total_code_lines_accepted": 10,
"total_code_lines_suggested": 37
},
{
"name": "sql",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
},
{
"name": "xml",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 4,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 10
},
{
"name": "jinja",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
},
{
"name": "plaintext",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
},
{
"name": "http",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
},
{
"name": "ignore",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 2
},
{
"name": "properties",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
},
{
"name": "apacheconf",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 1,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 1
}
],
"is_custom_model": false,
"total_engaged_users": 34
}
],
"total_engaged_users": 34
},
{
"name": "VisualStudio",
"models": [
{
"name": "default",
"languages": [
{
"name": "csharp",
"total_engaged_users": 12,
"total_code_acceptances": 144,
"total_code_suggestions": 455,
"total_code_lines_accepted": 267,
"total_code_lines_suggested": 980
},
{
"name": "unknown",
"total_engaged_users": 1,
"total_code_acceptances": 2,
"total_code_suggestions": 9,
"total_code_lines_accepted": 5,
"total_code_lines_suggested": 12
},
{
"name": "json",
"total_engaged_users": 0,
"total_code_acceptances": 0,
"total_code_suggestions": 2,
"total_code_lines_accepted": 0,
"total_code_lines_suggested": 8
}
],
"is_custom_model": false,
"total_engaged_users": 13
}
],
"total_engaged_users": 13
}
],
"languages": [
{
"name": "kotlin",
"total_engaged_users": 35
},
{
"name": "csharp",
"total_engaged_users": 12
},
{
"name": "python",
"total_engaged_users": 15
},
{
"name": "typescript",
"total_engaged_users": 28
},
{
"name": "java",
"total_engaged_users": 50
},
{
"name": "typescriptreact",
"total_engaged_users": 25
},
{
"name": "javascript",
"total_engaged_users": 4
},
{
"name": "groovy",
"total_engaged_users": 5
},
{
"name": "markdown",
"total_engaged_users": 8
},
{
"name": "sql",
"total_engaged_users": 9
},
{
"name": "less",
"total_engaged_users": 1
},
{
"name": "yaml",
"total_engaged_users": 5
},
{
"name": "html",
"total_engaged_users": 3
},
{
"name": "xml",
"total_engaged_users": 5
},
{
"name": "latex",
"total_engaged_users": 1
},
{
"name": "perl",
"total_engaged_users": 1
},
{
"name": "shellscript",
"total_engaged_users": 2
},
{
"name": "json",
"total_engaged_users": 7
},
{
"name": "go",
"total_engaged_users": 3
},
{
"name": "qlik",
"total_engaged_users": 2
},
{
"name": "scss",
"total_engaged_users": 2
},
{
"name": "unknown",
"total_engaged_users": 8
},
{
"name": "vue",
"total_engaged_users": 3
},
{
"name": "vtl",
"total_engaged_users": 1
},
{
"name": "javascriptreact",
"total_engaged_users": 1
},
{
"name": "ini",
"total_engaged_users": 1
},
{
"name": "cpp",
"total_engaged_users": 1
},
{
"name": "makefile",
"total_engaged_users": 0
},
{
"name": "properties",
"total_engaged_users": 0
},
{
"name": "plaintext",
"total_engaged_users": 0
},
{
"name": "sass",
"total_engaged_users": 0
},
{
"name": "dockerfile",
"total_engaged_users": 2
},
{
"name": "dotenv",
"total_engaged_users": 2
},
{
"name": "ignore",
"total_engaged_users": 0
},
{
"name": "http request",
"total_engaged_users": 0
},
{
"name": "apex-anon",
"total_engaged_users": 0
},
{
"name": "css",
"total_engaged_users": 0
},
{
"name": "mysql",
"total_engaged_users": 0
},
{
"name": "jinja",
"total_engaged_users": 0
},
{
"name": "http",
"total_engaged_users": 0
},
{
"name": "apacheconf",
"total_engaged_users": 0
}
],
"total_engaged_users": 174
}
},
type DotcomChat ¶ added in v1.1.1
type DotcomPullRequests ¶ added in v1.1.1
type DotcomPullRequests struct {
TotalEngagedUsers int `json:"total_engaged_users"`
Repositories []Repository `json:"repositories"`
}
type IDECodeCompletions ¶ added in v1.1.1
type LangBreakdown ¶
type LangBreakdown struct {
Language string `json:"language"`
Editor string `json:"editor"`
SuggestionsCount int `json:"suggestions_count"`
AcceptancesCount int `json:"acceptances_count"`
LinesSuggested int `json:"lines_suggested"`
LinesAccepted int `json:"lines_accepted"`
ActiveUsers int `json:"active_users"`
}
type Language ¶ added in v1.1.1
type Language struct {
Name string `json:"name"`
TotalEngagedUsers int `json:"total_engaged_users"`
TotalSuggestions int `json:"total_code_suggestions,omitempty"`
TotalAcceptances int `json:"total_code_acceptances,omitempty"`
TotalLinesSuggested int `json:"total_code_lines_suggested,omitempty"`
TotalLinesAccepted int `json:"total_code_lines_accepted,omitempty"`
}
type Model ¶ added in v1.1.1
type Model struct {
Name string `json:"name"`
IsCustomModel bool `json:"is_custom_model"`
CustomTrainingDate *string `json:"custom_model_training_date"`
TotalEngagedUsers int `json:"total_engaged_users"`
Languages []Language `json:"languages,omitempty"`
TotalChats int `json:"total_chats,omitempty"`
TotalChatInsertions int `json:"total_chat_insertion_events,omitempty"` // The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor.
TotalChatCopies int `json:"total_chat_copy_events,omitempty"`
}
type ParentType ¶ added in v1.0.2
type Repository ¶ added in v1.1.1
type SeatBreakdown ¶
type SeatBreakdown struct {
Total int `json:"total"`
AddedThisCycle int `json:"added_this_cycle"`
PendingInvitation int `json:"pending_invitation"`
PendingCancellation int `json:"pending_cancellation"`
ActiveThisCycle int `json:"active_this_cycle"`
InactiveThisCycle int `json:"inactive_this_cycle"`
}
Click to show internal directories.
Click to hide internal directories.