/*
* 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 GitCreateCommitRequest {
/// The commit message
#[serde(rename = "message")]
pub message: String,
/// The SHA of the tree object this commit points to
#[serde(rename = "tree")]
pub tree: String,
/// The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.
#[serde(rename = "parents", skip_serializing_if = "Option::is_none")]
pub parents: Option<Vec<String>>,
#[serde(rename = "author", skip_serializing_if = "Option::is_none")]
pub author: Option<Box<models::GitCreateCommitRequestAuthor>>,
#[serde(rename = "committer", skip_serializing_if = "Option::is_none")]
pub committer: Option<Box<models::GitCreateCommitRequestCommitter>>,
/// The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits.
#[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
pub signature: Option<String>,
}
impl GitCreateCommitRequest {
pub fn new(message: String, tree: String) -> GitCreateCommitRequest {
GitCreateCommitRequest {
message,
tree,
parents: None,
author: None,
committer: None,
signature: None,
}
}
}