feat: bulk edit tickets
Select several tickets in the backlog and change their status, assignee, sprint, priority or labels at once. Each ticket goes through the normal rules and may refuse on its own; the result says which did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -92,6 +92,22 @@ export interface BoardFilter {
|
||||
sprintId?: string;
|
||||
}
|
||||
|
||||
/** The same change on several tickets; absent fields stay as they are. */
|
||||
export interface BulkChange {
|
||||
status?: string;
|
||||
/** null unassigns. */
|
||||
assigneeId?: string | null;
|
||||
/** null: back to the backlog. */
|
||||
sprintId?: string | null;
|
||||
priority?: IssuePriority;
|
||||
addLabels?: string[];
|
||||
}
|
||||
|
||||
export interface BulkResult {
|
||||
updated: number;
|
||||
results: { issueId: string; ok: boolean; error: string | null }[];
|
||||
}
|
||||
|
||||
export interface CreateSprintInput {
|
||||
projectId: string;
|
||||
name: string;
|
||||
|
||||
@@ -41,6 +41,8 @@ import {
|
||||
UpdateIssueInput,
|
||||
UpdateProjectInput,
|
||||
CreateSprintInput,
|
||||
BulkChange,
|
||||
BulkResult,
|
||||
UpdateSprintInput,
|
||||
} from '../models/inputs';
|
||||
|
||||
@@ -113,6 +115,11 @@ export abstract class IssuesGateway {
|
||||
parentId: string | null,
|
||||
): Observable<CommandResult>;
|
||||
abstract epics(projectId: string): Observable<Epic[]>;
|
||||
/** The same change on several tickets; each may refuse on its own. */
|
||||
abstract bulkUpdate(
|
||||
issueIds: string[],
|
||||
change: BulkChange,
|
||||
): Observable<BulkResult>;
|
||||
/** Tickets still to start (TODO category), in backlog order. */
|
||||
abstract backlog(projectId: string): Observable<IssuePage>;
|
||||
/** Moves a ticket between two others of the backlog (null: an end). */
|
||||
|
||||
Reference in New Issue
Block a user