public interface SProject extends BuildProject, SPersistentEntity, InheritableUserParametersHolder, ParametersSupport, jetbrains.buildServer.log.Loggable
ROOT_PROJECT_ID
Modifier and Type | Method and Description |
---|---|
void |
addFeature(SProjectFeatureDescriptor feature)
Adds project feature.
|
SProjectFeatureDescriptor |
addFeature(java.lang.String type,
java.util.Map<java.lang.String,java.lang.String> params)
Adds new project feature.
|
boolean |
belongsTo(SProject project)
Returns true if the specified project is or contains (including transitively) this project.
|
boolean |
containsBuildType(java.lang.String buildTypeId)
Returns true if this project or one of subprojects has own build configuration with specified id.
|
SBuildType |
copyBuildType(SBuildType originalBuildType,
java.lang.String newExtId,
java.lang.String newName,
CopyOptions copyOptions)
Creates a copy of the given build configuration.
|
BuildTypeTemplate |
copyBuildTypeTemplate(BuildTypeTemplate originalTemplate,
java.lang.String newExtId,
java.lang.String newName)
Creates new template by copying settings from the original one.
|
SVcsRoot |
copyVcsRoot(SVcsRoot originalRoot,
java.lang.String externalId)
Creates a copy of original VCS root in this project.
|
SBuildType |
createBuildType(SBuildType originalBuildType,
java.lang.String newName,
boolean copyVcsRoots,
boolean changeScopeOfLocalVcsRoots)
Deprecated.
|
SBuildType |
createBuildType(SBuildType originalBuildType,
java.lang.String newName,
CopyOptions copyOptions)
Deprecated.
|
SBuildType |
createBuildType(java.lang.String name)
Creates new build configuration with given name
|
SBuildType |
createBuildType(java.lang.String extId,
java.lang.String name)
Creates new build configuration with given external identifier and name.
|
SBuildType |
createBuildType(java.lang.String name,
java.lang.String runnerType,
int maximumNumberOfBuilds,
BuildTypeDescriptor.CheckoutType checkoutType)
Deprecated.
since 8.0, use
createBuildType(String, String) instead. |
SBuildType |
createBuildTypeFromTemplate(BuildTypeTemplate template,
java.lang.String name,
CopyOptions copyOptions)
Creates build configuration on the base of specified template.
|
SBuildType |
createBuildTypeFromTemplate(BuildTypeTemplate template,
java.lang.String extId,
java.lang.String name)
Creates build configuration on the base of specified template.
|
BuildTypeTemplate |
createBuildTypeTemplate(BuildTypeTemplate originalTemplate,
java.lang.String newName,
CopyOptions copyOptions)
Deprecated.
|
BuildTypeTemplate |
createBuildTypeTemplate(SBuildType originalBuildType,
java.lang.String name,
CopyOptions copyOptions)
Deprecated.
|
BuildTypeTemplate |
createBuildTypeTemplate(java.lang.String name)
Creates new build configuration template.
|
BuildTypeTemplate |
createBuildTypeTemplate(java.lang.String extId,
java.lang.String name)
Creates new build configuration template with given external identifier an name.
|
SVcsRoot |
createDummyVcsRoot(java.lang.String vcsName,
java.util.Map<java.lang.String,java.lang.String> parameters)
Creates a dummy VCS root which cannot be persisted, but can be used in cases when project specific VCS operation must be performed.
|
SProject |
createProject(java.lang.String externalId,
java.lang.String projectName)
Creates new sub project in this project
|
SVcsRoot |
createVcsRoot(java.lang.String vcsName,
java.lang.String name,
java.util.Map<java.lang.String,java.lang.String> params)
Creates new VCS root in this project
|
SVcsRoot |
createVcsRoot(java.lang.String vcsName,
java.lang.String externalId,
java.lang.String name)
Creates new VCS root in this project
|
BuildTypeTemplate |
extractBuildTypeTemplate(SBuildType originalBuildType,
java.lang.String extId,
java.lang.String name)
Extracts a template from the specified build type.
|
SBuildType |
findBuildTypeByExternalId(java.lang.String externalId)
Searches for a build configuration in this and nested projects by the specified external id.
|
SBuildType |
findBuildTypeById(java.lang.String internalId)
Searches for a build configuration in this and nested projects by the specified internal id.
|
SBuildType |
findBuildTypeByName(java.lang.String name)
Searches for a build configuration with specified name among own build configurations of this project (not in subprojects).
|
BuildTypeIdentity |
findBuildTypeIdentityByName(java.lang.String name)
Looks for a build template or a configuration with specified name among own build template and configurations of this project.
|
BuildTypeTemplate |
findBuildTypeTemplateByExternalId(java.lang.String extId)
Searches for build type template by given external id in this and nested project.
|
BuildTypeTemplate |
findBuildTypeTemplateById(java.lang.String intId)
Searches for build type template by given internal id in this and nested projects.
|
BuildTypeTemplate |
findBuildTypeTemplateByName(java.lang.String name)
Searches for a template with specified name in this project (not in subprojects).
|
SProjectFeatureDescriptor |
findFeatureById(java.lang.String featureId)
Finds project feature by id.
|
SProject |
findProjectByName(java.lang.String projectName)
Returns own sub project with specified name (case insensitive) or null if there is no such project.
|
SVcsRoot |
findVcsRootByName(java.lang.String name)
Returns own VCS root with given name or null if project does not have such VCS root
|
java.util.Date |
getArchivingTime()
Returns the date when the project was archived.
|
User |
getArchivingUser()
Returns the user who archived the project.
|
java.io.File |
getArtifactsDirectory()
Returns directory containing all of the project artifacts.
|
java.util.Collection<SProjectFeatureDescriptor> |
getAvailableFeatures() |
java.util.Collection<SProjectFeatureDescriptor> |
getAvailableFeaturesOfType(java.lang.String type) |
java.util.List<BuildTypeTemplate> |
getAvailableTemplates() |
java.util.List<SVcsRoot> |
getAvailableVcsRoots() |
java.util.List<SBuildType> |
getBuildTypes()
Returns all build configurations registered in this project and all its subprojects (not only direct subprojects, but all).
|
java.util.List<BuildTypeTemplate> |
getBuildTypeTemplates()
Returns all build configuration templates registered in this project and all its subprojects (not only direct).
|
java.io.File |
getConfigDirectory()
Returns this project configuration directory, i.e.
|
java.io.File |
getConfigurationFile()
Returns this project configuration file, named "project-config.xml" in project configuration directory
|
CustomDataStorage |
getCustomDataStorage(java.lang.String storageId)
Returns a custom data storage for the given storage id associated with this project
|
BuildTypeTemplate |
getDefaultTemplate()
Returns a default template effective in the project
|
java.lang.String |
getDefaultTemplateId()
Returns an internal id of a default template effective in the project
|
java.lang.String |
getExtendedFullName()
Returns the full name of the project with additional note if the project is archived,
i.e.
|
java.lang.String |
getExtendedName()
Returns the name of the project with additional note if the project is archived,
i.e.
|
java.util.List<SBuildType> |
getOwnBuildTypes()
Returns all build configurations registered in this certain project.
|
java.util.List<BuildTypeTemplate> |
getOwnBuildTypeTemplates()
Returns build configuration templates registered in this certain project.
|
BuildTypeTemplate |
getOwnDefaultTemplate()
Returns a default template defined in the project
|
java.lang.String |
getOwnDefaultTemplateId()
Returns an internal id of a default template defined in the project
|
java.util.Collection<SProjectFeatureDescriptor> |
getOwnFeatures() |
java.util.Collection<SProjectFeatureDescriptor> |
getOwnFeaturesOfType(java.lang.String type) |
java.util.List<SProject> |
getOwnProjects()
Returns only own sub projects of this project.
|
java.util.List<SVcsRoot> |
getOwnVcsRoots()
Returns VCS roots associated with this certain project.
|
SProject |
getParentProject()
Returns the parent of this project.
|
java.io.File |
getPluginDataDirectory(java.lang.String pluginName)
Returns plugin data directory for given plugin name
|
java.io.File |
getPluginSettingsFile()
Deprecated.
use project features instead
|
java.util.List<User> |
getPotentiallyResponsibleUsers()
Returns the list of users who potentially can be responsible for failures in this project.
|
java.util.List<SProject> |
getProjectPath()
The tree path in project hierarchy from the root project to this one
(in other words, all parents of this and this one).
|
java.util.List<SProject> |
getProjects()
Returns all sub projects of this project transitively.
|
java.lang.String |
getReadOnlyReason() |
Status |
getStatus(java.lang.String branch) |
java.util.List<SVcsRoot> |
getUsedVcsRoots() |
java.util.List<VcsRootInstance> |
getVcsRootInstances() |
java.util.List<SVcsRoot> |
getVcsRoots()
Returns all VCS roots associated with this project and all its subprojects transitively.
|
boolean |
hasBuildTypes()
Returns true if this project contains at least one own build configuration
|
boolean |
isArchived()
Returns true if the project is archived
|
boolean |
isInModel()
Return true if this project is attached to the TeamCity project model.
|
boolean |
isReadOnly() |
void |
moveToProject(ConfigAction cause,
SProject target)
Moves this project to the target project.
|
void |
moveToProject(SProject target)
Moves this project to the target project.
|
void |
persist()
Persists this project configuration on disk.
|
void |
removeBuildType(java.lang.String internalBuildTypeId)
Deprecated.
since 8.0, use
SPersistentEntity.remove() instead. |
void |
removeBuildTypes()
Deprecated.
since 8.0, use
SPersistentEntity.remove() or
SPersistentEntity.remove() methods in order to completely remove build types or
templates with their configuration files |
void |
removeBuildTypeTemplate(java.lang.String internalId)
Deprecated.
use
SPersistentEntity.remove() instead. |
SProjectFeatureDescriptor |
removeFeature(java.lang.String featureId)
Removes project feature with specified id.
|
void |
setArchived(boolean archived,
User user)
Sets project's and sub project's archived flags, pauses build configurations.
|
void |
setDescription(java.lang.String description)
Sets this project description
|
void |
setExternalId(ConfigAction cause,
java.lang.String newId)
Sets the external project id.
|
void |
setExternalId(java.lang.String newId)
Sets the external project id.
|
void |
setName(java.lang.String name)
Renames project
|
boolean |
updateFeature(java.lang.String featureId,
java.lang.String newType,
java.util.Map<java.lang.String,java.lang.String> newParams)
Updates type and parameters of project feature with specified id.
|
getDescription, getExternalId, getFullName, getName, getParentProjectExternalId, getParentProjectId, getProjectId, getStatus, isRootProject
getConfigId, getConfigurationFile, getExternalId, getName, getParent, getVersion, markPersisted, persist, remove, schedulePersisting, schedulePersisting
getInheritedParametersCollection, getOwnParameter, getOwnParameters, getOwnParametersCollection, getOwnParametersWithoutInheritedSpec, getParameters, getParametersCollection
addParameter, removeParameter
getParameter, getParameterValue
getParametersProvider, getValueResolver
void setExternalId(@NotNull java.lang.String newId) throws InvalidIdentifierException, DuplicateExternalIdException, ObsoleteEntityException
All such project identifiers must be unique case insensitively.
This method performs persisting and changes the disk structure immediately. You don't need to call persist when this method done.
newId
- the new external project identifier.ObsoleteEntityException
- when project is not the same as the one in the project model (since 9.1.2)InvalidIdentifierException
DuplicateExternalIdException
void setExternalId(@NotNull ConfigAction cause, @NotNull java.lang.String newId) throws InvalidIdentifierException, DuplicateExternalIdException, ObsoleteEntityException
All such project identifiers must be unique case insensitively.
This method performs persisting and changes the disk structure immediately. You don't need to call persist when this method done.
newId
- the new external project identifier.ObsoleteEntityException
- when project is not the same as the one in the project model (since 9.1.2)InvalidIdentifierException
DuplicateExternalIdException
void setName(@NotNull java.lang.String name)
name
- new project nameDuplicateProjectNameException
- if there is another project with same nameProjectRenamingFailedException
- if an error prevents from project renamingvoid setDescription(@Nullable java.lang.String description)
description
- new project description@Nullable java.lang.String getDefaultTemplateId()
@Nullable java.lang.String getOwnDefaultTemplateId()
@Nullable BuildTypeTemplate getDefaultTemplate()
@Nullable BuildTypeTemplate getOwnDefaultTemplate()
@Nullable SProject getParentProject()
Every project, except root, has a parent.
Note that sometimes during initialization the child project may already exist while the parent project does not exist yet. In this case for some time null could be returned for non-root projects.
getParentProject
in interface BuildProject
BuildProject.getParentProjectId()
,
BuildProject.getParentProjectExternalId()
@NotNull java.util.List<SProject> getOwnProjects()
getOwnProjects
in interface BuildProject
@NotNull java.util.List<SProject> getProjects()
getProjects
in interface BuildProject
@NotNull java.util.List<SProject> getProjectPath()
@NotNull java.util.List<SVcsRoot> getOwnVcsRoots()
getOwnVcsRoots
in interface BuildProject
@Nullable SProject findProjectByName(@NotNull java.lang.String projectName)
projectName
- name of the project to look for@Nullable SVcsRoot findVcsRootByName(@NotNull java.lang.String name)
name
- name of VCS root@NotNull java.util.List<SVcsRoot> getVcsRoots()
getVcsRoots
in interface BuildProject
@NotNull java.util.List<SVcsRoot> getUsedVcsRoots()
@NotNull java.util.List<VcsRootInstance> getVcsRootInstances()
@NotNull java.io.File getConfigDirectory()
@NotNull java.io.File getConfigurationFile()
getConfigurationFile
in interface SPersistentEntity
@NotNull java.io.File getPluginSettingsFile()
@NotNull java.io.File getArtifactsDirectory()
@NotNull java.io.File getPluginDataDirectory(@NotNull java.lang.String pluginName)
@NotNull SBuildType createBuildType(@NotNull java.lang.String extId, @NotNull java.lang.String name) throws DuplicateExternalIdException, DuplicateBuildTypeNameException, MaxNumberOfBuildTypesReachedException
extId
- external identifier for the new build configuration
(must be unique in all build configuration scope, case insensitively).name
- name of the build configuration
(must be unique in the project scope).DuplicateExternalIdException
- when he given external id already belongs to another build template or build type.DuplicateBuildTypeNameException
- if build configuration with such name already exists in this project.MaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reached.@NotNull SBuildType createBuildType(@NotNull java.lang.String name) throws DuplicateBuildTypeNameException, MaxNumberOfBuildTypesReachedException
name
- name of the build configurationDuplicateBuildTypeNameException
- if build configuration with such name already exists in this projectMaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reachedcreateBuildType(String, String)
@NotNull @Deprecated SBuildType createBuildType(@NotNull java.lang.String name, @NotNull java.lang.String runnerType, int maximumNumberOfBuilds, BuildTypeDescriptor.CheckoutType checkoutType) throws DuplicateBuildTypeNameException, MaxNumberOfBuildTypesReachedException
createBuildType(String, String)
instead.name
- name of the build configurationrunnerType
- type of the runnermaximumNumberOfBuilds
- maximum number of buildscheckoutType
- type of the checkoutDuplicateBuildTypeNameException
- if build configuration with such name already exists in this projectMaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reachedcreateBuildType(String, String)
@NotNull BuildTypeTemplate createBuildTypeTemplate(@NotNull java.lang.String extId, @NotNull java.lang.String name) throws DuplicateTemplateNameException, DuplicateExternalIdException
extId
- external id (must be unique thru all projects, case insensitively).name
- name for the new template.DuplicateTemplateNameException
- thrown if template with such name already exists.DuplicateExternalIdException
- if this external identifier belongs to another template.@NotNull BuildTypeTemplate createBuildTypeTemplate(@NotNull java.lang.String name) throws DuplicateTemplateNameException
name
- name of the templateDuplicateTemplateNameException
- thrown if template with such name already existscreateBuildTypeTemplate(String, String)
@NotNull BuildTypeTemplate copyBuildTypeTemplate(@NotNull BuildTypeTemplate originalTemplate, @NotNull java.lang.String newExtId, @NotNull java.lang.String newName) throws InvalidVcsRootScopeException
originalTemplate
- original templatenewExtId
- new external identifier.newName
- new template nameInvalidVcsRootScopeException
- if a VCS root cannot be attached to template@NotNull @Deprecated BuildTypeTemplate createBuildTypeTemplate(@NotNull BuildTypeTemplate originalTemplate, @NotNull java.lang.String newName, @NotNull CopyOptions copyOptions) throws InvalidVcsRootScopeException
copyBuildTypeTemplate(jetbrains.buildServer.serverSide.BuildTypeTemplate, java.lang.String, java.lang.String)
instead.originalTemplate
- original templatenewName
- new template namecopyOptions
- options to control copy operationInvalidVcsRootScopeException
- if a VCS root cannot be attached to templatecopyBuildTypeTemplate(BuildTypeTemplate, String, String)
@NotNull BuildTypeTemplate extractBuildTypeTemplate(@NotNull SBuildType originalBuildType, @NotNull java.lang.String extId, @NotNull java.lang.String name) throws InvalidVcsRootScopeException, InvalidIdentifierException, DuplicateExternalIdException
originalBuildType
- original template.extId
- new template external identifier.name
- new template name.DuplicateExternalIdException
- when the given external identifier belongs to another template.InvalidVcsRootScopeException
- when a VCS root cannot be attached to template.InvalidIdentifierException
@NotNull @Deprecated BuildTypeTemplate createBuildTypeTemplate(@NotNull SBuildType originalBuildType, @NotNull java.lang.String name, @NotNull CopyOptions copyOptions) throws InvalidVcsRootScopeException
extractBuildTypeTemplate(jetbrains.buildServer.serverSide.SBuildType, java.lang.String, java.lang.String)
instead.originalBuildType
- original templatename
- new template namecopyOptions
- options to control copy operationInvalidVcsRootScopeException
- if a VCS root cannot be attached to templateextractBuildTypeTemplate(SBuildType, String, String)
@NotNull SBuildType copyBuildType(@NotNull SBuildType originalBuildType, @NotNull java.lang.String newExtId, @NotNull java.lang.String newName, @NotNull CopyOptions copyOptions) throws MaxNumberOfBuildTypesReachedException, InvalidVcsRootScopeException, DuplicateExternalIdException
originalBuildType
- build configuration to copynewName
- name to use for new configuration. If there exists configuration with same name in the target project
then " (1)", " (2)", ... suffix will be added to the specified name.copyOptions
- additional optionsMaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reachedInvalidVcsRootScopeException
- if a VCS root cannot be attached to build configurationDuplicateExternalIdException
@NotNull @Deprecated SBuildType createBuildType(@NotNull SBuildType originalBuildType, @NotNull java.lang.String newName, @NotNull CopyOptions copyOptions) throws MaxNumberOfBuildTypesReachedException, InvalidVcsRootScopeException
copyBuildType(jetbrains.buildServer.serverSide.SBuildType, java.lang.String, java.lang.String, jetbrains.buildServer.serverSide.CopyOptions)
instead.originalBuildType
- build configuration to copynewName
- name to use for new configuration. If there exists configuration with same name in the target project
then " (1)", " (2)", ... suffix will be added to the specified name.copyOptions
- additional optionsMaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reachedInvalidVcsRootScopeException
- if a VCS root cannot be attached to build configurationcopyBuildType(SBuildType, String, String, CopyOptions)
@NotNull SBuildType createBuildTypeFromTemplate(@NotNull BuildTypeTemplate template, @NotNull java.lang.String extId, @NotNull java.lang.String name) throws MaxNumberOfBuildTypesReachedException, InvalidVcsRootScopeException, DuplicateExternalIdException
template
- build configuration template.extId
- external identifier for the new build configuration.name
- name for the new build configuration.DuplicateExternalIdException
- if the given external identifier belongs to another build type (possible in another project).MaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reached.InvalidVcsRootScopeException
- if a VCS root cannot be attached to build configuration.@NotNull SBuildType createBuildTypeFromTemplate(@NotNull BuildTypeTemplate template, @NotNull java.lang.String name, @NotNull CopyOptions copyOptions) throws MaxNumberOfBuildTypesReachedException, InvalidVcsRootScopeException
template
- build configuration templatename
- name to use for build configuration. If there exists configuration with same name in the target project
then " (1)", " (2)", ... suffix will be added to the specified name.copyOptions
- options to control copy operationMaxNumberOfBuildTypesReachedException
- if maximum number of build configurations is reachedInvalidVcsRootScopeException
- if a VCS root cannot be attached to build configurationcreateBuildTypeFromTemplate(BuildTypeTemplate, String, String)
@Deprecated @NotNull SBuildType createBuildType(SBuildType originalBuildType, java.lang.String newName, boolean copyVcsRoots, boolean changeScopeOfLocalVcsRoots) throws MaxNumberOfBuildTypesReachedException, InvalidVcsRootScopeException
createBuildType(SBuildType, String, CopyOptions)
@Nullable BuildTypeIdentity findBuildTypeIdentityByName(@NotNull java.lang.String name)
name
- name of the build template or configuration to look for, case insensitive.findBuildTypeTemplateByName(java.lang.String)
,
findBuildTypeByName(java.lang.String)
@Nullable SBuildType findBuildTypeById(@Nullable java.lang.String internalId)
internalId
- the internal id of the build configuration to look for; case sensitive.findBuildTypeByExternalId(String)
@Nullable SBuildType findBuildTypeByExternalId(@Nullable java.lang.String externalId)
externalId
- the external id of the build configuration to look for; case insensitive.findBuildTypeById(String)
@Nullable SBuildType findBuildTypeByName(@NotNull java.lang.String name)
name
- name of the build configuration to look for.findBuildTypeByExternalId(String)
,
findBuildTypeById(String)
void removeBuildTypes()
SPersistentEntity.remove()
or
SPersistentEntity.remove()
methods in order to completely remove build types or
templates with their configuration files@Deprecated void removeBuildType(java.lang.String internalBuildTypeId)
SPersistentEntity.remove()
instead.internalBuildTypeId
- internal id of the build configuration@NotNull java.util.List<SBuildType> getOwnBuildTypes()
getOwnBuildTypes
in interface BuildProject
@NotNull java.util.List<SBuildType> getBuildTypes()
getBuildTypes
in interface BuildProject
boolean hasBuildTypes()
boolean containsBuildType(@NotNull java.lang.String buildTypeId)
buildTypeId
- internal id of the build configuration.BuildTypeIdentity.belongsTo(SProject)
boolean isInModel()
java.util.List<User> getPotentiallyResponsibleUsers()
void persist() throws PersistFailedException
persist
in interface SPersistentEntity
PersistFailedException
- if project persisting failedboolean isArchived()
void setArchived(boolean archived, @Nullable User user)
archived
- is the project archiveduser
- the user the performs the action@Nullable User getArchivingUser()
@Nullable java.util.Date getArchivingTime()
@NotNull java.lang.String getExtendedName()
BuildProject.getName()
@NotNull java.lang.String getExtendedFullName()
BuildProject.getFullName()
@NotNull java.util.List<BuildTypeTemplate> getOwnBuildTypeTemplates()
@NotNull java.util.List<BuildTypeTemplate> getBuildTypeTemplates()
@NotNull java.util.List<BuildTypeTemplate> getAvailableTemplates()
@NotNull java.util.List<SVcsRoot> getAvailableVcsRoots()
@Nullable BuildTypeTemplate findBuildTypeTemplateById(@NotNull java.lang.String intId)
intId
- internal id of template to look for.findBuildTypeTemplateByExternalId(java.lang.String)
@Nullable BuildTypeTemplate findBuildTypeTemplateByExternalId(@NotNull java.lang.String extId)
extId
- external id of template to look for.findBuildTypeTemplateById(java.lang.String)
@Nullable BuildTypeTemplate findBuildTypeTemplateByName(@NotNull java.lang.String name)
name
- name of the template.findBuildTypeTemplateByExternalId(java.lang.String)
,
findBuildTypeTemplateById(java.lang.String)
@Deprecated void removeBuildTypeTemplate(@NotNull java.lang.String internalId) throws TemplateCannotBeRemovedException
SPersistentEntity.remove()
instead.internalId
- internal id of the templateTemplateCannotBeRemovedException
- if template cannot be deletedboolean belongsTo(@NotNull SProject project)
project
- projectvoid moveToProject(@NotNull SProject target) throws CyclicDependencyException, InvalidVcsRootScopeException
target
- new parent project for this projectCyclicDependencyException
InvalidVcsRootScopeException
void moveToProject(@NotNull ConfigAction cause, @NotNull SProject target) throws CyclicDependencyException, InvalidVcsRootScopeException
cause
- config action caused the changetarget
- new parent project for this projectCyclicDependencyException
InvalidVcsRootScopeException
@NotNull SVcsRoot copyVcsRoot(@NotNull SVcsRoot originalRoot, @Nullable java.lang.String externalId)
originalRoot
- original VCS root.externalId
- external id for the copy; if null the the external id will be generated automatically.@NotNull SVcsRoot createVcsRoot(@NotNull java.lang.String vcsName, @Nullable java.lang.String name, @NotNull java.util.Map<java.lang.String,java.lang.String> params) throws UnknownVcsException, DuplicateVcsRootNameException
vcsName
- name of VCS pluginname
- name of VCS root, if null or empty new name will be generated automaticallyparams
- VCS root parametersUnknownVcsException
- if VCS plugin with specified name does not existDuplicateVcsRootNameException
- if provided VCS root name duplicates name of existing VCS root@NotNull SVcsRoot createVcsRoot(@NotNull java.lang.String vcsName, @NotNull java.lang.String externalId, @NotNull java.lang.String name) throws DuplicateExternalIdException, DuplicateVcsRootNameException
vcsName
- name of VCS pluginexternalId
- VCS root external idname
- VCS root nameDuplicateExternalIdException
- if external IDDuplicateVcsRootNameException
- if provided VCS root name duplicates name of existing VCS root@NotNull SVcsRoot createDummyVcsRoot(@NotNull java.lang.String vcsName, @NotNull java.util.Map<java.lang.String,java.lang.String> parameters)
vcsName
- name of VCS pluginparameters
- VCS root properties@NotNull SProject createProject(@NotNull java.lang.String externalId, @NotNull java.lang.String projectName) throws InvalidIdentifierException, InvalidNameException, DuplicateProjectNameException, DuplicateExternalIdException
externalId
- new sub project idprojectName
- new sub project nameInvalidIdentifierException
InvalidNameException
DuplicateProjectNameException
DuplicateExternalIdException
@NotNull SProjectFeatureDescriptor addFeature(@NotNull java.lang.String type, @NotNull java.util.Map<java.lang.String,java.lang.String> params)
type
- type of the featureparams
- feature parametersvoid addFeature(@NotNull SProjectFeatureDescriptor feature)
feature
- project feature to add@NotNull java.util.Collection<SProjectFeatureDescriptor> getOwnFeatures()
@NotNull java.util.Collection<SProjectFeatureDescriptor> getOwnFeaturesOfType(@NotNull java.lang.String type)
type
- type of project feature@NotNull java.util.Collection<SProjectFeatureDescriptor> getAvailableFeaturesOfType(@NotNull java.lang.String type)
type
- type of project feature@NotNull java.util.Collection<SProjectFeatureDescriptor> getAvailableFeatures()
@Nullable SProjectFeatureDescriptor removeFeature(@NotNull java.lang.String featureId)
featureId
- feature idboolean updateFeature(@NotNull java.lang.String featureId, @NotNull java.lang.String newType, @NotNull java.util.Map<java.lang.String,java.lang.String> newParams)
featureId
- feature idnewType
- new feature typenewParams
- new feature parameters@Nullable SProjectFeatureDescriptor findFeatureById(@NotNull java.lang.String featureId)
featureId
- feature idboolean isReadOnly()
@Nullable java.lang.String getReadOnlyReason()
@NotNull CustomDataStorage getCustomDataStorage(@NotNull java.lang.String storageId)
storageId
- storage id of interest@NotNull Status getStatus(@NotNull java.lang.String branch)
branch
- branch name