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:
2026-10-08 15:58:37 +02:00
parent 8994590b54
commit 5863d773be
23 changed files with 565 additions and 9 deletions

View File

@@ -1368,6 +1368,10 @@ export interface components {
};
/** @enum {string} */
TypeIcon: "bug" | "feature" | "palette" | "task" | "qa" | "flag" | "star-fill" | "rocket" | "document" | "light-bulb" | "key" | "support";
IssueTemplateDto: {
description: string | null;
checklist: string[];
};
IssueTypeOptionDto: {
/** @example BUG */
id: string;
@@ -1376,6 +1380,8 @@ export interface components {
icon: components["schemas"]["TypeIcon"];
color: components["schemas"]["SettingColor"];
archived: boolean;
/** @description What a new ticket of the type starts with */
template?: components["schemas"]["IssueTemplateDto"];
};
AreaOptionDto: {
/** @example FRONTEND */
@@ -1478,6 +1484,10 @@ export interface components {
*/
to: string[];
};
IssueTemplateBodyDto: {
description?: string | null;
checklist?: string[];
};
IssueTypeOptionBodyDto: {
/** @example SPIKE */
id: string;
@@ -1487,6 +1497,8 @@ export interface components {
color: components["schemas"]["SettingColor"];
/** @default false */
archived: boolean;
/** @description What a new ticket of the type starts with */
template?: components["schemas"]["IssueTemplateBodyDto"] | null;
};
AreaOptionBodyDto: {
/** @example DATA */