Browse Source

SONAR-21819 Deprecate v1 endpoint to import DOP projects

tags/10.5.0.89998
Antoine Vigneau 1 month ago
parent
commit
f1a018db5e

+ 4
- 3
server/sonar-webserver-webapi/src/it/java/org/sonar/server/almintegration/ws/azure/ImportAzureProjectActionIT.java View File

import org.sonar.server.almintegration.ws.ImportHelper; import org.sonar.server.almintegration.ws.ImportHelper;
import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.es.TestIndexers; import org.sonar.server.es.TestIndexers;
import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.exceptions.ForbiddenException; import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.UnauthorizedException; import org.sonar.server.exceptions.UnauthorizedException;
import org.sonar.server.favorite.FavoriteUpdater; import org.sonar.server.favorite.FavoriteUpdater;
import org.sonar.server.l18n.I18nRule; import org.sonar.server.l18n.I18nRule;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionService;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.project.Visibility; import org.sonar.server.project.Visibility;
tuple("repositoryName", true), tuple("repositoryName", true),
tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false), tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false),
tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false)); tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false));
assertThat(def.deprecatedSince()).isEqualTo("10.5");
} }


private AlmSettingDto configureUserAndAlmSettings() { private AlmSettingDto configureUserAndAlmSettings() {

+ 1
- 0
server/sonar-webserver-webapi/src/it/java/org/sonar/server/almintegration/ws/bitbucketcloud/ImportBitbucketCloudRepoActionIT.java View File

tuple("repositorySlug", true), tuple("repositorySlug", true),
tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false), tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false),
tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false)); tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false));
assertThat(def.deprecatedSince()).isEqualTo("10.5");
} }


private AlmSettingDto configureUserAndPatAndAlmSettings() { private AlmSettingDto configureUserAndPatAndAlmSettings() {

+ 4
- 3
server/sonar-webserver-webapi/src/it/java/org/sonar/server/almintegration/ws/bitbucketserver/ImportBitbucketServerProjectActionIT.java View File

import org.sonar.server.almintegration.ws.ImportHelper; import org.sonar.server.almintegration.ws.ImportHelper;
import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.es.TestIndexers; import org.sonar.server.es.TestIndexers;
import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.exceptions.ForbiddenException; import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.UnauthorizedException; import org.sonar.server.exceptions.UnauthorizedException;
import org.sonar.server.favorite.FavoriteUpdater; import org.sonar.server.favorite.FavoriteUpdater;
import org.sonar.server.l18n.I18nRule; import org.sonar.server.l18n.I18nRule;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionService;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.project.Visibility; import org.sonar.server.project.Visibility;
tuple("projectKey", true), tuple("projectKey", true),
tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false), tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false),
tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false)); tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false));
assertThat(def.deprecatedSince()).isEqualTo("10.5");
} }


private AlmSettingDto configureUserAndPatAndAlmSettings() { private AlmSettingDto configureUserAndPatAndAlmSettings() {

+ 8
- 7
server/sonar-webserver-webapi/src/it/java/org/sonar/server/almintegration/ws/github/ImportGithubProjectActionIT.java View File

import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.common.permission.GroupPermissionChanger;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.common.permission.UserPermissionChange;
import org.sonar.server.common.permission.UserPermissionChanger;
import org.sonar.server.common.project.ImportProjectService; import org.sonar.server.common.project.ImportProjectService;
import org.sonar.server.common.project.ProjectCreator;
import org.sonar.server.es.EsTester; import org.sonar.server.es.EsTester;
import org.sonar.server.es.IndexersImpl; import org.sonar.server.es.IndexersImpl;
import org.sonar.server.es.TestIndexers; import org.sonar.server.es.TestIndexers;
import org.sonar.server.exceptions.UnauthorizedException; import org.sonar.server.exceptions.UnauthorizedException;
import org.sonar.server.favorite.FavoriteUpdater; import org.sonar.server.favorite.FavoriteUpdater;
import org.sonar.server.management.ManagedProjectService; import org.sonar.server.management.ManagedProjectService;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.common.permission.GroupPermissionChanger;
import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionService;
import org.sonar.server.permission.PermissionServiceImpl; import org.sonar.server.permission.PermissionServiceImpl;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.common.permission.UserPermissionChange;
import org.sonar.server.common.permission.UserPermissionChanger;
import org.sonar.server.permission.index.FooIndexDefinition; import org.sonar.server.permission.index.FooIndexDefinition;
import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.permission.index.PermissionIndexer;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.project.Visibility; import org.sonar.server.project.Visibility;
import org.sonar.server.common.project.ProjectCreator;
import org.sonar.server.tester.UserSessionRule; import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.TestRequest; import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.WsActionTester; import org.sonar.server.ws.WsActionTester;
tuple(PARAM_REPOSITORY_KEY, true), tuple(PARAM_REPOSITORY_KEY, true),
tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false), tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false),
tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false)); tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false));
assertThat(def.deprecatedSince()).isEqualTo("10.5");
} }


