diff --git a/src/main/java/com/urswolfer/gerrit/client/rest/http/projects/TagApiRestClient.java b/src/main/java/com/urswolfer/gerrit/client/rest/http/projects/TagApiRestClient.java index 61aae4cf..8a0dcdd5 100644 --- a/src/main/java/com/urswolfer/gerrit/client/rest/http/projects/TagApiRestClient.java +++ b/src/main/java/com/urswolfer/gerrit/client/rest/http/projects/TagApiRestClient.java @@ -19,6 +19,7 @@ import com.google.common.collect.Iterables; import com.google.gerrit.extensions.api.projects.TagApi; import com.google.gerrit.extensions.api.projects.TagInfo; +import com.google.gerrit.extensions.api.projects.TagInput; import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gson.JsonElement; import com.urswolfer.gerrit.client.rest.http.GerritRestClient; @@ -42,12 +43,24 @@ public TagApiRestClient(GerritRestClient gerritRestClient, this.name = name; } + @Override + public TagApi create(TagInput input) throws RestApiException { + String json = gerritRestClient.getGson().toJson(input); + gerritRestClient.putRequest(tagUrl(), json); + return this; + } + @Override public TagInfo get() throws RestApiException { JsonElement jsonElement = gerritRestClient.getRequest(tagUrl()); return Iterables.getOnlyElement(tagInfoParser.parseTagInfos(jsonElement)); } + @Override + public void delete() throws RestApiException { + gerritRestClient.deleteRequest(tagUrl()); + } + protected String tagUrl() { return projectApiRestClient.projectsUrl() + "/tags/" + name; }