|
|
@@ -28,6 +28,7 @@ import org.sonar.api.server.ws.Response; |
|
|
|
import org.sonar.api.server.ws.WebService; |
|
|
|
import org.sonar.db.DbClient; |
|
|
|
import org.sonar.db.DbSession; |
|
|
|
import org.sonar.db.alm.setting.ALM; |
|
|
|
import org.sonar.db.alm.setting.AlmSettingDto; |
|
|
|
import org.sonar.db.project.ProjectDto; |
|
|
|
import org.sonar.server.component.ComponentFinder; |
|
|
@@ -43,6 +44,7 @@ import static org.sonar.server.ws.WsUtils.writeProtobuf; |
|
|
|
public class ListAction implements AlmSettingsWsAction { |
|
|
|
|
|
|
|
private static final String PARAM_PROJECT = "project"; |
|
|
|
private static final String BITBUCKETCLOUD_ROOT_URL = "https://bitbucket.org/"; |
|
|
|
|
|
|
|
private final DbClient dbClient; |
|
|
|
private final UserSession userSession; |
|
|
@@ -98,7 +100,13 @@ public class ListAction implements AlmSettingsWsAction { |
|
|
|
AlmSetting.Builder almSettingBuilder = AlmSetting.newBuilder() |
|
|
|
.setKey(almSetting.getKey()) |
|
|
|
.setAlm(AlmSettingsSupport.toAlmWs(almSetting.getAlm())); |
|
|
|
ofNullable(almSetting.getUrl()).ifPresent(almSettingBuilder::setUrl); |
|
|
|
|
|
|
|
if (almSetting.getAlm() == ALM.BITBUCKET_CLOUD) { |
|
|
|
almSettingBuilder.setUrl(BITBUCKETCLOUD_ROOT_URL + almSetting.getAppId() + "/"); |
|
|
|
} else { |
|
|
|
ofNullable(almSetting.getUrl()).ifPresent(almSettingBuilder::setUrl); |
|
|
|
} |
|
|
|
|
|
|
|
return almSettingBuilder.build(); |
|
|
|
}) |
|
|
|
.collect(Collectors.toList()); |