openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PullsCreateRequest {
    /// The title of the new pull request. Required unless `issue` is specified.
    #[serde(rename = "title", skip_serializing_if = "Option::is_none")]
    pub title: Option<String>,
    /// The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`.
    #[serde(rename = "head")]
    pub head: String,
    /// The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization.
    #[serde(rename = "head_repo", skip_serializing_if = "Option::is_none")]
    pub head_repo: Option<String>,
    /// The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository.
    #[serde(rename = "base")]
    pub base: String,
    /// The contents of the pull request.
    #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
    pub body: Option<String>,
    /// Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.
    #[serde(rename = "maintainer_can_modify", skip_serializing_if = "Option::is_none")]
    pub maintainer_can_modify: Option<bool>,
    /// Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more.
    #[serde(rename = "draft", skip_serializing_if = "Option::is_none")]
    pub draft: Option<bool>,
    /// An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified.
    #[serde(rename = "issue", skip_serializing_if = "Option::is_none")]
    pub issue: Option<i64>,
}

impl PullsCreateRequest {
    pub fn new(head: String, base: String) -> PullsCreateRequest {
        PullsCreateRequest {
            title: None,
            head,
            head_repo: None,
            base,
            body: None,
            maintainer_can_modify: None,
            draft: None,
            issue: None,
        }
    }
}