diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx index ec65c0b8ba..8dfd2436bc 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx @@ -188,6 +188,7 @@ export const FeatureStrategyMenu = ({ /> setTemplateForChangeRequestDialog(undefined)} featureId={featureId} environmentId={environmentId} diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanAddChangeRequestDialog.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanAddChangeRequestDialog.tsx index afbbf6b513..392aa41fc5 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanAddChangeRequestDialog.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanAddChangeRequestDialog.tsx @@ -2,12 +2,14 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import useToast from 'hooks/useToast'; import { styled, Button } from '@mui/material'; import type { IReleasePlanTemplate } from 'interfaces/releasePlans'; +import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; const StyledBoldSpan = styled('span')(({ theme }) => ({ fontWeight: theme.typography.fontWeightBold, })); interface IReleasePlanAddChangeRequestDialogProps { + projectId: string; featureId: string; environmentId: string; releaseTemplate: IReleasePlanTemplate | undefined; @@ -15,14 +17,24 @@ interface IReleasePlanAddChangeRequestDialogProps { } export const ReleasePlanAddChangeRequestDialog = ({ + projectId, featureId, environmentId, releaseTemplate, onClosing, }: IReleasePlanAddChangeRequestDialogProps) => { const { setToastData } = useToast(); + const { addChange } = useChangeRequestApi(); const addReleasePlanToChangeRequest = async () => { + addChange(projectId, environmentId, { + feature: featureId, + action: 'addReleasePlan', + payload: { + templateId: releaseTemplate?.id, + }, + }); + setToastData({ type: 'success', text: 'Added to draft', diff --git a/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts b/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts index 9caff22e6a..e7e3257eaa 100644 --- a/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts +++ b/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts @@ -17,7 +17,8 @@ export interface IChangeSchema { | 'archiveFeature' | 'updateSegment' | 'addDependency' - | 'deleteDependency'; + | 'deleteDependency' + | 'addReleasePlan'; payload: string | boolean | object | number | undefined; }