org.sonarqube.ws.client.projects.ProjectsService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonar-ws Show documentation
Show all versions of sonar-ws Show documentation
Open source platform for continuous inspection of code quality
/*
* SonarQube
* Copyright (C) 2009-2024 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonarqube.ws.client.projects;
import java.util.stream.Collectors;
import javax.annotation.Generated;
import org.sonarqube.ws.MediaTypes;
import org.sonarqube.ws.Projects.CreateWsResponse;
import org.sonarqube.ws.Projects.SearchMyProjectsWsResponse;
import org.sonarqube.ws.Projects.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 org.sonarqube.ws.client.WsResponse;
/**
* @see Further information about this web service online
*/
@Generated("sonar-ws-generator")
public class ProjectsService extends BaseService {
public ProjectsService(WsConnector wsConnector) {
super(wsConnector, "api/projects");
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 5.2
*/
public void bulkDelete(BulkDeleteRequest request) {
call(
new PostRequest(path("bulk_delete"))
.setParam("analyzedBefore", request.getAnalyzedBefore())
.setParam("onProvisionedOnly", request.getOnProvisionedOnly())
.setParam("projects", request.getProjects() == null ? null : request.getProjects().stream().collect(Collectors.joining(",")))
.setParam("q", request.getQ())
.setParam("qualifiers", request.getQualifiers() == null ? null : request.getQualifiers().stream().collect(Collectors.joining(",")))
.setParam("visibility", request.getVisibility())
.setMediaType(MediaTypes.JSON)
).content();
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 4.0
*/
public CreateWsResponse create(CreateRequest request) {
return call(
new PostRequest(path("create"))
.setParam("mainBranch", request.getMainBranch())
.setParam("name", request.getName())
.setParam("project", request.getProject())
.setParam("visibility", request.getVisibility()),
CreateWsResponse.parser());
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 5.2
*/
public void delete(DeleteRequest request) {
call(
new PostRequest(path("delete"))
.setParam("project", request.getProject())
.setMediaType(MediaTypes.JSON)
).content();
}
/**
*
* This is part of the internal API.
* This is a GET request.
* @see Further information about this action online (including a response example)
* @since 9.4
*/
public WsResponse licenseUsage() {
GetRequest getRequest = new GetRequest(path("license_usage"))
.setMediaType(MediaTypes.JSON);
return call(getRequest);
}
/**
*
* This is part of the internal API.
* This is a GET request.
* @see Further information about this action online (including a response example)
* @since 6.3
*/
public SearchWsResponse search(SearchRequest request) {
return call(
new GetRequest(path("search"))
.setParam("analyzedBefore", request.getAnalyzedBefore())
.setParam("onProvisionedOnly", request.getOnProvisionedOnly())
.setParam("p", request.getP())
.setParam("projects", request.getProjects() == null ? null : request.getProjects().stream().collect(Collectors.joining(",")))
.setParam("ps", request.getPs())
.setParam("q", request.getQ())
.setParam("qualifiers", request.getQualifiers() == null ? null : request.getQualifiers().stream().collect(Collectors.joining(",")))
.setParam("visibility", request.getVisibility()),
SearchWsResponse.parser());
}
/**
*
* This is a GET request.
* @see Further information about this action online (including a response example)
* @since 9.1
*/
public WsResponse exportFindings(ExportFindingsRequest request) {
GetRequest getRequest = new GetRequest(path("export_findings"))
.setParam("project", request.getProjectKey());
if (request.getBranchKey() != null) {
getRequest.setParam("branch", request.getBranchKey());
}
return call(getRequest);
}
/**
*
* This is part of the internal API.
* This is a GET request.
* @see Further information about this action online (including a response example)
* @since 6.0
*/
public SearchMyProjectsWsResponse searchMyProjects(SearchMyProjectsRequest request) {
return call(
new GetRequest(path("search_my_projects"))
.setParam("p", request.getP())
.setParam("ps", request.getPs()),
SearchMyProjectsWsResponse.parser());
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 6.1
*/
public void updateKey(UpdateKeyRequest request) {
call(
new PostRequest(path("update_key"))
.setParam("from", request.getFrom())
.setParam("to", request.getTo())
.setMediaType(MediaTypes.JSON)
).content();
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 6.4
*/
public void updateVisibility(UpdateVisibilityRequest request) {
call(
new PostRequest(path("update_visibility"))
.setParam("project", request.getProject())
.setParam("visibility", request.getVisibility())
.setMediaType(MediaTypes.JSON)
).content();
}
/**
*
* This is part of the internal API.
* This is a POST request.
* @see Further information about this action online (including a response example)
* @since 6.4
*/
public void updateDefaultVisibility(UpdateDefaultVisibilityRequest request) {
call(
new PostRequest(path("update_default_visibility"))
.setParam("projectVisibility", request.getProjectVisibility())
.setMediaType(MediaTypes.JSON)
).content();
}
}