From 6b7962c5372b466ad44c5e215b14163703909968 Mon Sep 17 00:00:00 2001 From: Nick Cross Date: Thu, 19 Dec 2024 13:24:39 +0000 Subject: [PATCH] Allow notifications to be configurable --- .../jboss/pnc/konfluxbuilddriver/Driver.java | 25 +++++++++++-------- .../util/Configuration.java | 2 ++ src/main/resources/application.yaml | 1 + 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jboss/pnc/konfluxbuilddriver/Driver.java b/src/main/java/org/jboss/pnc/konfluxbuilddriver/Driver.java index 903e32b..9bae08a 100644 --- a/src/main/java/org/jboss/pnc/konfluxbuilddriver/Driver.java +++ b/src/main/java/org/jboss/pnc/konfluxbuilddriver/Driver.java @@ -107,16 +107,21 @@ public BuildResponse create(BuildRequest buildRequest) { // TODO: This should be changed to true eventually. templateProperties.put("ENABLE_INDY_PROXY", config.indyProxyEnabled()); - try { - Request notificationCallback = new Request( - Request.Method.PUT, - new URI(StringUtils.appendIfMissing(config.selfBaseUrl(), "/") + "internal/completed"), - Collections.singletonList(new Request.Header(HttpHeaders.CONTENT_TYPE_STRING, MediaType.APPLICATION_JSON)), - buildRequest.completionCallback()); - - templateProperties.put("NOTIFICATION_CONTEXT", objectMapper.writeValueAsString(notificationCallback)); - } catch (JsonProcessingException | URISyntaxException e) { - throw new RuntimeException(e); + if (config.notificationEnabled()) { + try { + Request notificationCallback = new Request( + Request.Method.PUT, + new URI(StringUtils.appendIfMissing(config.selfBaseUrl(), "/") + "internal/completed"), + Collections.singletonList( + new Request.Header(HttpHeaders.CONTENT_TYPE_STRING, MediaType.APPLICATION_JSON)), + buildRequest.completionCallback()); + + templateProperties.put("NOTIFICATION_CONTEXT", objectMapper.writeValueAsString(notificationCallback)); + } catch (JsonProcessingException | URISyntaxException e) { + throw new RuntimeException(e); + } + } else { + templateProperties.put("NOTIFICATION_CONTEXT", ""); } // Various ways to create the initial PipelineRun object. We can use an objectmapper, diff --git a/src/main/java/org/jboss/pnc/konfluxbuilddriver/util/Configuration.java b/src/main/java/org/jboss/pnc/konfluxbuilddriver/util/Configuration.java index 7ffaec3..6c4e4e7 100644 --- a/src/main/java/org/jboss/pnc/konfluxbuilddriver/util/Configuration.java +++ b/src/main/java/org/jboss/pnc/konfluxbuilddriver/util/Configuration.java @@ -17,4 +17,6 @@ public interface Configuration { String indyProxyEnabled(); String selfBaseUrl(); + + Boolean notificationEnabled(); } diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index b3ecfbb..72abf12 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -4,6 +4,7 @@ konflux-build-driver: # TODO: This will eventually be build-definitions repository pipeline-resolver: "https://raw.githubusercontent.com/redhat-appstudio/jvm-build-service/refs/heads/main/deploy/pipeline/mw-pipeline-v0.1.yaml" indy-proxy-enabled: false + notification-enabled: false self-base-url: http://localhost:8081/ quarkus: application: