Options
All
  • Public
  • Public/Protected
  • All
Menu

Implementation of SoftwareDeliveryMachine based on Atomist event handlers. Not intended for direct user instantiation. See machineFactory.ts

Type parameters

  • O: SoftwareDeliveryMachineConfiguration

Hierarchy

  • AbstractSoftwareDeliveryMachine
    • HandlerBasedSoftwareDeliveryMachine

Implements

  • ListenerRegistrationManager
  • SoftwareDeliveryMachine<O>

Index

Constructors

constructor

  • new HandlerBasedSoftwareDeliveryMachine(name: string, configuration: Configuration & SoftwareDeliveryMachineConfiguration, goalSetters: Array<GoalSetter | GoalSetter[]>): HandlerBasedSoftwareDeliveryMachine
  • Construct a new software delivery machine, with zero or more goal setters.

    Parameters

    • name: string
    • configuration: Configuration & SoftwareDeliveryMachineConfiguration

      automation client configuration we're running in

    • goalSetters: Array<GoalSetter | GoalSetter[]>

      tell me what to do on a push. Hint: start with "whenPushSatisfies(...)"

    Returns HandlerBasedSoftwareDeliveryMachine

Properties

channelLinkListeners

channelLinkListeners: ChannelLinkListener[]

closedIssueListeners

closedIssueListeners: ClosedIssueListener[]

configuration

configuration: O

Protected disposalGoalSetters

disposalGoalSetters: GoalSetter[]

extensionPacks

extensionPacks: ExtensionPack[]

fingerprintDifferenceListeners

fingerprintDifferenceListeners: FingerprintDifferenceListener[]

firstPushListeners

firstPushListeners: PushListener[]

Protected goalApprovalRequestVoteDecisionManager

goalApprovalRequestVoteDecisionManager: GoalApprovalRequestVoteDecisionManager

Protected goalApprovalRequestVoters

goalApprovalRequestVoters: GoalApprovalRequestVoter[]

goalCompletionListeners

goalCompletionListeners: GoalCompletionListener[]

goalExecutionListeners

goalExecutionListeners: GoalExecutionListener[]

goalFulfillmentMapper

goalFulfillmentMapper: DefaultGoalImplementationMapper

goalsSetListeners

goalsSetListeners: GoalsSetListener[]

name

name: string

newIssueListeners

newIssueListeners: NewIssueListener[]

pullRequestListeners

pullRequestListeners: PullRequestListener[]

pushMapping

pushMapping: PushMapping<Goals>

Return the PushMapping that will be used on pushes. Useful in testing goal setting.

returns

Protected registrationManager

registrationManager: HandlerRegistrationManagerSupport

repoCreationListeners

repoCreationListeners: RepoCreationListener[]

repoOnboardingListeners

repoOnboardingListeners: ProjectListener[]

startupListeners

startupListeners: StartupListener[]

tagListeners

tagListeners: TagListener[]

triggeredListeners

triggeredListeners: TriggeredListenerRegistration[]

updatedIssueListeners

updatedIssueListeners: UpdatedIssueListener[]

userJoiningChannelListeners

userJoiningChannelListeners: UserJoiningChannelListener[]

Accessors

Private allFunctionalUnits

  • get allFunctionalUnits(): FunctionalUnit[]

commandHandlers

  • get commandHandlers(): Array<Maker<HandleCommand>>

eventHandlers

  • get eventHandlers(): Array<Maker<HandleEvent<any>>>

Private goalConsequences

  • get goalConsequences(): FunctionalUnit

Private goalSetting

  • get goalSetting(): FunctionalUnit

ingesters

  • get ingesters(): string[]

Private onFirstPush

Private onRepoCreation

Private semanticDiffReactor

Methods

addChannelLinkListener

  • addChannelLinkListener(e: ChannelLinkListener): this
  • Parameters

    • e: ChannelLinkListener

    Returns this

addClosedIssueListener

  • addClosedIssueListener(e: ClosedIssueListener): this
  • Parameters

    • e: ClosedIssueListener

    Returns this

addCodeInspectionCommand

  • addCodeInspectionCommand<R, P>(cir: CodeInspectionRegistration<R, P>): this
  • Type parameters

    • R

    • P

    Parameters

    • cir: CodeInspectionRegistration<R, P>

    Returns this

addCodeTransformCommand

  • addCodeTransformCommand<P>(ct: CodeTransformRegistration<P>): this
  • Type parameters

    • P

    Parameters

    • ct: CodeTransformRegistration<P>

    Returns this

addCommand

  • addCommand<P>(cmd: CommandHandlerRegistration<P>): this
  • Type parameters

    • P

    Parameters

    • cmd: CommandHandlerRegistration<P>

    Returns this

addEvent

  • addEvent<T, P>(e: EventHandlerRegistration<T, P>): this
  • Type parameters

    • T

    • P

    Parameters

    • e: EventHandlerRegistration<T, P>

    Returns this

