Before reading this page, it is highly recommended you read the Triggers page.
Repository triggers are used to trigger a configuration when a change is committed to a certain repository.
The repository related to this trigger (these are presented on the 'Repositories' tab).
When a changeset is detected on the selected repository, a build is created and put in the Build Queued state. It waits in a queued state until the quiet period expires. While in the quiet period, additional commits to the repository will not trigger new builds, however these new changesets will be added to the build that is currently in the quiet period.
This feature is particularly useful when you want to group a set of quickly committed changes into a single build.
The Quiet Period can be specified in minutes or seconds and defaults to 5 minutes.
Identifies which Changesets should be associated with this build (relevant for all other non-triggering repositories). Non-triggering repositories are all repositories linked to the current configuration, that did not activate this triggering.
There are two options for associate Changesets:
For example, Lets assume my configuration is linked to a repository called myNonTriggeringRepository and this repository is not linked to a repository trigger. Since the last time a build was executed successfully, I have made the following check-ins:
With these check-ins, lets assume that Fixed annoying deadlock bug. issue #3199 is the latest check-in to be made.
On my configuration I have a second repository called myTriggeringRepo which has a repository trigger that will execute a build every time a check-in is made to myTriggeringRepo .
What I have selected for Associate Changesets will change the latest changesets that I will see associated with my builds.
For this example, a build is triggered by a change being detected in myTriggeringRepo. Once the build has finished running, if I check the latest changes made in myNonTriggeringRepository, I will see the following check-ins:
Tick this to restrict any notifications, due to subscriptions on builds started by this trigger, only to the users who committed changes to the triggering repository which are associated with the build.
For branch-aware repositories, this option allows you to further refine the branches to observe as part of this trigger. The options available are:
When this option is selected, the trigger will start a build if any changes are made to any branch.
When this option is selected, the trigger will start a build if a change was made to the repository's default branch. The default branch is specified within the Repository Options.
When this option is selected, the trigger will start a build when a change is made to a branch and the full branch path matches the regular expression you supply.
The regular expression entered in the screen shot below is ^feature-.*. This will match any branch in a Git or Mercurial repository that starts with feature-.
Note that the regular expression matches against the full branch path which depends on the repository type as follows:
Git and Mercurial: branchname TFS and Plastic SCM: /branchname Subversion: /branches/branchfolder/
So the pattern in the above example would be ^/feature-.* for TFS and Plastic SCM and ^/branches/feature-.* for Subversion.
Commits which have already been built on one branch may appear on a new branch after a merge. This option can be used to prevent this trigger starting a duplicate build for a commit previously built as a result of any trigger or manual build on this configuration.
Visible only if the 'Skip commits previously built for this configuration' checkbox is not ticked.
Commits which have already been built on one branch may appear on a new branch after a merge. This option can be used to prevent this trigger starting more than one build for the same commit.
Tick this checkbox to ignore changesets which do not include file or folder changes. Depending on the repository type, this will exclude changesets which are due only to property changes, tagging or branching. Note that some repository types only record file not folder changes.
When this checkbox is ticked additional options will be revealed.
Use these checkboxes to restrict the types of file or folder change which will trigger a build. A changeset must include at least one file or folder change of one of these types to trigger a build
You can use Include and Exclude patterns to further restrict the changesets which trigger a build to those containing (or not containing) changes to certain files or folders.
Note: Exclude patterns override include patterns.
One regular expression per line. A changeset must contain at least one file (or folder) change with a path which which matches any of the specified regular expressions to trigger a build.
One regular expression per line. The behaviour of exclude patterns depends on the value selected for the Exclude Where dropdown list as follows:
All files or folders match exclude patterns: A changeset will not trigger a build if the paths of ALL file changes match any of the specified regular expressions.
Any files or folders match exclude patterns: A changeset will not trigger a build if the path of ANY of the file (or folder) changes matches any of the specified regular expressions.
Tick this if to match file and folder paths independent of the character case.
The patterns are regular expressions, so if you wish to match characters such as '.' and '' literally they need to be escaped. e.g. '.' and '\'.
The patterns are matched against the relative path from the branch head or, for non-branch repositories, the repository root. This does not include a leading slash.
e.g. To exactly match 'http://domain/repo/branch/subfolder/sourcefile.pas
' use the pattern 'subfolder/sourcefile.pas'; to match all '*.pas' files under 'subfolder' use the pattern 'subfolder/[^.]*.pas'
You can use Include and Exclude patterns to further restrict the changesets which trigger a build to those containing (or not containing) specified comments. Note that exclude patterns override include patterns.
A changeset comment must match the specified regular expression to trigger a build.
A changeset will not trigger a build if its comment matches the specified regular expression.
Tick this if to match comments independent of the character case