The Build Triggering page allows you to add the following Maven dependency triggers:
Checksum Based Triggering
The trigger checks if the content of the dependency has actually changed by verifying its checksum from the repository against the locally stored version. Before triggering a build, TeamCity tries to determine the checksum of the required dependency by downloading the file digest (MD5/SHA-1) associated with that artifact.
If the checksum can be retrieved, and it matches a locally stored one, no build is triggered. If the checksum is different, a build is triggered.
If the checksum cannot be retrieved from the remote server, the dependency will be downloaded, TeamCity will calculate its checksum and follow the build triggering mechanism described above.
Maven Snapshot Dependency Trigger
Maven snapshot dependency trigger adds a new build to the queue when there is a real modification of the snapshot dependency content in the remote repository which is detected by the checksum change.
Dependency artifacts are resolved according to the POM and the server-side Maven Support.
note
Note that since Maven deploys artifacts to remote repositories sequentially during a build, not all artifacts may be up-to-date at the moment the snapshot dependency trigger detects the first updated artifact. To avoid inconsistency, select the Do not trigger a build if currently running builds can produce snapshot dependencies check box when adding this trigger, which will ensure the build won't start while builds producing snapshot dependencies are still running.
note
Simultaneous usage of snapshot dependency and dependency trigger for a build Assume build A depends on build B by both snapshot and trigger dependency. Then, after the build B finishes, build A will be added into the queue, only if build B is not a part of the build chain containing A.
Maven Artifact Dependency Trigger
Maven artifact dependency trigger adds build to the queue when there is a real modification of the dependency content which is detected by the checksum change.
To add a trigger, specify the following parameters in the Add New Trigger dialog:
Parameter
Description
Group Id
Specify identifier of a group the desired Maven artifact belongs to.
Artifact Id
Specify the artifact's identifier.
Version or Version range
Specify version or version range of the artifact. The version range syntax is described in the versionRanges below. SNAPSHOT versions can also be used.
Type
Define explicitly the type of the specified artifact. By default, the type is jar.
Classifier
(Optional) Specify classifier of an artifact.
Maven repository URL
Specify URL to the Maven repository. Note, that this parameter is optional. If the URL is not specified, then:
For a Maven project the repository URL is determined from the POM and the server-side Maven Support
For a non-Maven project the repository URL is determined from the server-side Maven Support only
Do not trigger a build if currently running builds can produce this artifact
Select this option to trigger a build only after the build that produces artifacts used here is finished.
Note that Maven Artifact Dependency Trigger can be used not only for fixed-version artifacts but also for snaphots as a fine-grained alternative to the Maven Snapshots Dependency Trigger.
Range
Meaning
(,1.0]
x <= 1.0
1.0
"Soft" requirement on 1.0 (just a recommendation - helps select the correct version if it matches all ranges)
[1.0]
Hard requirement on 1.0
[1.2,1.3]
1.2 <= x <= 1.3
[1.0,2.0)
1.0 <= x < 2.0
[1.5,)
x >= 1.5
(,1.0],[1.2,)
x <= 1.0 or x >= 1.2. Multiple sets are comma-separated
(,1.1),(1.1,)
This excludes 1.1, if it is known not to work in combination with this library
1.0-SNAPSHOT
The trigger will check the latest snapshot version for updates