addExtensionPacks

  • addExtensionPacks(...packs: ExtensionPack[]): this
  • Parameters

    • Rest ...packs: ExtensionPack[]

    Returns this

addFingerprintDifferenceListener

  • addFingerprintDifferenceListener(fdl: FingerprintDifferenceListener): this
  • Parameters

    • fdl: FingerprintDifferenceListener

    Returns this

addFirstPushListener

  • addFirstPushListener(pls: PushListener): this
  • Parameters

    • pls: PushListener

    Returns this

addGeneratorCommand

  • addGeneratorCommand<P>(gen: GeneratorRegistration<P>): this
  • Type parameters

    • P

    Parameters

    • gen: GeneratorRegistration<P>

    Returns this

addGoalApprovalRequestVoter

  • addGoalApprovalRequestVoter(vote: GoalApprovalRequestVoter): this
  • Parameters

    • vote: GoalApprovalRequestVoter

    Returns this

addGoalCompletionListener

  • addGoalCompletionListener(l: GoalCompletionListener): this
  • Parameters

    • l: GoalCompletionListener

    Returns this

addGoalContributions

  • addGoalContributions(goalContributions: GoalSetter): this
  • Parameters

    • goalContributions: GoalSetter

    Returns this

addGoalExecutionListener

  • addGoalExecutionListener(e: GoalExecutionListener): this
  • Parameters

    • e: GoalExecutionListener

    Returns this

addGoalImplementation

  • addGoalImplementation(implementationName: string, goal: Goal, goalExecutor: ExecuteGoal, options?: Partial<object>): this
  • Provide the implementation for a goal. The SDM will run it as soon as the goal is ready (all preconditions are met). If you provide a PushTest, then the SDM can assign different implementations to the same goal based on the code in the project.

    Parameters

    • implementationName: string
    • goal: Goal
    • goalExecutor: ExecuteGoal
    • Optional options: Partial<object>

      PushTest to narrow matching & InterpretLog that can handle the log from the goalExecutor function

    Returns this

addGoalSideEffect

  • addGoalSideEffect(goal: Goal, sideEffectName: string, pushTest?: PushTest): this
  • Declare that a goal will become successful based on something outside. For instance, ArtifactGoal succeeds because of an ImageLink event. This tells the SDM that it does not need to run anything when this goal becomes ready.

    Parameters

    • goal: Goal
    • sideEffectName: string
    • Optional pushTest: PushTest

    Returns this

addGoalsSetListener

  • addGoalsSetListener(l: GoalsSetListener): this
  • Parameters

    • l: GoalsSetListener

    Returns this

addIngester

  • addIngester(i: string | IngesterRegistration): this
  • Parameters

    • i: string | IngesterRegistration

    Returns this

addNewIssueListener

  • addNewIssueListener(e: NewIssueListener): this
  • Parameters

    • e: NewIssueListener

    Returns this

addPullRequestListener

  • addPullRequestListener(pls: PullRequestListener): this
  • Parameters

    • pls: PullRequestListener

    Returns this

addRepoCreationListener

  • addRepoCreationListener(rcls: RepoCreationListener): this
  • Parameters

    • rcls: RepoCreationListener

    Returns this

addRepoOnboardingListener

  • addRepoOnboardingListener(rols: ProjectListener): this
  • Parameters

    • rols: ProjectListener

    Returns this

addStartupListener

  • addStartupListener(l: StartupListener): this
  • Parameters

    • l: StartupListener

    Returns this

addTagListener

  • addTagListener(e: TagListener): this
  • Parameters

    • e: TagListener

    Returns this

addTriggeredListener

  • addTriggeredListener(t: TriggeredListenerRegistration): this
  • Parameters

    • t: TriggeredListenerRegistration

    Returns this

addUpdatedIssueListener

  • addUpdatedIssueListener(e: UpdatedIssueListener): this
  • Parameters

    • e: UpdatedIssueListener

    Returns this

addUserJoiningChannelListener

  • addUserJoiningChannelListener(l: UserJoiningChannelListener): this
  • Parameters

    • l: UserJoiningChannelListener

    Returns this

notifyStartupListeners

  • notifyStartupListeners(): Promise<void>
  • Invoke StartupListeners.

    Returns Promise<void>

scheduleTriggeredListeners

  • scheduleTriggeredListeners(): void
  • Schedule the triggered listeners

    Returns void

setGoalApprovalRequestVoteDecisionManager

  • setGoalApprovalRequestVoteDecisionManager(manager: GoalApprovalRequestVoteDecisionManager): this
  • Parameters

    • manager: GoalApprovalRequestVoteDecisionManager

    Returns this

withPushRules

  • withPushRules(contributor: GoalContribution<any>, ...contributors: Array<GoalContribution<any>>): this
  • Parameters

    • contributor: GoalContribution<any>
    • Rest ...contributors: Array<GoalContribution<any>>

    Returns this

Generated using TypeDoc