diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-01-23 14:14:04 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-01-23 14:14:04 +0100 |
commit | 9a71693b65cf1357b354f123348738ea9ac3b61b (patch) | |
tree | 80cc9414fedac224e87617014efad3c5b2673747 /sonar-ws-client/src | |
parent | 0583f0b2e02c2dd1c6f32c3063ed9716af972eac (diff) | |
download | sonarqube-9a71693b65cf1357b354f123348738ea9ac3b61b.tar.gz sonarqube-9a71693b65cf1357b354f123348738ea9ac3b61b.zip |
IssueShowWS : Add assign to me action
Diffstat (limited to 'sonar-ws-client/src')
3 files changed, 31 insertions, 0 deletions
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java index d7ea45952c9..69c380f605e 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java @@ -43,6 +43,14 @@ public interface IssueClient { Issue assign(String issueKey, @Nullable String assignee); /** + * Assign an existing issue to current user. + * + * @return the updated issue + */ + Issue assignToMe(String issueKey); + + + /** * Change the severity of an existing issue. Supported values are "INFO", "MINOR", * "MAJOR", "CRITICAL" and "BLOCKER". * diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java index 95b4cf798fa..b9c5ae350af 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java @@ -70,6 +70,13 @@ public class DefaultIssueClient implements IssueClient { } @Override + public Issue assignToMe(String issueKey) { + Map<String, Object> params = EncodingUtils.toMap("issue", issueKey, "me", "true"); + String json = requestFactory.post("/api/issues/assign", params); + return jsonToIssue(json); + } + + @Override public Issue plan(String issueKey, @Nullable String actionPlanKey) { Map<String, Object> params = EncodingUtils.toMap("issue", issueKey, "plan", actionPlanKey); String json = requestFactory.post("/api/issues/plan", params); diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java index b01badc4bdc..983ed391e8d 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java @@ -101,6 +101,22 @@ public class DefaultIssueClientTest { } @Test + public void assign_to_me() { + HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url()); + httpServer.stubResponseBody("{\"issue\": {\"key\": \"ABCDE\"}}"); + + IssueClient client = new DefaultIssueClient(requestFactory); + Issue result = client.assignToMe("ABCDE"); + + assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/assign"); + assertThat(httpServer.requestParams()).includes( + entry("issue", "ABCDE"), + entry("me", "true") + ); + assertThat(result).isNotNull(); + } + + @Test public void should_unassign() { HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url()); httpServer.stubResponseBody("{\"issue\": {\"key\": \"ABCDE\"}}"); |