From 8dd3245b1f65ee0eb1e7a9a718c47d673f8d4eae Mon Sep 17 00:00:00 2001 From: karthikjayaraman80 <48958618+karthikjayaraman80@users.noreply.github.com> Date: Thu, 10 Sep 2020 21:33:22 -0400 Subject: [PATCH] Supporting Multiple Deployments in a single build Consider a job that deploys to multiple environments. The View only shows the details of the first environment. The change enables all the environment deployments for a single build. Sample Jenkins pipeline that deploys to multiple environments: pipeline { agent any stages { stage('Deploy to DEV') { steps { input message: 'Deploy to DEV' addDeployToDashboard(env: 'DEV', buildNumber: "$BUILD_NUMBER") } } stage('Deploy to QA') { steps { input message: 'Deploy to QA' addDeployToDashboard(env: 'QA', buildNumber: "$BUILD_NUMBER") } } stage('Deploy to PROD') { steps { input message: 'Deploy to PROD' addDeployToDashboard(env: 'PROD', buildNumber: "$BUILD_NUMBER") } } } } Signed-off-by: Karthik Jayaraman --- .../jenkinsci/plugins/environmentdashboard/DeploymentView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jenkinsci/plugins/environmentdashboard/DeploymentView.java b/src/main/java/org/jenkinsci/plugins/environmentdashboard/DeploymentView.java index 7a26624..4859925 100644 --- a/src/main/java/org/jenkinsci/plugins/environmentdashboard/DeploymentView.java +++ b/src/main/java/org/jenkinsci/plugins/environmentdashboard/DeploymentView.java @@ -48,7 +48,8 @@ private List getEnvs(TopLevelItem item) { return runs .stream() - .map(run -> run.getAction(DeploymentAction.class)) + .map(run -> run.getActions(DeploymentAction.class)) + .flatMap(List::stream) .filter(Objects::nonNull) .collect(Collectors.groupingBy(DeploymentAction::getEnv)) .entrySet()