#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateProjectDetails {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "lead", skip_serializing_if = "Option::is_none")]
pub lead: Option<String>,
#[serde(rename = "leadAccountId", skip_serializing_if = "Option::is_none")]
pub lead_account_id: Option<String>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "assigneeType", skip_serializing_if = "Option::is_none")]
pub assignee_type: Option<AssigneeType>,
#[serde(rename = "avatarId", skip_serializing_if = "Option::is_none")]
pub avatar_id: Option<i64>,
#[serde(rename = "issueSecurityScheme", skip_serializing_if = "Option::is_none")]
pub issue_security_scheme: Option<i64>,
#[serde(rename = "permissionScheme", skip_serializing_if = "Option::is_none")]
pub permission_scheme: Option<i64>,
#[serde(rename = "notificationScheme", skip_serializing_if = "Option::is_none")]
pub notification_scheme: Option<i64>,
#[serde(rename = "categoryId", skip_serializing_if = "Option::is_none")]
pub category_id: Option<i64>,
#[serde(rename = "projectTypeKey", skip_serializing_if = "Option::is_none")]
pub project_type_key: Option<ProjectTypeKey>,
#[serde(rename = "projectTemplateKey", skip_serializing_if = "Option::is_none")]
pub project_template_key: Option<ProjectTemplateKey>,
#[serde(rename = "workflowScheme", skip_serializing_if = "Option::is_none")]
pub workflow_scheme: Option<i64>,
#[serde(rename = "issueTypeScreenScheme", skip_serializing_if = "Option::is_none")]
pub issue_type_screen_scheme: Option<i64>,
#[serde(rename = "issueTypeScheme", skip_serializing_if = "Option::is_none")]
pub issue_type_scheme: Option<i64>,
#[serde(rename = "fieldConfigurationScheme", skip_serializing_if = "Option::is_none")]
pub field_configuration_scheme: Option<i64>,
}
impl CreateProjectDetails {
pub fn new(key: String, name: String) -> CreateProjectDetails {
CreateProjectDetails {
key,
name,
description: None,
lead: None,
lead_account_id: None,
url: None,
assignee_type: None,
avatar_id: None,
issue_security_scheme: None,
permission_scheme: None,
notification_scheme: None,
category_id: None,
project_type_key: None,
project_template_key: None,
workflow_scheme: None,
issue_type_screen_scheme: None,
issue_type_scheme: None,
field_configuration_scheme: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AssigneeType {
#[serde(rename = "PROJECT_LEAD")]
PROJECTLEAD,
#[serde(rename = "UNASSIGNED")]
UNASSIGNED,
}
impl Default for AssigneeType {
fn default() -> AssigneeType {
Self::PROJECTLEAD
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProjectTypeKey {
#[serde(rename = "software")]
Software,
#[serde(rename = "service_desk")]
ServiceDesk,
#[serde(rename = "business")]
Business,
}
impl Default for ProjectTypeKey {
fn default() -> ProjectTypeKey {
Self::Software
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProjectTemplateKey {
#[serde(rename = "com.pyxis.greenhopper.jira:gh-simplified-agility-kanban")]
PyxisGreenhopperJiraghSimplifiedAgilityKanban,
#[serde(rename = "com.pyxis.greenhopper.jira:gh-simplified-agility-scrum")]
PyxisGreenhopperJiraghSimplifiedAgilityScrum,
#[serde(rename = "com.pyxis.greenhopper.jira:gh-simplified-basic")]
PyxisGreenhopperJiraghSimplifiedBasic,
#[serde(rename = "com.pyxis.greenhopper.jira:gh-simplified-kanban-classic")]
PyxisGreenhopperJiraghSimplifiedKanbanClassic,
#[serde(rename = "com.pyxis.greenhopper.jira:gh-simplified-scrum-classic")]
PyxisGreenhopperJiraghSimplifiedScrumClassic,
#[serde(rename = "com.atlassian.servicedesk:simplified-it-service-management")]
AtlassianServicedesksimplifiedItServiceManagement,
#[serde(rename = "com.atlassian.servicedesk:simplified-general-service-desk")]
AtlassianServicedesksimplifiedGeneralServiceDesk,
#[serde(rename = "com.atlassian.servicedesk:simplified-internal-service-desk")]
AtlassianServicedesksimplifiedInternalServiceDesk,
#[serde(rename = "com.atlassian.servicedesk:simplified-external-service-desk")]
AtlassianServicedesksimplifiedExternalServiceDesk,
#[serde(rename = "com.atlassian.servicedesk:simplified-hr-service-desk")]
AtlassianServicedesksimplifiedHrServiceDesk,
#[serde(rename = "com.atlassian.servicedesk:simplified-facilities-service-desk")]
AtlassianServicedesksimplifiedFacilitiesServiceDesk,
#[serde(rename = "com.atlassian.servicedesk:simplified-legal-service-desk")]
AtlassianServicedesksimplifiedLegalServiceDesk,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-content-management")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedContentManagement,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedDocumentApproval,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedLeadTracking,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-process-control")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedProcessControl,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-procurement")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedProcurement,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-project-management")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedProjectManagement,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedRecruitment,
#[serde(rename = "com.atlassian.jira-core-project-templates:jira-core-simplified-task-")]
AtlassianJiraCoreProjectTemplatesjiraCoreSimplifiedTask,
}
impl Default for ProjectTemplateKey {
fn default() -> ProjectTemplateKey {
Self::PyxisGreenhopperJiraghSimplifiedAgilityKanban
}
}