From d2e88e85c75e1c8afaf619d0d87031552bc522a3 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 24 Nov 2016 17:27:20 +0100 Subject: [PATCH] #37 - Use user-scoped request headers to close Jira release versions. --- .../data/release/issues/jira/Jira.java | 12 ++++++++---- .../data/release/issues/jira/JiraReleaseVersion.java | 6 ++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/release-tools/src/main/java/org/springframework/data/release/issues/jira/Jira.java b/release-tools/src/main/java/org/springframework/data/release/issues/jira/Jira.java index 18cf1e4..2584d40 100644 --- a/release-tools/src/main/java/org/springframework/data/release/issues/jira/Jira.java +++ b/release-tools/src/main/java/org/springframework/data/release/issues/jira/Jira.java @@ -366,16 +366,20 @@ class Jira implements JiraConnector { // - mark version as releases - findJiraReleaseVersion(module).// - map(JiraReleaseVersion::markReleased).// - ifPresent(version -> { + HttpHeaders httpHeaders = newUserScopedHttpHeaders(); + + findJiraReleaseVersion(module) // + .filter(JiraReleaseVersion::isOpen) // + .map(JiraReleaseVersion::markReleased) // + .ifPresent(version -> { logger.log(module, "Marking version %s as released.", version); Map parameters = newUrlTemplateVariables(); parameters.put("id", version.getId()); - operations.put(VERSION_TEMPLATE, version, parameters); + operations.exchange(VERSION_TEMPLATE, HttpMethod.PUT, new HttpEntity(version, httpHeaders), Map.class, + parameters); }); // - if no next version exists, create diff --git a/release-tools/src/main/java/org/springframework/data/release/issues/jira/JiraReleaseVersion.java b/release-tools/src/main/java/org/springframework/data/release/issues/jira/JiraReleaseVersion.java index 3019687..9b22b9e 100644 --- a/release-tools/src/main/java/org/springframework/data/release/issues/jira/JiraReleaseVersion.java +++ b/release-tools/src/main/java/org/springframework/data/release/issues/jira/JiraReleaseVersion.java @@ -16,6 +16,7 @@ package org.springframework.data.release.issues.jira; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Value; import org.springframework.data.release.model.ModuleIteration; @@ -48,4 +49,9 @@ class JiraReleaseVersion { public boolean hasSameNameAs(JiraVersion jiraVersion) { return getName().equals(jiraVersion.toString()); } + + @JsonIgnore + public boolean isOpen() { + return !released; + } }