Class BuildServerImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.BuildServerImpl
-
- All Implemented Interfaces:
BuildServer,ExtensionHolder,ExtensionsProvider,RootUrlHolder,BuildServerEx,BuildServerState,BuildsManager,RunningBuildsManagerEx,RunningBuildsManager,SBuildServer,ServerExtensionHolder,ServerUrlProvider,ServiceLocator
- Direct Known Subclasses:
BaseServerTestCase.TestBuildServerImpl
public class BuildServerImpl extends Object implements BuildServerEx
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jetbrains.buildServer.ExtensionsProvider
ExtensionsProvider.ExtensionAction<T extends TeamCityExtension>
-
-
Field Summary
Fields Modifier and Type Field Description static intTRIAL_EXPIRE_DAYSstatic StringUNEXPECTED_FINISHDeprecated.
-
Constructor Summary
Constructors Constructor Description BuildServerImpl(BuildServerLifecycleProcessor stateProcessor, ServerPaths paths, SecurityContextEx securityContext, BuildServerServiceLocator serviceLocator, ServerRootUrlHolder serverRootUrlHolder, EventDispatcher<BuildServerListener> dispatcher, ServerResponsibility serverResponsibility)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddListener(BuildServerListener listener)Deprecated.use direct injection of EventDispatchervoidaddRunningBuild(RunningBuildEx serverRunningBuild)byte[]fetchData(long userId, long buildId, String sourceId, String value)Get custom data provided by some data provider.SBuildfindBuildInstanceByBuildNumber(String buildTypeId, String buildNumber)Returns the most recent build (ordered by changes) with the specified build numberSBuildfindBuildInstanceById(long buildId)Return the build which corresponds to given buildId.Collection<SBuild>findBuildInstances(Collection<Long> buildIds)Returns collection of builds corresponding to the specified builds ids.List<SBuild>findBuildInstancesByBuildNumber(String buildTypeId, String buildNumber)Returns builds in specified build configuration id having the specified build number.SBuildfindNextBuild(SBuild build, BuildDataFilter filter)Returns the next non personal build (finished or running) started after the specified build.LicenseKeyfindPerUsageLicense()SBuildfindPreviousBuild(SBuild build)Finds a non personal build (running or finished) which was started before the specified build and contains same or previous changes than the specified build.SBuildfindPreviousBuild(SBuild build, BuildDataFilter filter)Same asBuildsManager.findPreviousBuild(jetbrains.buildServer.serverSide.SBuild)but searches for a previous build among builds accepted by the specified filter.RunningBuildExfindRunningBuildById(long currentBuildId)Searches for a running build by specified build id.<T> TfindSingletonService(Class<T> serviceClass)Searches for singleton service of specified typebooleanflushQueue()Check for free build agents and try to send builds from queue to build agents.<T extends TeamCityExtension>
voidforeachExtension(Class<T> agentExtensionClass, ExtensionsProvider.ExtensionAction<T> action)Iterates over extensions of some class and executes some action on them.BuildAgentManagerExgetBuildAgentManager()DategetBuildDate()StringgetBuildNumber()Returns server build number, i.e.intgetDaysToLicenseExpiration()Returns number of days till license expiration.List<SBuild>getEntriesSince(SBuild build, SBuildType buildType)Returns collection of finished and running builds which are later than the given one in term of changes.ScheduledExecutorServicegetExecutor()Executor service for short-time processes<T extends TeamCityExtension>
TgetExtension(Class<T> extensionClass, String sourceId)Retrieves extension registered with specified type and id<T extends TeamCityExtension>
Collection<T>getExtensions(Class<T> extensionClass)Get list of extensions for some extension point.<T extends TeamCityExtension>
Collection<String>getExtensionSources(Class<T> extensionClass)Returns identifiers of the extensions of specified typeStringgetFullServerVersion()Returns full server version string, including build number: TeamCity 3.0 EAP (build 4545)BuildHistoryExgetHistory()SBuildgetLastStartedBuild(String buildTypeId)LicenseKeysManagergetLicenseKeysManager()LicenseTokenManagergetLicenseTokenManager()LicensingInfogetLicensingInfo()LicensingPolicyExgetLicensingPolicy()LoginConfigurationgetLoginConfiguration()Return login configurations managerBuildServerListenergetMulticaster()Deprecated.use direct injection of EventDispatcherintgetNumberOfRunningBuilds()Returns total number of currently running builds.PersonalBuildManagerExgetPersonalBuildManager()Returns specific manager for personal builds.ProjectManagerExgetProjectManager()ProjectSettingsGeneratorRegistrygetProjectSettingsGeneratorRegistry()BuildQueueExgetQueue()List<String>getResponsibilityIds(long userId)Returns all configurations specified user is currently responsible for.ResponsibilityFacadeExgetResposibilityFacade()StringgetRootUrl()Returns the server URLRunningBuildExgetRunningBuildOnAgent(SBuildAgent agent)Returns running build running on the specified agent or null if there are no build on the agent.List<SRunningBuild>getRunningBuilds()Same as getRunningBuilds(null, null) List of running builds is sorted by build id in reverse order (most recent build first).List<SRunningBuild>getRunningBuilds(User user, BuildDataFilter filter)Returns all running builds including personal builds according to settings of the specified user.List<SRunningBuild>getRunningBuilds(User user, SBuildType buildType)Returns all running builds including personal builds which belong to the specified build configuration.List<RunningBuildEx>getRunningBuildsEx()Map<SBuildType,List<SRunningBuild>>getRunningStatus(User user, BuildDataFilter filter)Returns map of running builds per build configuration.RunTypeRegistrygetRunTypeRegistry()Returns registry for various build runners, like Ant, Maven, or Duplicates.SecurityContextExgetSecurityContext()bytegetServerMajorVersion()Get server major version, 3 for TeamCity 3.0bytegetServerMinorVersion()Get server minor version, 2 for TeamCity 1.2ServerResponsibilitygetServerResponsibility()StringgetServerRootPath()Path to server web application, i.e.<T> Collection<T>getServices(Class<T> serviceClass)Searches for all bean instances of type<T> TgetSingletonService(Class<T> serviceClass)Searches for singleton service of specified typeSQLRunnerExgetSQLRunner()Deprecated.use direct SQLRunner injection<T extends TeamCityExtension,CONTEXT,TARGET>
StampedExtensionsSupplier<CONTEXT,TARGET>getStampedExtensionsSupplier(Class<T> extensionClass, Function<StampedExtensionsSupplier.StoredData<CONTEXT,Collection<T>>,TARGET> converter)Live suppler of extensions.StatusProvidergetStatusProvider()TimeServicegetTimeService()UserModelgetUserModel()UserModelExgetUserModelEx()VcsModificationHistoryExgetVcsHistory()VcsManagerExgetVcsManager()ServerVersionInfogetVersion()Returns server version info.booleanhasFinishingBuilds()voidinitServer()booleanisBuildFinishing(long buildId)booleanisCompositeBuildReadyToFinish(CompositeRunningBuild rb)booleanisDatabaseCreatedOnStartup()booleanisDefaultRootUrl()booleanisLicenseExpiringSoon()booleanisShuttingDown()Returns true if server shutdown is in progress.booleanisStarted()Returns true if server was started (i.e.voidprocessBuildDetachedOnOtherNode(long buildId)voidprocessBuildFinishedOnOtherNode(long buildId, Runnable callback)voidprocessBuildInterruptedOnOtherNode(long buildId, Runnable callback)voidprocessBuilds(BuildQueryOptions options, ItemProcessor<SBuild> processor)Returns the builds matched by theoptionsspecified.voidprocessBuildStartedOnOtherNode(long buildId)voidprocessChangesLoadedOnOtherNode(long buildId)<T extends TeamCityExtension>
voidregisterExtension(Class<T> extensionClass, String sourceId, T extension)Register an extension for some extension point.voidremoveListener(BuildServerListener listener)Deprecated.use direct injection of EventDispatchervoidremoveRunningBuild(RunningBuildEx build)voidscheduleBuildFinishing(RunningBuildEx rb)voidsetAgentManager(BuildAgentManagerEx agentManager)voidsetBuildQueue(BuildQueueEx queue)voidsetBuildsManager(BuildsManagerImpl buildsManager)voidsetDb(SQLRunnerEx db)voidsetExecutorServiceManager(ExecutorServiceManager executorServiceManager)voidsetFileWatcherFactory(FileWatcherFactory fileWatcherFactory)voidsetFlushQueueAction(FlushQueueAction flushQueueAction)voidsetHistoryEx(BuildHistoryEx history)voidsetLoginConfiguration(LoginConfiguration loginConfiguration)voidsetPersonalBuildManagerEx(PersonalBuildManagerEx personalBuildManager)voidsetProjectManagerImpl(ProjectManagerEx projectManager)voidsetProjectSettingsGeneratorRegistry(ProjectSettingsGeneratorRegistry projectSettingsGeneratorRegistry)voidsetResponsibilityFacade(ResponsibilityFacadeEx responsibilityFacade)voidsetRootUrl(String url)Sets new root URL.voidsetRunningBuildsManager(RunningBuildsManagerImpl runningBuilds)voidsetRunTypeRegistry(RunTypeRegistry runTypeRegistry)voidsetServerRootPath(String absolutePath)voidsetStatusProvider(StatusProvider statusProvider)voidsetSwitchableExternalActivityRegistry(SwitchableExternalActivityRegistry externalActivityRegistry)voidsetTimeService(TimeService timeService)voidsetUserModelEx(UserModelEx userModel)voidsetVcsManagerEx(VcsManagerEx vcsManager)voidsetVcsModificationHistory(VcsModificationHistoryEx history)<T extends TeamCityExtension>
voidunregisterExtension(Class<T> extensionClass, String sourceId)Unregister an extension with given parameters registered for some extension point.voidupdateLicenseKeys()Reloads license keys from disk-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.ExtensionsProvider
getExtensionsCollection, getExtensionsCollection
-
-
-
-
Field Detail
-
TRIAL_EXPIRE_DAYS
public static final int TRIAL_EXPIRE_DAYS
-
UNEXPECTED_FINISH
@Deprecated @NonNls public static final String UNEXPECTED_FINISH
Deprecated.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BuildServerImpl
public BuildServerImpl(@NotNull BuildServerLifecycleProcessor stateProcessor, @NotNull ServerPaths paths, @NotNull SecurityContextEx securityContext, @NotNull BuildServerServiceLocator serviceLocator, @NotNull ServerRootUrlHolder serverRootUrlHolder, @NotNull EventDispatcher<BuildServerListener> dispatcher, @NotNull ServerResponsibility serverResponsibility) throws IOException- Throws:
IOException
-
-
Method Detail
-
setExecutorServiceManager
public void setExecutorServiceManager(@NotNull ExecutorServiceManager executorServiceManager)
-
setFlushQueueAction
public void setFlushQueueAction(@NotNull FlushQueueAction flushQueueAction)
-
getBuildAgentManager
@NotNull public BuildAgentManagerEx getBuildAgentManager()
- Specified by:
getBuildAgentManagerin interfaceBuildServerEx- Specified by:
getBuildAgentManagerin interfaceSBuildServer- Returns:
- manager of build agents.
-
getEntriesSince
public List<SBuild> getEntriesSince(@Nullable SBuild build, SBuildType buildType)
Description copied from interface:SBuildServerReturns collection of finished and running builds which are later than the given one in term of changes. I.e. history builds which were started after the given one but relate to changes made before it, won't be returned. Collection is sorted by change order descending (recent first).- Specified by:
getEntriesSincein interfaceSBuildServer- Parameters:
build- the boundary build, the result collection won't include it. if null, all builds will be returnedbuildType- build configuration where to search in.- Returns:
- collection of finished and running builds belonging to the specified configuration which start after the specified one (ordered by changes, recent first).
-
setAgentManager
public void setAgentManager(BuildAgentManagerEx agentManager)
-
setDb
public void setDb(@NotNull SQLRunnerEx db)
-
setPersonalBuildManagerEx
public void setPersonalBuildManagerEx(@NotNull PersonalBuildManagerEx personalBuildManager)
-
setFileWatcherFactory
public void setFileWatcherFactory(@NotNull FileWatcherFactory fileWatcherFactory)
-
setHistoryEx
public void setHistoryEx(BuildHistoryEx history)
-
initServer
public void initServer()
-
setUserModelEx
public void setUserModelEx(UserModelEx userModel)
-
setBuildQueue
public void setBuildQueue(BuildQueueEx queue)
-
setRunTypeRegistry
public void setRunTypeRegistry(@NotNull RunTypeRegistry runTypeRegistry)
-
setVcsManagerEx
public void setVcsManagerEx(@NotNull VcsManagerEx vcsManager)
-
setVcsModificationHistory
public void setVcsModificationHistory(@NotNull VcsModificationHistoryEx history)
-
setProjectManagerImpl
public void setProjectManagerImpl(@NotNull ProjectManagerEx projectManager)
-
setLoginConfiguration
public void setLoginConfiguration(@NotNull LoginConfiguration loginConfiguration)
-
setResponsibilityFacade
public void setResponsibilityFacade(@NotNull ResponsibilityFacadeEx responsibilityFacade)
-
setRunningBuildsManager
public void setRunningBuildsManager(@NotNull RunningBuildsManagerImpl runningBuilds)
-
setBuildsManager
public void setBuildsManager(@NotNull BuildsManagerImpl buildsManager)
-
setSwitchableExternalActivityRegistry
public void setSwitchableExternalActivityRegistry(@NotNull SwitchableExternalActivityRegistry externalActivityRegistry)
-
setProjectSettingsGeneratorRegistry
public void setProjectSettingsGeneratorRegistry(@NotNull ProjectSettingsGeneratorRegistry projectSettingsGeneratorRegistry)
-
getSecurityContext
@NotNull public SecurityContextEx getSecurityContext()
- Specified by:
getSecurityContextin interfaceBuildServerEx
-
getServerResponsibility
@NotNull public ServerResponsibility getServerResponsibility()
- Specified by:
getServerResponsibilityin interfaceBuildServerEx
-
getLoginConfiguration
@NotNull public LoginConfiguration getLoginConfiguration()
Description copied from interface:SBuildServerReturn login configurations manager- Specified by:
getLoginConfigurationin interfaceSBuildServer- Returns:
- see above
-
getExecutor
public ScheduledExecutorService getExecutor()
Description copied from interface:SBuildServerExecutor service for short-time processes- Specified by:
getExecutorin interfaceSBuildServer- Returns:
- Executor service for short-time processes
-
removeRunningBuild
public void removeRunningBuild(@NotNull RunningBuildEx build)- Specified by:
removeRunningBuildin interfaceRunningBuildsManagerEx
-
getUserModel
@NotNull public UserModel getUserModel()
- Specified by:
getUserModelin interfaceSBuildServer- Returns:
- user model in TeamCity
-
getVcsManager
@NotNull public VcsManagerEx getVcsManager()
- Specified by:
getVcsManagerin interfaceBuildServerEx- Specified by:
getVcsManagerin interfaceSBuildServer- Returns:
- Manager of various registered version controls and API to register VCS support
-
getLicensingInfo
@NotNull public LicensingInfo getLicensingInfo()
- Specified by:
getLicensingInfoin interfaceBuildServerEx
-
flushQueue
public boolean flushQueue()
Description copied from interface:SBuildServerCheck for free build agents and try to send builds from queue to build agents.- Specified by:
flushQueuein interfaceSBuildServer- Returns:
- true if at least one build was started
-
getTimeService
@NotNull public TimeService getTimeService()
- Specified by:
getTimeServicein interfaceRunningBuildsManagerEx
-
getRunningBuildsEx
@NotNull public List<RunningBuildEx> getRunningBuildsEx()
- Specified by:
getRunningBuildsExin interfaceRunningBuildsManagerEx
-
setTimeService
public void setTimeService(@NotNull TimeService timeService)
-
isStarted
public boolean isStarted()
Description copied from interface:BuildServerStateReturns true if server was started (i.e.ServerListener.serverStartup()event happened)- Specified by:
isStartedin interfaceBuildServerState
-
isShuttingDown
public boolean isShuttingDown()
Description copied from interface:BuildServerStateReturns true if server shutdown is in progress.- Specified by:
isShuttingDownin interfaceBuildServerState- Returns:
- see above
-
isDatabaseCreatedOnStartup
public boolean isDatabaseCreatedOnStartup()
- Specified by:
isDatabaseCreatedOnStartupin interfaceSBuildServer- Returns:
- true if new database was created during server startup.
-
getQueue
@NotNull public BuildQueueEx getQueue()
- Specified by:
getQueuein interfaceBuildServerEx- Specified by:
getQueuein interfaceSBuildServer- Returns:
- build queue manager
-
findRunningBuildById
@Nullable public final RunningBuildEx findRunningBuildById(long currentBuildId)
Description copied from interface:RunningBuildsManagerSearches for a running build by specified build id.- Specified by:
findRunningBuildByIdin interfaceRunningBuildsManager- Specified by:
findRunningBuildByIdin interfaceRunningBuildsManagerEx- Parameters:
currentBuildId- id of the build- Returns:
- running build with specified build id or null if there are no running build with such build id.
-
getRunningBuildOnAgent
@Nullable public RunningBuildEx getRunningBuildOnAgent(SBuildAgent agent)
Description copied from interface:RunningBuildsManagerReturns running build running on the specified agent or null if there are no build on the agent.- Specified by:
getRunningBuildOnAgentin interfaceRunningBuildsManager- Specified by:
getRunningBuildOnAgentin interfaceRunningBuildsManagerEx- Parameters:
agent- agent to search build- Returns:
- running build or null
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds(@Nullable User user, @NotNull SBuildType buildType)
Description copied from interface:RunningBuildsManagerReturns all running builds including personal builds which belong to the specified build configuration. If user is not null then all non-personal builds and personal builds of this user will be returned. If user settings are configured to show all personal builds, then personal builds of other users will be returned as well. If user is null, then all personal and non-personal builds are returned. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuildsin interfaceRunningBuildsManager- Parameters:
user- owner of personal builds or nullbuildType- build configuration- Returns:
- see above
-
processBuildFinishedOnOtherNode
public void processBuildFinishedOnOtherNode(long buildId, @NotNull Runnable callback)- Specified by:
processBuildFinishedOnOtherNodein interfaceRunningBuildsManagerEx
-
processBuildInterruptedOnOtherNode
public void processBuildInterruptedOnOtherNode(long buildId, @NotNull Runnable callback)- Specified by:
processBuildInterruptedOnOtherNodein interfaceRunningBuildsManagerEx
-
processBuildDetachedOnOtherNode
public void processBuildDetachedOnOtherNode(long buildId)
- Specified by:
processBuildDetachedOnOtherNodein interfaceRunningBuildsManagerEx
-
processChangesLoadedOnOtherNode
public void processChangesLoadedOnOtherNode(long buildId)
- Specified by:
processChangesLoadedOnOtherNodein interfaceRunningBuildsManagerEx
-
processBuildStartedOnOtherNode
public void processBuildStartedOnOtherNode(long buildId)
- Specified by:
processBuildStartedOnOtherNodein interfaceRunningBuildsManagerEx
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds(@Nullable User user, @Nullable BuildDataFilter filter)
Description copied from interface:RunningBuildsManagerReturns all running builds including personal builds according to settings of the specified user. If user is not null then all non-personal builds and personal builds of this user will be returned. If user settings are configured to show all personal builds, then personal builds of other users will be returned as well. If user is null, then all personal and non-personal builds are returned. If filter is not null it will be applied to the result. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuildsin interfaceRunningBuildsManager- Parameters:
user- owner of personal builds, can be nullfilter- filter to apply for builds, can be null- Returns:
- unmodifiable list of running builds
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds()
Description copied from interface:RunningBuildsManagerSame as getRunningBuilds(null, null) List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuildsin interfaceRunningBuildsManager- Returns:
- see above
-
getNumberOfRunningBuilds
public int getNumberOfRunningBuilds()
Description copied from interface:RunningBuildsManagerReturns total number of currently running builds.- Specified by:
getNumberOfRunningBuildsin interfaceRunningBuildsManager- Returns:
- number of currently running builds.
-
getRunningStatus
public Map<SBuildType,List<SRunningBuild>> getRunningStatus(@Nullable User user, @Nullable BuildDataFilter filter)
Description copied from interface:RunningBuildsManagerReturns map of running builds per build configuration. Method returns all personal builds if user is null, otherwise only personal builds of this user are returned. If filter is not null it will be applied to the result. The resulting map will contain only those build configurations for which list or running builds is not empty. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningStatusin interfaceRunningBuildsManager- Parameters:
user- owner of personal builds, can be nullfilter- filter to apply for builds, can be null- Returns:
- unmodifiable map of running builds per build type
-
getHistory
@NotNull public BuildHistoryEx getHistory()
- Specified by:
getHistoryin interfaceBuildServerEx- Specified by:
getHistoryin interfaceSBuildServer- Returns:
- build history manager
-
getVcsHistory
@NotNull public VcsModificationHistoryEx getVcsHistory()
- Specified by:
getVcsHistoryin interfaceBuildServerEx- Specified by:
getVcsHistoryin interfaceSBuildServer- Returns:
- Manager of version control history
-
getRunTypeRegistry
@NotNull public RunTypeRegistry getRunTypeRegistry()
Description copied from interface:SBuildServerReturns registry for various build runners, like Ant, Maven, or Duplicates.- Specified by:
getRunTypeRegistryin interfaceSBuildServer- Returns:
- see above
- See Also:
RunType
-
scheduleBuildFinishing
public void scheduleBuildFinishing(@NotNull RunningBuildEx rb)- Specified by:
scheduleBuildFinishingin interfaceRunningBuildsManagerEx
-
isCompositeBuildReadyToFinish
public boolean isCompositeBuildReadyToFinish(@NotNull CompositeRunningBuild rb)- Specified by:
isCompositeBuildReadyToFinishin interfaceRunningBuildsManagerEx
-
hasFinishingBuilds
public boolean hasFinishingBuilds()
- Specified by:
hasFinishingBuildsin interfaceRunningBuildsManagerEx
-
isBuildFinishing
public boolean isBuildFinishing(long buildId)
- Specified by:
isBuildFinishingin interfaceRunningBuildsManagerEx
-
getSQLRunner
@Deprecated public SQLRunnerEx getSQLRunner()
Deprecated.use direct SQLRunner injectionDescription copied from interface:SBuildServerReturn the interface for interaction with the SQL database of TeamCity- Specified by:
getSQLRunnerin interfaceBuildServerEx- Specified by:
getSQLRunnerin interfaceSBuildServer- Returns:
- see above
-
getLicenseKeysManager
@NotNull public LicenseKeysManager getLicenseKeysManager()
- Specified by:
getLicenseKeysManagerin interfaceBuildServerEx
-
getLicenseTokenManager
public LicenseTokenManager getLicenseTokenManager()
- Specified by:
getLicenseTokenManagerin interfaceBuildServerEx
-
updateLicenseKeys
public void updateLicenseKeys()
Description copied from interface:BuildServerExReloads license keys from disk- Specified by:
updateLicenseKeysin interfaceBuildServerEx
-
getLicensingPolicy
public final LicensingPolicyEx getLicensingPolicy()
- Specified by:
getLicensingPolicyin interfaceBuildServerEx- Specified by:
getLicensingPolicyin interfaceSBuildServer- Returns:
- current licensing policy.
-
getUserModelEx
public UserModelEx getUserModelEx()
- Specified by:
getUserModelExin interfaceBuildServerEx
-
addListener
@Deprecated public final void addListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatcherDescription copied from interface:SBuildServerAdd global TeamCity listener. Listeners should work fast, if long operation is required, use executorSBuildServer.getExecutor()- Specified by:
addListenerin interfaceSBuildServer- Parameters:
listener- listener to add- See Also:
BuildServerAdapter
-
removeListener
@Deprecated public final void removeListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatcherDescription copied from interface:SBuildServerRemove global TeamCity listener.- Specified by:
removeListenerin interfaceSBuildServer- Parameters:
listener- listener to remove- See Also:
BuildServerAdapter
-
getMulticaster
@Deprecated public BuildServerListener getMulticaster()
Deprecated.use direct injection of EventDispatcher- Specified by:
getMulticasterin interfaceBuildServerEx
-
setServerRootPath
public void setServerRootPath(String absolutePath)
-
fetchData
public byte[] fetchData(long userId, long buildId, String sourceId, String value)Description copied from interface:BuildServerGet custom data provided by some data provider. Data providers are implementations of jetbrains.buildServer.serverSide.DataFetcher interfaces, which are registered on the server side using jetbrains.buildServer.serverSide.SBuildServer#registerExtension method.- Specified by:
fetchDatain interfaceBuildServer- Parameters:
userId- Id of user who tries to fetch the data from the server.buildId- buildId parameter, which is passed to the fetchData method of DataFetcher interface implementation.sourceId- source identifier, which was used while DataFetcher registration using SBuildServer#registerExtension method.value- custom parameter, which is passed to the fetchData method of DataFetcher interface implementation.- Returns:
- data, returned by the corresponding implementation of DataFetcher interface, if such DataFetcher was registered; empty array if no corresponding DataFetcher found.
-
getLastStartedBuild
@Nullable public SBuild getLastStartedBuild(String buildTypeId)
- Specified by:
getLastStartedBuildin interfaceBuildServerEx- Specified by:
getLastStartedBuildin interfaceRunningBuildsManagerEx
-
addRunningBuild
public void addRunningBuild(@NotNull RunningBuildEx serverRunningBuild)- Specified by:
addRunningBuildin interfaceRunningBuildsManagerEx
-
getProjectManager
@NotNull public ProjectManagerEx getProjectManager()
- Specified by:
getProjectManagerin interfaceBuildServerEx- Specified by:
getProjectManagerin interfaceSBuildServer- Returns:
- project and build configuration manager.
-
getResponsibilityIds
public List<String> getResponsibilityIds(long userId)
Description copied from interface:BuildServerReturns all configurations specified user is currently responsible for.- Specified by:
getResponsibilityIdsin interfaceBuildServer- Parameters:
userId- TeamCity user unique identifier.- Returns:
- list of configuration ids (buildTypeIds) the user is responsible for.
-
getRootUrl
@NotNull public String getRootUrl()
Description copied from interface:ServerUrlProviderReturns the server URL- Specified by:
getRootUrlin interfaceServerUrlProvider- Returns:
- server root URL
-
setRootUrl
public void setRootUrl(@NotNull String url)Description copied from interface:RootUrlHolderSets new root URL.- Specified by:
setRootUrlin interfaceRootUrlHolder- Parameters:
url- new root URL
-
isDefaultRootUrl
public boolean isDefaultRootUrl()
-
setStatusProvider
public void setStatusProvider(@NotNull StatusProvider statusProvider)
-
getStatusProvider
@NotNull public StatusProvider getStatusProvider()
- Specified by:
getStatusProviderin interfaceSBuildServer- Returns:
- Notification status helper. Most likely this method will be deprecated.
-
getPersonalBuildManager
public PersonalBuildManagerEx getPersonalBuildManager()
Description copied from interface:SBuildServerReturns specific manager for personal builds.- Specified by:
getPersonalBuildManagerin interfaceBuildServerEx- Specified by:
getPersonalBuildManagerin interfaceSBuildServer- Returns:
- see above
-
getResposibilityFacade
@NotNull public ResponsibilityFacadeEx getResposibilityFacade()
- Specified by:
getResposibilityFacadein interfaceBuildServerEx
-
getBuildNumber
public String getBuildNumber()
Description copied from interface:SBuildServerReturns server build number, i.e. build number of server-side code running on the build server- Specified by:
getBuildNumberin interfaceSBuildServer- Returns:
- see above
-
getBuildDate
public Date getBuildDate()
- Specified by:
getBuildDatein interfaceSBuildServer- Returns:
- date when the build was produced
-
getServerMajorVersion
public final byte getServerMajorVersion()
Description copied from interface:SBuildServerGet server major version, 3 for TeamCity 3.0- Specified by:
getServerMajorVersionin interfaceSBuildServer- Returns:
- see above
-
getServerMinorVersion
public final byte getServerMinorVersion()
Description copied from interface:SBuildServerGet server minor version, 2 for TeamCity 1.2- Specified by:
getServerMinorVersionin interfaceSBuildServer- Returns:
- see above
-
getVersion
@NotNull public ServerVersionInfo getVersion()
Description copied from interface:SBuildServerReturns server version info.- Specified by:
getVersionin interfaceSBuildServer- Returns:
- see above
-
getFullServerVersion
public String getFullServerVersion()
Description copied from interface:SBuildServerReturns full server version string, including build number: TeamCity 3.0 EAP (build 4545)- Specified by:
getFullServerVersionin interfaceSBuildServer- Returns:
- see above
-
getDaysToLicenseExpiration
public int getDaysToLicenseExpiration()
Description copied from interface:BuildServerExReturns number of days till license expiration.- Specified by:
getDaysToLicenseExpirationin interfaceBuildServerEx- Returns:
- -1 if there are no expirable license
0 if license expired
positive integer indicating number of days till license expiration.
-
isLicenseExpiringSoon
public boolean isLicenseExpiringSoon()
- Specified by:
isLicenseExpiringSoonin interfaceBuildServerEx
-
findPerUsageLicense
@Nullable public LicenseKey findPerUsageLicense()
- Specified by:
findPerUsageLicensein interfaceBuildServerEx
-
getServerRootPath
public String getServerRootPath()
Description copied from interface:SBuildServerPath to server web application, i.e. servletContext.getRealPath("/")- Specified by:
getServerRootPathin interfaceSBuildServer- Returns:
- see above
-
registerExtension
public final <T extends TeamCityExtension> void registerExtension(@NotNull Class<T> extensionClass, @NonNls @NotNull String sourceId, @NotNull T extension)
Description copied from interface:ExtensionHolderRegister an extension for some extension point.
NOTE. TeamCity checks Spring beans for extensions as well- Specified by:
registerExtensionin interfaceExtensionHolder- Parameters:
extensionClass- class of the extension, which defines the extension point typesourceId- a unique Id for the given extension for given extension pointextension- extension itself, implementation of the interface 'extensionClass'
-
unregisterExtension
public final <T extends TeamCityExtension> void unregisterExtension(@NotNull Class<T> extensionClass, @NonNls @NotNull String sourceId)
Description copied from interface:ExtensionHolderUnregister an extension with given parameters registered for some extension point.- Specified by:
unregisterExtensionin interfaceExtensionHolder- Parameters:
extensionClass- class of the extension, which defines the extension point typesourceId- a unique Id for the given extension for given extension point
-
getExtensions
@NotNull public final <T extends TeamCityExtension> Collection<T> getExtensions(@NotNull Class<T> extensionClass)
Description copied from interface:ExtensionsProviderGet list of extensions for some extension point. TeamCity checks all registered Spring beans for extensions- Specified by:
getExtensionsin interfaceExtensionsProvider- Parameters:
extensionClass- class of the extension, which defines the extension point type- Returns:
- list of extensions for specified extension point
-
foreachExtension
public final <T extends TeamCityExtension> void foreachExtension(@NotNull Class<T> agentExtensionClass, @NotNull ExtensionsProvider.ExtensionAction<T> action)
Description copied from interface:ExtensionsProviderIterates over extensions of some class and executes some action on them. Exceptions fromExtensionsProvider.ExtensionAction.action(T)are catched and logged- Specified by:
foreachExtensionin interfaceExtensionsProvider- Parameters:
agentExtensionClass- extension classaction- action to execute
-
getExtensionSources
@NotNull public final <T extends TeamCityExtension> Collection<String> getExtensionSources(@NotNull Class<T> extensionClass)
Description copied from interface:ExtensionsProviderReturns identifiers of the extensions of specified type- Specified by:
getExtensionSourcesin interfaceExtensionsProvider- Parameters:
extensionClass- type of the extension- Returns:
- identifiers
-
getExtension
@Nullable public final <T extends TeamCityExtension> T getExtension(@NotNull Class<T> extensionClass, @NotNull String sourceId)
Description copied from interface:ExtensionsProviderRetrieves extension registered with specified type and id- Specified by:
getExtensionin interfaceExtensionsProvider- Parameters:
extensionClass- extension typesourceId- id- Returns:
- extension or null
-
getStampedExtensionsSupplier
@NotNull public <T extends TeamCityExtension,CONTEXT,TARGET> StampedExtensionsSupplier<CONTEXT,TARGET> getStampedExtensionsSupplier(@NotNull Class<T> extensionClass, @NotNull Function<StampedExtensionsSupplier.StoredData<CONTEXT,Collection<T>>,TARGET> converter)
Description copied from interface:ExtensionsProviderLive suppler of extensions. This supplier can be safely stored in a field of some class. It is updated automatically if a new extension of a given class is registered or if outer context was changed. For example this supplier is very useful if some internal property is used to select a single extension implementation which should be used:StampedExtensionsSupplier<String, MyExtension> supplier = extensionsProvider.getStampedExtensionsSupplier(MyExtension.class, extensions -> { for (MyExtension ext : extensions.data) { if (ext.getClass().getName().equals(extensions.context)) return ext; } return new DefaultMyExtension(); }); MyExtension currentlyUsedExtension = supplier.get(TeamCityProperties.getProperty("myextension.implementationClass"));here with each change of the "myextension.implementationClass" property the supplier will reset the internal cache and will call the provided function with the registered extensions collection and with the current context (the parameter value in this example). The internal cache is also reset automatically if the registered extensions collection changes. Without the getStampedExtensionsSupplier method, same code could be implemented with getExtensionsCollection(), but will require filtering the collection each time:ExtensionsCollection<MyExtension> allExtensions = extensionsProvider.getExtensionsCollection(MyExtension.class); MyExtension currentlyUsedExtension = null; for (MyExtension ext : allExtensions.getExtensions()) { if (ext.getClass().getName().equals(TeamCityProperties.getProperty("myextension.implementationClass"))) { currentlyUsedExtension = ext; break; } } if (currentlyUsedExtension == null) currentlyUsedExtension = new DefaultMyExtension()- Specified by:
getStampedExtensionsSupplierin interfaceExtensionsProvider- Parameters:
extensionClass- extension classconverter- function to convert the base extension. Will be automatically applied if underlying collection should be reset (eg if a new extension is registered).- Returns:
- collection of extension
-
getSingletonService
@NotNull public final <T> T getSingletonService(@NotNull Class<T> serviceClass)Description copied from interface:ServiceLocatorSearches for singleton service of specified type- Specified by:
getSingletonServicein interfaceServiceLocator- Parameters:
serviceClass- type of the service- Returns:
- found service, never null
-
findSingletonService
@Nullable public final <T> T findSingletonService(@NotNull Class<T> serviceClass)Description copied from interface:ServiceLocatorSearches for singleton service of specified type- Specified by:
findSingletonServicein interfaceServiceLocator- Parameters:
serviceClass- type of the service- Returns:
- found service or null if there's no such service
-
getServices
@NotNull public final <T> Collection<T> getServices(@NotNull Class<T> serviceClass)
Description copied from interface:ServiceLocatorSearches for all bean instances of type- Specified by:
getServicesin interfaceServiceLocator- Parameters:
serviceClass- - type to search- Returns:
- collection of classes that implements T
-
findBuildInstanceById
@Nullable public SBuild findBuildInstanceById(long buildId)
Description copied from interface:BuildsManagerReturn the build which corresponds to given buildId. Build can be running, or it can be finished.- Specified by:
findBuildInstanceByIdin interfaceBuildsManager- Parameters:
buildId- build identifier- Returns:
- the build which corresponds to given buildId
- See Also:
Build.isFinished(),BuildsManager.findBuildInstanceByBuildNumber(String, String)
-
findPreviousBuild
@Nullable public SBuild findPreviousBuild(@NotNull SBuild build)
Description copied from interface:BuildsManagerFinds a non personal build (running or finished) which was started before the specified build and contains same or previous changes than the specified build. The resulting build belongs to the same build configuration.- Specified by:
findPreviousBuildin interfaceBuildsManager- Parameters:
build- build to find previous build for- Returns:
- previous build in same build configuration or null if there is no previous build
-
findPreviousBuild
@Nullable public SBuild findPreviousBuild(@NotNull SBuild build, @NotNull BuildDataFilter filter)
Description copied from interface:BuildsManagerSame asBuildsManager.findPreviousBuild(jetbrains.buildServer.serverSide.SBuild)but searches for a previous build among builds accepted by the specified filter. Previous mean containing previous changes or with same changes but started before this one.- Specified by:
findPreviousBuildin interfaceBuildsManager- Parameters:
build- build to find previous build forfilter- build filter- Returns:
- previous build in same build configuration matching the specified filter or null if there is no previous build
-
findNextBuild
@Nullable public SBuild findNextBuild(@NotNull SBuild build, @NotNull BuildDataFilter filter)
Description copied from interface:BuildsManagerReturns the next non personal build (finished or running) started after the specified build.- Specified by:
findNextBuildin interfaceBuildsManager- Parameters:
build- build to find next build forfilter- build filter- Returns:
- next build in same build configuration, or null
- See Also:
BuildsManager.findPreviousBuild(SBuild, BuildDataFilter)
-
findBuildInstances
public Collection<SBuild> findBuildInstances(Collection<Long> buildIds)
Description copied from interface:BuildsManagerReturns collection of builds corresponding to the specified builds ids. Both running and finished builds can appear in the resulting collection. The collection will contain existing builds only. NOTE: RETURNED COLLECTION WILL NOT MAINTAIN REQUESTED ORDER!- Specified by:
findBuildInstancesin interfaceBuildsManager- Parameters:
buildIds- build identifiers to be searched for.- Returns:
- see above
-
findBuildInstanceByBuildNumber
@Nullable public SBuild findBuildInstanceByBuildNumber(@NotNull String buildTypeId, @NotNull String buildNumber)
Description copied from interface:BuildsManagerReturns the most recent build (ordered by changes) with the specified build number- Specified by:
findBuildInstanceByBuildNumberin interfaceBuildsManager- Parameters:
buildTypeId- build configuration internal idbuildNumber- build number string- Returns:
- see above
-
findBuildInstancesByBuildNumber
@NotNull public List<SBuild> findBuildInstancesByBuildNumber(@NotNull String buildTypeId, @NotNull String buildNumber)
Description copied from interface:BuildsManagerReturns builds in specified build configuration id having the specified build number. Builds are ordered by changes, i.e. the most recent build first. The list may contain personal builds too.- Specified by:
findBuildInstancesByBuildNumberin interfaceBuildsManager- Parameters:
buildTypeId- build configuration internal idbuildNumber- build number- Returns:
- see above
-
processBuilds
public void processBuilds(@NotNull BuildQueryOptions options, @NotNull ItemProcessor<SBuild> processor)Description copied from interface:BuildsManagerReturns the builds matched by theoptionsspecified.- Specified by:
processBuildsin interfaceBuildsManager- Parameters:
options- query optionsprocessor- builds processor
-
getProjectSettingsGeneratorRegistry
@NotNull public ProjectSettingsGeneratorRegistry getProjectSettingsGeneratorRegistry()
- Specified by:
getProjectSettingsGeneratorRegistryin interfaceBuildServerEx
-
-