feat: templates per ticket type
Each ticket type can carry a starting description and a checklist, edited in the project settings. New tickets of that type get the description when they come without one and always get the checklist; the new ticket form says what the template will add. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9051,6 +9051,25 @@
|
||||
"support"
|
||||
]
|
||||
},
|
||||
"IssueTemplateDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"checklist": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"description",
|
||||
"checklist"
|
||||
]
|
||||
},
|
||||
"IssueTypeOptionDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -9078,6 +9097,14 @@
|
||||
},
|
||||
"archived": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"template": {
|
||||
"description": "What a new ticket of the type starts with",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/IssueTemplateDto"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -9352,6 +9379,23 @@
|
||||
"to"
|
||||
]
|
||||
},
|
||||
"IssueTemplateBodyDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"maxLength": 5000
|
||||
},
|
||||
"checklist": {
|
||||
"maxItems": 20,
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"IssueTypeOptionBodyDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -9381,6 +9425,16 @@
|
||||
"archived": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"template": {
|
||||
"nullable": true,
|
||||
"description": "What a new ticket of the type starts with",
|
||||
"type": "object",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/IssueTemplateBodyDto"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
||||
@@ -491,12 +491,27 @@ enum IssueSort {
|
||||
RECENT
|
||||
}
|
||||
|
||||
"""What a new ticket of the type starts with"""
|
||||
type IssueTemplate {
|
||||
"""Steps added to every new ticket"""
|
||||
checklist: [String!]!
|
||||
|
||||
"""Used when the ticket comes without a description"""
|
||||
description: String
|
||||
}
|
||||
|
||||
input IssueTemplateInput {
|
||||
checklist: [String!]! = []
|
||||
description: String
|
||||
}
|
||||
|
||||
type IssueTypeOption {
|
||||
archived: Boolean!
|
||||
color: String!
|
||||
icon: String!
|
||||
id: String!
|
||||
name: String!
|
||||
template: IssueTemplate
|
||||
}
|
||||
|
||||
input IssueTypeOptionInput {
|
||||
@@ -505,6 +520,7 @@ input IssueTypeOptionInput {
|
||||
icon: String!
|
||||
id: String!
|
||||
name: String!
|
||||
template: IssueTemplateInput
|
||||
}
|
||||
|
||||
enum LinkDirection {
|
||||
|
||||
Reference in New Issue
Block a user