diff --git a/src/main/java/io/spring/issuebot/github/GitHubTemplate.java b/src/main/java/io/spring/issuebot/github/GitHubTemplate.java index eca652e..6996930 100644 --- a/src/main/java/io/spring/issuebot/github/GitHubTemplate.java +++ b/src/main/java/io/spring/issuebot/github/GitHubTemplate.java @@ -130,7 +130,8 @@ public class GitHubTemplate implements GitHubOperations { Map body = new HashMap<>(); body.put("labels", Arrays.asList(labelName)); ResponseEntity response = this.rest.exchange( - new RequestEntity<>(body, HttpMethod.POST, URI.create(issue.getUrl())), + new RequestEntity<>(body, HttpMethod.POST, + URI.create(issue.getLabelsUrl().replace("{/name}", ""))), Label[].class); if (response.getStatusCode() != HttpStatus.OK) { log.warn("Failed to add label to issue. Response status: " diff --git a/src/test/java/io/spring/issuebot/github/GitHubTemplateTests.java b/src/test/java/io/spring/issuebot/github/GitHubTemplateTests.java index 43e7f1c..5e7b5b6 100644 --- a/src/test/java/io/spring/issuebot/github/GitHubTemplateTests.java +++ b/src/test/java/io/spring/issuebot/github/GitHubTemplateTests.java @@ -158,11 +158,12 @@ public class GitHubTemplateTests { @Test public void addLabelToIssue() { - this.server.expect(requestTo("issueUrl")).andExpect(method(HttpMethod.POST)) + this.server.expect(requestTo("labelsUrl")).andExpect(method(HttpMethod.POST)) .andExpect(basicAuth()) .andExpect(content().string("{\"labels\":[\"test\"]}")).andRespond( withSuccess("[{\"name\":\"test\"}]", MediaType.APPLICATION_JSON)); - Issue issue = new Issue("issueUrl", null, null, null, null, null, null, null); + Issue issue = new Issue("issueUrl", null, null, "labelsUrl{/name}", null, null, + null, null); Issue modifiedIssue = this.gitHub.addLabel(issue, "test"); assertThat(modifiedIssue.getLabels(), hasSize(1)); }