aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2016-12-14 11:27:15 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2016-12-15 14:44:17 +0100
commit154e542a066ba371691c569a9921a5a6d9e5fa58 (patch)
tree8eb6d516a8d3e48b70763616dc3f7ff38316498a /sonar-ws
parent4377c049eab9efbf8ecb56caf1fd3c0c779a0731 (diff)
downloadsonarqube-154e542a066ba371691c569a9921a5a6d9e5fa58.tar.gz
sonarqube-154e542a066ba371691c569a9921a5a6d9e5fa58.zip
SONAR-7292 Replace Ruby WS api/issues/add_comment
Diffstat (limited to 'sonar-ws')
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesService.java17
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesWsParameters.java2
-rw-r--r--sonar-ws/src/test/java/org/sonarqube/ws/client/issue/IssuesServiceTest.java15
3 files changed, 33 insertions, 1 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesService.java
index 88aebe35474..d5f19f5bddf 100644
--- a/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesService.java
+++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesService.java
@@ -19,12 +19,16 @@
*/
package org.sonarqube.ws.client.issue;
+import org.sonarqube.ws.Issues;
import org.sonarqube.ws.Issues.ChangelogWsResponse;
import org.sonarqube.ws.Issues.SearchWsResponse;
import org.sonarqube.ws.client.BaseService;
import org.sonarqube.ws.client.GetRequest;
+import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.WsConnector;
+import static org.sonarqube.ws.client.issue.IssuesWsParameters.ACTION_ADD_COMMENT;
+import static org.sonarqube.ws.client.issue.IssuesWsParameters.ACTION_CHANGELOG;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.ADDITIONAL_FIELDS;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.ASC;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.ASSIGNED;
@@ -48,6 +52,8 @@ import static org.sonarqube.ws.client.issue.IssuesWsParameters.ISSUES;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.LANGUAGES;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.MODULE_UUIDS;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.ON_COMPONENT_ONLY;
+import static org.sonarqube.ws.client.issue.IssuesWsParameters.PARAM_ISSUE;
+import static org.sonarqube.ws.client.issue.IssuesWsParameters.PARAM_TEXT;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.PROJECTS;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.PROJECT_KEYS;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.PROJECT_UUIDS;
@@ -110,6 +116,15 @@ public class IssuesService extends BaseService {
}
public ChangelogWsResponse changelog(String issueKey) {
- return call(new GetRequest(path("changelog")).setParam(IssuesWsParameters.PARAM_ISSUE, issueKey), ChangelogWsResponse.parser());
+ return call(new GetRequest(path(ACTION_CHANGELOG))
+ .setParam(PARAM_ISSUE, issueKey),
+ ChangelogWsResponse.parser());
+ }
+
+ public Issues.Operation addComment(String issueKey, String commentText) {
+ return call(new PostRequest(path(ACTION_ADD_COMMENT))
+ .setParam(PARAM_ISSUE, issueKey)
+ .setParam(PARAM_TEXT, commentText),
+ Issues.Operation.parser());
}
}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesWsParameters.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesWsParameters.java
index 6a27ae483d4..9e22315ed17 100644
--- a/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesWsParameters.java
+++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/issue/IssuesWsParameters.java
@@ -32,8 +32,10 @@ public class IssuesWsParameters {
public static final String CONTROLLER_ISSUES = "api/issues";
public static final String ACTION_CHANGELOG = "changelog";
+ public static final String ACTION_ADD_COMMENT = "add_comment";
public static final String PARAM_ISSUE = "issue";
+ public static final String PARAM_TEXT = "text";
public static final String ISSUES = "issues";
public static final String SEVERITIES = "severities";
diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/issue/IssuesServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/issue/IssuesServiceTest.java
index 37a7db67129..685105519e3 100644
--- a/sonar-ws/src/test/java/org/sonarqube/ws/client/issue/IssuesServiceTest.java
+++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/issue/IssuesServiceTest.java
@@ -24,12 +24,14 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.ws.Issues;
import org.sonarqube.ws.client.GetRequest;
+import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.ServiceTester;
import org.sonarqube.ws.client.WsConnector;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.sonarqube.ws.client.issue.IssuesWsParameters.PARAM_ISSUE;
+import static org.sonarqube.ws.client.issue.IssuesWsParameters.PARAM_TEXT;
public class IssuesServiceTest {
@@ -50,4 +52,17 @@ public class IssuesServiceTest {
.andNoOtherParam();
}
+ @Test
+ public void add_comment() {
+ underTest.addComment("ABCD", "Please help me to fix this issue");
+
+ PostRequest request = serviceTester.getPostRequest();
+
+ assertThat(serviceTester.getPostParser()).isSameAs(Issues.Operation.parser());
+ serviceTester.assertThat(request)
+ .hasParam(PARAM_ISSUE, "ABCD")
+ .hasParam(PARAM_TEXT, "Please help me to fix this issue")
+ .andNoOtherParam();
+ }
+
}