private AlmSettingDto setupUserWithPatAndAlmSettings() { private AlmSettingDto setupUserWithPatAndAlmSettings() {

+ 23
- 4
server/sonar-webserver-webapi/src/it/java/org/sonar/server/almintegration/ws/gitlab/ImportGitLabProjectActionIT.java View File

import org.sonar.alm.client.gitlab.GitLabBranch; import org.sonar.alm.client.gitlab.GitLabBranch;
import org.sonar.alm.client.gitlab.GitlabApplicationClient; import org.sonar.alm.client.gitlab.GitlabApplicationClient;
import org.sonar.alm.client.gitlab.Project; import org.sonar.alm.client.gitlab.Project;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.utils.System2; import org.sonar.api.utils.System2;
import org.sonar.core.i18n.I18n; import org.sonar.core.i18n.I18n;
import org.sonar.core.platform.EditionProvider; import org.sonar.core.platform.EditionProvider;
import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.common.almsettings.gitlab.GitlabProjectCreatorFactory; import org.sonar.server.common.almsettings.gitlab.GitlabProjectCreatorFactory;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.common.project.ImportProjectService; import org.sonar.server.common.project.ImportProjectService;
import org.sonar.server.common.project.ProjectCreator;
import org.sonar.server.es.TestIndexers; import org.sonar.server.es.TestIndexers;
import org.sonar.server.exceptions.NotFoundException; import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.favorite.FavoriteUpdater; import org.sonar.server.favorite.FavoriteUpdater;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionService;
import org.sonar.server.common.permission.PermissionTemplateService;
import org.sonar.server.common.permission.PermissionUpdater;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.project.Visibility; import org.sonar.server.project.Visibility;
import org.sonar.server.common.project.ProjectCreator;
import org.sonar.server.tester.UserSessionRule; import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.TestRequest; import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.WsActionTester; import org.sonar.server.ws.WsActionTester;
import static org.sonar.db.component.BranchDto.DEFAULT_MAIN_BRANCH_NAME; import static org.sonar.db.component.BranchDto.DEFAULT_MAIN_BRANCH_NAME;
import static org.sonar.db.newcodeperiod.NewCodePeriodType.NUMBER_OF_DAYS; import static org.sonar.db.newcodeperiod.NewCodePeriodType.NUMBER_OF_DAYS;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS; import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING;
import static org.sonar.server.almintegration.ws.gitlab.ImportGitLabProjectAction.PARAM_GITLAB_PROJECT_ID;
import static org.sonar.server.tester.UserSessionRule.standalone; import static org.sonar.server.tester.UserSessionRule.standalone;
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE;
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE;
when(defaultBranchNameResolver.getEffectiveMainBranchName()).thenReturn(DEFAULT_MAIN_BRANCH_NAME); when(defaultBranchNameResolver.getEffectiveMainBranchName()).thenReturn(DEFAULT_MAIN_BRANCH_NAME);
} }


@Test
public void definition() {
WebService.Action def = ws.getDef();

assertThat(def.since()).isEqualTo("8.5");
assertThat(def.isPost()).isTrue();
assertThat(def.params())
.extracting(WebService.Param::key, WebService.Param::isRequired)
.containsExactlyInAnyOrder(
tuple(PARAM_ALM_SETTING, false),
tuple(PARAM_GITLAB_PROJECT_ID, true),
tuple(PARAM_NEW_CODE_DEFINITION_TYPE, false),
tuple(PARAM_NEW_CODE_DEFINITION_VALUE, false));
assertThat(def.deprecatedSince()).isEqualTo("10.5");
}

@Test @Test
public void import_project_developer_edition() { public void import_project_developer_edition() {
when(editionProvider.get()).thenReturn(Optional.of(EditionProvider.Edition.DEVELOPER)); when(editionProvider.get()).thenReturn(Optional.of(EditionProvider.Edition.DEVELOPER));

+ 5
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/azure/ImportAzureProjectAction.java View File

import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction;
import org.sonar.server.almintegration.ws.ImportHelper; import org.sonar.server.almintegration.ws.ImportHelper;
import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.component.ComponentCreationData;
import org.sonar.server.common.component.ComponentCreationParameters; import org.sonar.server.common.component.ComponentCreationParameters;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.component.NewComponent; import org.sonar.server.common.component.NewComponent;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.component.ComponentCreationData;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.user.UserSession; import org.sonar.server.user.UserSession;


import static java.util.Objects.requireNonNull; import static java.util.Objects.requireNonNull;
import static org.sonar.api.resources.Qualifiers.PROJECT; import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT;
import static org.sonar.db.project.CreationMethod.getCreationMethod; import static org.sonar.db.project.CreationMethod.getCreationMethod;
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT;
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING;
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse;
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; import static org.sonar.server.common.component.NewComponent.newComponentBuilder;
.setSince("8.6") .setSince("8.6")
.setHandler(this) .setHandler(this)
.setChangelog( .setChangelog(
new Change("10.5", "This endpoint is deprecated, please use its API v2 version /api/v2/dop-translation/bound-projects"),
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for Azure", PARAM_ALM_SETTING)), new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for Azure", PARAM_ALM_SETTING)),
new Change("10.3", "Endpoint visibility change from internal to public"));
new Change("10.3", "Endpoint visibility change from internal to public"))
.setDeprecatedSince("10.5");


