From 978c6a0725141ac3d78ca8d0287dbabf19cca725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Risue=C3=B1o?= Date: Mon, 8 Jun 2026 17:34:37 +0200 Subject: [PATCH] Add mandatory params to the dispatched parameters array --- .../facade/ProvisionResultsApiFacade.java | 8 ++++++ .../facade/ProvisionResultsApiFacadeTest.java | 25 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/main/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacade.java b/src/main/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacade.java index b7962f0..b9cd64d 100644 --- a/src/main/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacade.java +++ b/src/main/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacade.java @@ -293,6 +293,14 @@ private void addDeletionWrapperWorkflowParameters(String catalogItemId, ); } var dispatchedWorkflowParams = action.getParameters().stream().map(CreateIncidentParameter::getName).collect(Collectors.toSet()); + // We need to add in a static way these parameters, so the dispatcher can send them + // to the dispatched workflow + dispatchedWorkflowParams.add("project_key"); + dispatchedWorkflowParams.add("cluster_location"); + dispatchedWorkflowParams.add("component_id"); + dispatchedWorkflowParams.add("is_deployed"); + dispatchedWorkflowParams.add("change_number"); + dispatchedWorkflowParams.add("reason"); var allParams = new ArrayList<>(action.getParameters()); var createIncidentParamDispatchedWorkflowParams = CreateIncidentParameter.builder() diff --git a/src/test/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacadeTest.java b/src/test/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacadeTest.java index 8650158..c10234d 100644 --- a/src/test/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacadeTest.java +++ b/src/test/java/org/opendevstack/component_provisioner/server/facade/ProvisionResultsApiFacadeTest.java @@ -708,6 +708,31 @@ void givenWrapperWorkflow_whenRequestDeletion_thenAddsWrapperParameters() { assertThat(facade.getParameterString(action, "deletion_workflow_timeout_seconds")).isEqualTo("60"); } + @Test + void givenWrapperWorkflow_whenRequestDeletion_thenAddsMandatoryStaticParameters() { + var action = CreateIncidentActionMother.of(); + action.setParameters(new ArrayList<>()); + + when(authenticationProvider.getAccessToken()).thenReturn("token"); + + ReflectionTestUtils.invokeMethod( + facade, + "addDeletionWrapperWorkflowParameters", + "catalogId", + "wfId", + null, + "60", + action + ); + + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("project_key"); + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("cluster_location"); + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("component_id"); + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("is_deployed"); + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("change_number"); + assertThat(facade.getParameterString(action, "dispatched_workflow_params")).contains("reason"); + } + @Test void givenBothCatalogItemIdAndSlugEmpty_whenResolveCatalogItemIdIsCalled_thenReturnsNull() { // when