com.atlassian.bamboo.v2.build
Interface CurrentlyBuilding

All Superinterfaces:
ExecutionStatus
All Known Implementing Classes:
CurrentlyBuildingImpl

@ThreadSafe
public interface CurrentlyBuilding
extends ExecutionStatus

This object encapsulates the BuildContext that'd being built and the BuildAgent id it's related to


Nested Class Summary
static interface CurrentlyBuilding.ExecutableInfo
          Executable information.
 
Method Summary
 Long getBuildAgentId()
          The current build agent id iff the build is current building on an agent.
 BuildCancelledDetails getBuildCancelledDetails()
           
 BuildHungDetails getBuildHangDetails()
          Details about the build if it hung.
 BuildQueueTimeoutDetails getBuildQueueTimeoutDetails()
          Details about the build if queue timeout was detected.
 Collection<BuildAgent> getExecutableBuildAgents()
          Get the list of executable agents for this build.
 Collection<ElasticImageConfiguration> getExecutableElasticImages()
          Get the list of elastic images that can execute this plan.
 Date getQueueTime()
          The Date when the build was originally queued
 Date getVcsUpdateTime()
          The time Date when updating / checking out source repository began
 boolean hasExecutableAgents()
          Determine whether this plan currently has any agent that can run it.
 boolean isCurrentlyQueuedOnly()
          Is the build queued?
 boolean isUpdatingVcs()
           
 void setBuildAgentId(Long agentId)
          Sets the fact that the build will now be building on an agent
 void setBuildCancelledDetails(BuildCancelledDetails buildCancelledDetails)
           
 void setBuildHangDetails(BuildHungDetails buildHungDetails)
          Set the details if the build was detected to be hung.
 void setBuildQueueTimeoutDetails(BuildQueueTimeoutDetails buildQueueTimeoutDetails)
          Sets build queue timeout details
 void setExecutableInfo(CurrentlyBuilding.ExecutableInfo info)
          Set the information about the current agents and elastic images.
 void setVcsUpdateTime(Date vcsUpdateTime)
           
 void startTimer()
          Starts an internal timer to the currently running build
 void stopTimer()
          Stops the internal timer for the current running build
 boolean tryToFinish()
          Attempt to mark this object for operation requiring exclusive access: i.e.
 
Methods inherited from interface com.atlassian.bamboo.plan.ExecutionStatus
getAverageDuration, getBuildChanges, getBuildIdentifier, getElapsedTime, getProgressBar, getStartTime, getTriggerReason
 

Method Detail

getExecutableBuildAgents

@NotNull
Collection<BuildAgent> getExecutableBuildAgents()
Get the list of executable agents for this build. This mirrors the agent id's in the JMS message on the queue.

Returns:
- a list of BuildAgent which can execute this build.

getExecutableElasticImages

@NotNull
Collection<ElasticImageConfiguration> getExecutableElasticImages()
Get the list of elastic images that can execute this plan.

Returns:
collection of ElasticImageConfiguration which can execute this plan

hasExecutableAgents

boolean hasExecutableAgents()
Determine whether this plan currently has any agent that can run it.

Returns:
True if at least one agent: meets all of the plans requirements is enabled is active (i.e. online), otherwise False.

getBuildAgentId

@Nullable
Long getBuildAgentId()
The current build agent id iff the build is current building on an agent. This will be null if the build has not been picked up by an agent or the agent handed off the build to the server

Returns:

isCurrentlyQueuedOnly

boolean isCurrentlyQueuedOnly()
Is the build queued?

Returns:

isUpdatingVcs

boolean isUpdatingVcs()

getQueueTime

@NotNull
Date getQueueTime()
The Date when the build was originally queued

Specified by:
getQueueTime in interface ExecutionStatus
Returns:

getVcsUpdateTime

@Nullable
Date getVcsUpdateTime()
The time Date when updating / checking out source repository began

Returns:

getBuildHangDetails

@Nullable
BuildHungDetails getBuildHangDetails()
Details about the build if it hung. Will be null if build was fine.

Returns:

getBuildCancelledDetails

@Nullable
BuildCancelledDetails getBuildCancelledDetails()

getBuildQueueTimeoutDetails

@Nullable
BuildQueueTimeoutDetails getBuildQueueTimeoutDetails()
Details about the build if queue timeout was detected.

Returns:

setBuildAgentId

void setBuildAgentId(@Nullable
                     Long agentId)
Sets the fact that the build will now be building on an agent

Parameters:
agentId -

setBuildCancelledDetails

void setBuildCancelledDetails(@Nullable
                              BuildCancelledDetails buildCancelledDetails)

setBuildHangDetails

void setBuildHangDetails(@Nullable
                         BuildHungDetails buildHungDetails)
Set the details if the build was detected to be hung.

Parameters:
buildHungDetails -

setBuildQueueTimeoutDetails

void setBuildQueueTimeoutDetails(BuildQueueTimeoutDetails buildQueueTimeoutDetails)
Sets build queue timeout details

Parameters:
buildQueueTimeoutDetails -

setVcsUpdateTime

void setVcsUpdateTime(@NotNull
                      Date vcsUpdateTime)

setExecutableInfo

void setExecutableInfo(CurrentlyBuilding.ExecutableInfo info)
Set the information about the current agents and elastic images.

Parameters:
info - to set.

startTimer

void startTimer()
Starts an internal timer to the currently running build


stopTimer

void stopTimer()
Stops the internal timer for the current running build


tryToFinish

boolean tryToFinish()
Attempt to mark this object for operation requiring exclusive access: i.e. finishing build. Return value indicates if current thread is the first to call this method.

Returns:
true iff thread is free to request removal of this object


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.