action.createParam(PARAM_ALM_SETTING) action.createParam(PARAM_ALM_SETTING)
.setMaximumLength(200) .setMaximumLength(200)

+ 3
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/bitbucketcloud/ImportBitbucketCloudRepoAction.java View File

.setSince("9.0") .setSince("9.0")
.setHandler(this) .setHandler(this)
.setChangelog( .setChangelog(
new Change("10.5", "This endpoint is deprecated, please use its API v2 version /api/v2/dop-translation/bound-projects"),
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for BitBucket Cloud", PARAM_ALM_SETTING)), new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for BitBucket Cloud", PARAM_ALM_SETTING)),
new Change("10.3", "Endpoint visibility change from internal to public"));
new Change("10.3", "Endpoint visibility change from internal to public"))
.setDeprecatedSince("10.5");


action.createParam(PARAM_REPO_SLUG) action.createParam(PARAM_REPO_SLUG)
.setRequired(true) .setRequired(true)

+ 5
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/bitbucketserver/ImportBitbucketServerProjectAction.java View File

import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction;
import org.sonar.server.almintegration.ws.ImportHelper; import org.sonar.server.almintegration.ws.ImportHelper;
import org.sonar.server.common.almintegration.ProjectKeyGenerator; import org.sonar.server.common.almintegration.ProjectKeyGenerator;
import org.sonar.server.component.ComponentCreationData;
import org.sonar.server.common.component.ComponentCreationParameters; import org.sonar.server.common.component.ComponentCreationParameters;
import org.sonar.server.common.component.ComponentUpdater; import org.sonar.server.common.component.ComponentUpdater;
import org.sonar.server.common.component.NewComponent; import org.sonar.server.common.component.NewComponent;
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver;
import org.sonar.server.component.ComponentCreationData;
import org.sonar.server.project.DefaultBranchNameResolver; import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.ProjectDefaultVisibility; import org.sonar.server.project.ProjectDefaultVisibility;
import org.sonar.server.user.UserSession; import org.sonar.server.user.UserSession;


import static java.util.Objects.requireNonNull; import static java.util.Objects.requireNonNull;
import static org.sonar.api.resources.Qualifiers.PROJECT; import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT;
import static org.sonar.db.project.CreationMethod.getCreationMethod; import static org.sonar.db.project.CreationMethod.getCreationMethod;
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT;
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING;
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse;
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; import static org.sonar.server.common.component.NewComponent.newComponentBuilder;
.setSince("8.2") .setSince("8.2")
.setHandler(this) .setHandler(this)
.setChangelog( .setChangelog(
new Change("10.5", "This endpoint is deprecated, please use its API v2 version /api/v2/dop-translation/bound-projects"),
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for BitBucket Server", PARAM_ALM_SETTING)), new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for BitBucket Server", PARAM_ALM_SETTING)),
new Change("10.3", "Endpoint visibility change from internal to public"));
new Change("10.3", "Endpoint visibility change from internal to public"))
.setDeprecatedSince("10.5");


action.createParam(PARAM_ALM_SETTING) action.createParam(PARAM_ALM_SETTING)
.setMaximumLength(200) .setMaximumLength(200)

+ 3
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/github/ImportGithubProjectAction.java View File

.setSince("8.4") .setSince("8.4")
.setHandler(this) .setHandler(this)
.setChangelog( .setChangelog(
new Change("10.5", "This endpoint is deprecated, please use its API v2 version /api/v2/dop-translation/bound-projects"),
new Change("10.3", "Parameter organization is not necessary anymore"), new Change("10.3", "Parameter organization is not necessary anymore"),
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for GitHub", PARAM_ALM_SETTING)), new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for GitHub", PARAM_ALM_SETTING)),
new Change("10.3", "Endpoint visibility change from internal to public"));
new Change("10.3", "Endpoint visibility change from internal to public"))
.setDeprecatedSince("10.5");


action.createParam(PARAM_ALM_SETTING) action.createParam(PARAM_ALM_SETTING)
.setMaximumLength(200) .setMaximumLength(200)

+ 3
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/gitlab/ImportGitLabProjectAction.java View File

.setSince("8.5") .setSince("8.5")
.setHandler(this) .setHandler(this)
.setChangelog( .setChangelog(
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for GitLab", PARAM_ALM_SETTING)));
new Change("10.5", "This endpoint is deprecated, please use its API v2 version /api/v2/dop-translation/bound-projects"),
new Change("10.3", String.format("Parameter %s becomes optional if you have only one configuration for GitLab", PARAM_ALM_SETTING)))
.setDeprecatedSince("10.5");


action.createParam(ImportHelper.PARAM_ALM_SETTING) action.createParam(ImportHelper.PARAM_ALM_SETTING)
.setDescription("DevOps Platform configuration key. This parameter is optional if you have only one GitLab integration."); .setDescription("DevOps Platform configuration key. This parameter is optional if you have only one GitLab integration.");

Loading…
Cancel
Save