mirror of
https://github.com/Unleash/unleash.git
synced 2025-11-10 01:19:53 +01:00
feat: milestone transition condition (#10757)
This commit is contained in:
parent
9948e577ee
commit
43fa239e72
@ -6,5 +6,6 @@ export interface ReleasePlanMilestone {
|
||||
sortOrder: number;
|
||||
releasePlanDefinitionId: string;
|
||||
startedAt?: Date;
|
||||
transitionCondition?: object;
|
||||
strategies?: ReleasePlanMilestoneStrategy[];
|
||||
}
|
||||
|
||||
@ -18,6 +18,8 @@ const selectColumns = [
|
||||
'mi.id AS milestoneId',
|
||||
'mi.name AS milestoneName',
|
||||
'mi.sort_order AS milestoneSortOrder',
|
||||
'mi.started_at AS milestoneStartedAt',
|
||||
'mp.transition_condition AS milestoneTransitionCondition',
|
||||
'ms.id AS strategyId',
|
||||
'ms.sort_order AS strategySortOrder',
|
||||
'ms.title AS strategyTitle',
|
||||
@ -46,6 +48,8 @@ const processReleasePlanRows = (templateRows): ReleasePlan[] =>
|
||||
milestoneId,
|
||||
milestoneName,
|
||||
milestoneSortOrder,
|
||||
milestoneStartedAt,
|
||||
milestoneTransitionCondition,
|
||||
strategyId,
|
||||
strategySortOrder,
|
||||
strategyTitle,
|
||||
@ -87,6 +91,8 @@ const processReleasePlanRows = (templateRows): ReleasePlan[] =>
|
||||
id: milestoneId,
|
||||
name: milestoneName,
|
||||
sortOrder: milestoneSortOrder,
|
||||
startedAt: milestoneStartedAt,
|
||||
transitionCondition: milestoneTransitionCondition,
|
||||
strategies: [],
|
||||
releasePlanDefinitionId: planId,
|
||||
};
|
||||
@ -152,6 +158,11 @@ export class ReleasePlanReadModel implements IReleasePlanReadModel {
|
||||
'mi.release_plan_definition_id',
|
||||
'rpd.id',
|
||||
)
|
||||
.leftJoin(
|
||||
'milestone_progressions AS mp',
|
||||
'mp.source_milestone',
|
||||
'mi.id',
|
||||
)
|
||||
.leftJoin('milestone_strategies AS ms', 'ms.milestone_id', 'mi.id')
|
||||
.leftJoin(
|
||||
'milestone_strategy_segments AS mss',
|
||||
|
||||
@ -35,6 +35,20 @@ export const releasePlanMilestoneSchema = {
|
||||
'The ID of the release plan/template that this milestone belongs to.',
|
||||
example: '01JB9GGTGQYEQ9D40R17T3YVW2',
|
||||
},
|
||||
startedAt: {
|
||||
type: 'string',
|
||||
format: 'date-time',
|
||||
description: 'The date and time when the milestone was started.',
|
||||
example: '2024-01-01T00:00:00.000Z',
|
||||
nullable: true,
|
||||
},
|
||||
transitionCondition: {
|
||||
type: 'object',
|
||||
description:
|
||||
'The transition condition for the next automated milestone progression.',
|
||||
additionalProperties: true,
|
||||
nullable: true,
|
||||
},
|
||||
strategies: {
|
||||
type: 'array',
|
||||
description:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user