openapi_github/models/
copilot_usage_metrics.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CopilotUsageMetrics : Summary of Copilot usage.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CopilotUsageMetrics {
17    /// The date for which the usage metrics are reported, in `YYYY-MM-DD` format.
18    #[serde(rename = "day")]
19    pub day: String,
20    /// The total number of Copilot code completion suggestions shown to users.
21    #[serde(rename = "total_suggestions_count", skip_serializing_if = "Option::is_none")]
22    pub total_suggestions_count: Option<i32>,
23    /// The total number of Copilot code completion suggestions accepted by users.
24    #[serde(rename = "total_acceptances_count", skip_serializing_if = "Option::is_none")]
25    pub total_acceptances_count: Option<i32>,
26    /// The total number of lines of code completions suggested by Copilot.
27    #[serde(rename = "total_lines_suggested", skip_serializing_if = "Option::is_none")]
28    pub total_lines_suggested: Option<i32>,
29    /// The total number of lines of code completions accepted by users.
30    #[serde(rename = "total_lines_accepted", skip_serializing_if = "Option::is_none")]
31    pub total_lines_accepted: Option<i32>,
32    /// The total number of users who were shown Copilot code completion suggestions during the day specified.
33    #[serde(rename = "total_active_users", skip_serializing_if = "Option::is_none")]
34    pub total_active_users: Option<i32>,
35    /// The total instances of users who accepted code suggested by Copilot Chat in the IDE (panel and inline).
36    #[serde(rename = "total_chat_acceptances", skip_serializing_if = "Option::is_none")]
37    pub total_chat_acceptances: Option<i32>,
38    /// The total number of chat turns (prompt and response pairs) sent between users and Copilot Chat in the IDE.
39    #[serde(rename = "total_chat_turns", skip_serializing_if = "Option::is_none")]
40    pub total_chat_turns: Option<i32>,
41    /// The total number of users who interacted with Copilot Chat in the IDE during the day specified.
42    #[serde(rename = "total_active_chat_users", skip_serializing_if = "Option::is_none")]
43    pub total_active_chat_users: Option<i32>,
44    /// Breakdown of Copilot code completions usage by language and editor
45    #[serde(rename = "breakdown", deserialize_with = "Option::deserialize")]
46    pub breakdown: Option<Vec<models::CopilotUsageMetricsBreakdownInner>>,
47}
48
49impl CopilotUsageMetrics {
50    /// Summary of Copilot usage.
51    pub fn new(day: String, breakdown: Option<Vec<models::CopilotUsageMetricsBreakdownInner>>) -> CopilotUsageMetrics {
52        CopilotUsageMetrics {
53            day,
54            total_suggestions_count: None,
55            total_acceptances_count: None,
56            total_lines_suggested: None,
57            total_lines_accepted: None,
58            total_active_users: None,
59            total_chat_acceptances: None,
60            total_chat_turns: None,
61            total_active_chat_users: None,
62            breakdown,
63        }
64    }
65}
66