use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct QueryOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub page: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub per_page: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub direction: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub order: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub q: Option<String>,
#[serde(rename = "ref")]
#[serde(skip_serializing_if = "Option::is_none")]
pub git_ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub base: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub head: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub recursive: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub milestones: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub assigned_by: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mentioned_by: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub author: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub committer: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub since: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub until: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub before: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub affiliation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub not: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pre_release: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub encrypted_value: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PaginationInfo {
pub page: i64,
pub per_page: i64,
pub total: i64,
pub total_pages: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AddCollaboratorParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub permission: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitUserParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
pub email: String,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateActionLinkParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub run_id: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateCommitParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub author: Option<CommitUserParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub committer: Option<CommitUserParams>,
pub message: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub parents: Option<Vec<String>>,
pub tree: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEmailParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub emails: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateIssueCommentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_review: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_thread: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reply_to: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub thread_id: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateFileParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub from_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub new_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub signoff: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateOrgRepositoryParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_merge_commit: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_rebase_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_squash_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub auto_init: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delete_branch_on_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gitignores: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_template: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub license_template: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub visibility: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePagesDeploymentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub artifact_id: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePullRequestParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub assignees: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub base: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub due_date: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub head: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub head_repo: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<f64>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maintainer_can_modify: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub milestone: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateIssueCommentReactionParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateReferenceParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub r#ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateReleaseParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_authorized_only: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prerelease: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub target_commitish: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRepositoryParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub auto_init: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gitignores: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_template: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TreeItem {
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateTreeParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub base_tree: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tree: Option<Vec<TreeItem>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateVariableParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWebhookConfigParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub authorization_header: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub branch_filter: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub http_method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWebhookParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub config: Option<CreateWebhookConfigParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteEmailParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub emails: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteFileParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub new_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub signoff: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateReleaseParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_authorized_only: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prerelease: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub target_commitish: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateForkParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRepositoryParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_auto_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_rebase: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_rebase_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_squash_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_update_branch: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub autodetect_manual_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_allow_maintainer_edit: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_merge_style: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delete_branch_on_merge: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub homepage: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ignore_whitespace: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_template: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamRepoPermissions {
#[serde(skip_serializing_if = "Option::is_none")]
pub permission: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateBranchParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub expected_head_sha: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateIssueCommentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdatePullRequestParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub base: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maintainer_can_modify: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWebhookConfigParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub authorization_header: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub branch_filter: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub http_method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWebhookParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub add_events: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub config: Option<UpdateWebhookConfigParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub remove_events: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionWorkflowRun {
#[serde(skip_serializing_if = "Option::is_none")]
pub head_sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_id: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionArtifact {
#[serde(skip_serializing_if = "Option::is_none")]
pub archive_download_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expired: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expires_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub size_in_bytes: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workflow_run: Option<ActionWorkflowRun>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionArtifactList {
#[serde(skip_serializing_if = "Option::is_none")]
pub artifacts: Option<Vec<ActionArtifact>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionLink {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub run_id: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserPublicInfo {
pub avatar_url: String,
pub followers_url: String,
pub following_url: String,
pub html_url: String,
pub id: f64,
pub login: String,
pub organizations_url: String,
pub repos_url: String,
pub site_admin: bool,
pub r#type: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRun {
#[serde(skip_serializing_if = "Option::is_none")]
pub actor: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub approved_by: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub commit_sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub event: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub index: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_fork_pull_request: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub need_approval: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub started: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stopped: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRunJobStep {
#[serde(skip_serializing_if = "Option::is_none")]
pub completed_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub number: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub started_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRunJob {
#[serde(skip_serializing_if = "Option::is_none")]
pub completed_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub head_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub head_sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub run_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub started_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub steps: Option<Vec<ActionRunJobStep>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workflow_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRunnerLabel {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRunner {
#[serde(skip_serializing_if = "Option::is_none")]
pub busy: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<ActionRunnerLabel>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActionRunners {
#[serde(skip_serializing_if = "Option::is_none")]
pub runners: Option<Vec<ActionRunner>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssignmentClass {
#[serde(skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssignmentRepository {
#[serde(skip_serializing_if = "Option::is_none")]
pub default_branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Assignment {
#[serde(skip_serializing_if = "Option::is_none")]
pub accepted: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deadline: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub editor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub feedback_pull_requests_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub invitations_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub invite_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_members: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_teams: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub passing: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub public_repo: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub slug: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub smartclass: Option<AssignmentClass>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stater_code_repository: Option<AssignmentRepository>,
#[serde(skip_serializing_if = "Option::is_none")]
pub student_are_repo_admins: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub submitted: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Attachment {
#[serde(skip_serializing_if = "Option::is_none")]
pub browser_download_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub download_count: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub size: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub uuid: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Branch {
pub commit: CommitMeta,
pub name: String,
pub protected: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Permissions {
#[serde(skip_serializing_if = "Option::is_none")]
pub admin: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pull: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub push: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Collaborator {
pub avatar_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub bio: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub followers_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub following_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
pub html_url: String,
pub id: f64,
pub login: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organizations_url: Option<String>,
pub permissions: Permissions,
#[serde(skip_serializing_if = "Option::is_none")]
pub repos_url: Option<String>,
pub site_admin: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub starred_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subscriptions_url: Option<String>,
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RepoPublicInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub contents_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fork: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub forks_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issue_comment_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issues_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub languages_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub owner: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pulls_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CollaboratorInvitation {
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub invitee: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub inviter: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permissions: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository: Option<RepoPublicInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Comment {
pub author_association: String,
pub body: String,
pub created_at: String,
pub html_url: String,
pub id: f64,
pub issue_url: String,
pub updated_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
pub user: UserPublicInfo,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitFiles {
#[serde(skip_serializing_if = "Option::is_none")]
pub additions: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub blob_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub changes: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub contents_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deletions: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub filename: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub patch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub raw_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitUser {
#[serde(skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TreeMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RepoCommit {
pub author: CommitUser,
pub committer: CommitUser,
pub message: String,
pub tree: TreeMeta,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitStats {
#[serde(skip_serializing_if = "Option::is_none")]
pub additions: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deletions: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Commit {
#[serde(skip_serializing_if = "Option::is_none")]
pub author: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub branch: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub commit: Option<RepoCommit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub committer: Option<UserPublicInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub files: Option<Vec<CommitFiles>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub parents: Option<Vec<CommitMeta>>,
pub sha: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub stats: Option<CommitStats>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommitVerification {
#[serde(skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub signature: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verified: Option<bool>,
#[serde(rename = "verifiedAt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub verified_at: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CompareResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub ahead_by: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub base_commit: Option<Commit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub behind_by: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub commits: Option<Vec<Commit>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub files: Option<Vec<CommitFiles>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub merge_base_commit: Option<Commit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_commits: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebhookConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub authorization_header: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub branch_filter: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub http_method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileLinksResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub git: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContentsResponse {
#[serde(rename = "_links")]
pub links: FileLinksResponse,
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub download_url: Option<String>,
pub encoding: String,
pub git_url: String,
pub html_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
pub name: String,
pub path: String,
pub sha: String,
pub size: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub submodule_git_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
pub r#type: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileCommitResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub author: Option<CommitUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub committer: Option<CommitUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub parents: Option<Vec<CommitMeta>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tree: Option<CommitMeta>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification: Option<CommitVerification>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileCreationResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub commit: Option<FileCommitResponse>,
pub content: ContentsResponse,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileDeleteResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub commit: Option<FileCommitResponse>,
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Email {
pub email: String,
pub primary: bool,
pub verified: bool,
pub visibility: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GitEntry {
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub size: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GitObject {
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GitTreeResponse {
pub page: f64,
pub sha: String,
pub total_count: f64,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub tree: Vec<GitEntry>,
pub truncated: bool,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct User {
#[serde(skip_serializing_if = "Option::is_none")]
pub avatar_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bio: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub followers: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub followers_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub following: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub following_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_verified: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub login: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organizations_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub public_repos: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repos_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub site_admin: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub starred_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stars_count: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subscriptions_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Label {
pub color: String,
pub description: String,
pub exclusive: bool,
pub id: f64,
pub is_archived: bool,
pub name: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Milestone {
#[serde(skip_serializing_if = "Option::is_none")]
pub closed_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub closed_issues: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub due_on: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub open_issues: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PullRequestMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub merged: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub merged_at: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RepositoryMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Issue {
#[serde(skip_serializing_if = "Option::is_none")]
pub assets: Option<Vec<Attachment>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub assignee: Option<User>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub assignees: Vec<User>,
pub body: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub closed_at: Option<String>,
pub comments: f64,
pub created_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub due_date: Option<String>,
pub html_url: String,
pub id: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_locked: Option<bool>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub labels: Vec<Label>,
#[serde(skip_serializing_if = "Option::is_none")]
pub milestone: Option<Milestone>,
pub number: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub original_author: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub original_author_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pull_request: Option<PullRequestMeta>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository: Option<RepositoryMeta>,
pub state: String,
pub title: String,
pub updated_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
pub user: User,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JobsResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub jobs: Option<Vec<ActionRunJob>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Repository {
pub allow_merge_commit: bool,
pub allow_rebase_merge: bool,
pub allow_squash_merge: bool,
pub archived: bool,
pub clone_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub contents_url: Option<String>,
pub created_at: String,
pub default_branch: String,
pub delete_branch_on_merge: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
pub disabled: bool,
pub fork: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub forks: Option<f64>,
pub forks_count: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub forks_url: Option<String>,
pub full_name: String,
pub has_issues: bool,
pub has_wiki: bool,
pub html_url: String,
pub id: f64,
pub is_template: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub issue_comment_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issues_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub languages_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mirror_url: Option<String>,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub open_issues: Option<f64>,
pub open_issues_count: f64,
pub owner: UserPublicInfo,
#[serde(skip_serializing_if = "Option::is_none")]
pub parent: Option<Box<Repository>>,
pub permissions: Permissions,
pub private: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub pulls_url: Option<String>,
pub pushed_at: String,
pub size: f64,
pub ssh_url: String,
pub stargazers_count: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub template_repository: Option<Box<Repository>>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub topics: Vec<String>,
pub updated_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
pub visibility: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub watchers: Option<f64>,
pub watchers_count: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PRBranchInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repo: Option<Repository>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repo_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PackageVersionMetadata {
#[serde(skip_serializing_if = "Option::is_none")]
pub package_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PackageVersion {
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub license: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<PackageVersionMetadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub package_html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PagesDeployment {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub page_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PagesDeploymentStatus {
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Team {
#[serde(skip_serializing_if = "Option::is_none")]
pub can_create_org_repo: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
pub id: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub includes_all_repositories: Option<bool>,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub num_members: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub num_repos: Option<f64>,
pub permission: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission_actions: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission_code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission_packages: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission_pulls: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permission_releases: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PullRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub assignee: Option<User>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub assignees: Vec<User>,
pub base: PRBranchInfo,
pub body: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub closed_at: Option<String>,
pub comments: f64,
pub created_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub diff_url: Option<String>,
pub head: PRBranchInfo,
pub html_url: String,
pub id: f64,
pub is_draft: bool,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub labels: Vec<Label>,
pub locked: bool,
pub maintainer_can_modify: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub merge_commit_sha: Option<String>,
pub mergeable: bool,
pub merged: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub merged_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub merged_by: Option<User>,
#[serde(skip_serializing_if = "Option::is_none")]
pub milestone: Option<Milestone>,
pub number: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub patch_url: Option<String>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub requested_reviewers: Vec<User>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub requested_teams: Vec<Team>,
pub state: String,
pub title: String,
pub updated_at: String,
pub url: String,
pub user: User,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Reaction {
#[serde(skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<UserPublicInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Reference {
#[serde(skip_serializing_if = "Option::is_none")]
pub object: Option<GitObject>,
pub r#ref: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationToken {
#[serde(skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Release {
#[serde(skip_serializing_if = "Option::is_none")]
pub assets: Option<Vec<Attachment>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub author: Option<User>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub draft: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_authorized_only: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prerelease: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub published_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tarball_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub target_commitish: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub upload_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub zipball_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TreeEntry {
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub size: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RepoTree {
#[serde(skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(default, deserialize_with = "crate::deserialize_null_as_default")]
pub tree: Vec<TreeEntry>,
#[serde(skip_serializing_if = "Option::is_none")]
pub truncated: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RunsResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workflow_runs: Option<Vec<ActionRun>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Secret {
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecretList {
#[serde(skip_serializing_if = "Option::is_none")]
pub secrets: Option<Vec<Secret>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrackedTime {
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issue: Option<Issue>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issue_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TimelineComment {
pub assignee: User,
#[serde(skip_serializing_if = "Option::is_none")]
pub assignee_team: Option<Team>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
pub created_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub dependent_issue: Option<Issue>,
pub html_url: String,
pub id: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub issue_url: Option<String>,
pub label: Label,
#[serde(skip_serializing_if = "Option::is_none")]
pub milestone: Option<Milestone>,
#[serde(skip_serializing_if = "Option::is_none")]
pub new_ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub new_title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub old_milestone: Option<Milestone>,
#[serde(skip_serializing_if = "Option::is_none")]
pub old_project_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub old_ref: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub old_title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub project_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pull_request_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ref_action: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ref_comment: Option<Comment>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ref_commit_sha: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ref_issue: Option<Issue>,
#[serde(skip_serializing_if = "Option::is_none")]
pub removed_assignee: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolve_doer: Option<User>,
#[serde(skip_serializing_if = "Option::is_none")]
pub review_id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tracked_time: Option<TrackedTime>,
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
pub user: User,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateBranchResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserPrefsArray {
#[serde(skip_serializing_if = "Option::is_none")]
pub incomplete_results: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<User>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Variable {
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VariableList {
#[serde(skip_serializing_if = "Option::is_none")]
pub total_count: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub variables: Option<Vec<Variable>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Webhook {
#[serde(skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub config: Option<WebhookConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_response_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WorkflowDispatchInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WorkflowDispatchInputList {
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<WorkflowDispatchInput>>,
}