diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-12-14 11:27:15 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-12-15 14:44:17 +0100 |
commit | 154e542a066ba371691c569a9921a5a6d9e5fa58 (patch) | |
tree | 8eb6d516a8d3e48b70763616dc3f7ff38316498a /sonar-ws | |
parent | 4377c049eab9efbf8ecb56caf1fd3c0c779a0731 (diff) | |
download | sonarqube-154e542a066ba371691c569a9921a5a6d9e5fa58.tar.gz sonarqube-154e542a066ba371691c569a9921a5a6d9e5fa58.zip |
SONAR-7292 Replace Ruby WS api/issues/add_comment
Diffstat (limited to 'sonar-ws')
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(); + } + } |