Skip to end of metadata
Go to start of metadata

Triggering in Bamboo allows plan builds to be started automatically. Bamboo has the following trigger methods:

Trigger a build when code is updated:

Trigger a build based on a schedule:

Trigger a build depending on the builds of other plans:

On this page:

Note that a plan that has no configured triggers can only be started manually, or if it is dependent on the successful build of another plan.

From Bamboo 4.3, you can configure multiple triggers for each plan. This allows a plan to be triggered by different trigger types, and to have triggering scenarios such as "every 5 minutes between 9:00am and 10:00am, and every 20 minutes between 1:00pm and 10:00pm".

Triggers can only be configured by a Bamboo administrator.

Choosing a triggering strategy

This table lists the ways in which plan builds can be triggered in Bamboo.

Triggering option

Description

Polling the repository for changes

Bamboo will 'poll' the selected source code repositories for code changes, using either a specified interval (that is, periodically) or a schedule. If Bamboo detects code changes, a build of the plan is triggered.

  • Your VCS must service a 'check out' or 'update' command whenever it is polled, even if no code has changed in a repository.

See Polling the repository for changes.

Repository triggers the build when changes are committed

Bamboo waits to receive a message about changed code from any of the selected source code repositories. When Bamboo receives such a message, a build of the plan is triggered.

  • This option minimises server load, because message events are sent only when code changes to a repository are committed.
  • You must configure your source code management system to send message events to Bamboo about code changes in the repositories.

See Repository triggers the build when changes are committed.

Cron-based scheduling

Bamboo will trigger scheduled builds of this plan based on a cron expression.

  • This option allows you to schedule builds when server load is likely to be minimal, for example, outside office hours.
  • Scheduled builds are triggered irrespective of any code changes in the source code repositories.

See Cron-based scheduling.

Single daily build

Bamboo will trigger a build of the plan once per day at a specified time.

  • Can be set up to run at a time of you choice.
  • This option is suitable if a build of this plan takes a long time to complete.
  • Scheduled builds are triggered irrespective of any code changes in the source code repositories.

See Single daily build.

 

Conditional build triggers

This field is only available when configuring an existing plan.

You can choose to run builds of this plan only if other specified plans are currently passing. Those plans must build successfully before this plan will be built. See also Setting up plan build dependencies.

Note that, because a plan may have multiple triggers configured, each of which can have differing trigger conditions, it is possible for the plan build to be started by one trigger, even though another trigger is currently blocked.

To specify build trigger conditions:

  1. Click Dashboard and then the All Plans tab.
  2. Locate the plan in the list and click the edit icon () to display the plan's configuration pages.
  3. Click the Triggers tab, and click either an existing trigger or Add Trigger.
  4. Select Only run Build if other Plans are currently passing, under 'Trigger Conditions'.
  5. Specify one or more other plans by adding their full keys.

  • No labels

5 Comments

  1. Would be nice if one could specify MYPROJECT-* for all plans in a project.

  2. Is it possible to trigger a daily build only if changes have occurred? That is, trigger the build (a) as a single daily build, but (b) only if the code has been updated?

    1. I think I just figured it out. When I choose the Trigger Type "Polling the Repository for changes," I get an option to set the Polling Strategy to "Scheduled," and to set the schedule to be once a day. I think that does exactly what I want: triggers the build once a day only if there have been changes.

  3. Anonymous

    When I setup multiple triggers, all  trigger run the plan with default variable values.

    How can I setup a trigger which triggers 'Run Customized' equivalent ie different params for each trigger?

    Eg:  logs enabled build in the morning trigger, production builds for EOD trigger etc,.

    Currently  we set  these values using 'Run Customized' , how can I automate this process using trigger?

  4. Anonymous

    IS there any way to trigger a build by calling URL, REST etc... so I can integrate the build with my WF engine?

    Also is there any way to add parameters to the build which is provided and is different for each build run?