The Tag Repository Changeset build event handler can be used to tag or label changesets in the respository when certain build events occur. You may, for example, wish to label changesets which were successfully deployed with the build version number.
Continua currently support tagging for Git, Mercurial and Subversion repositories. Continua attempts to provide a consistant interface for tagging across all of these repositories, although the implementation varies significantly.
Tag Repository Changeset
Enter the name of the tag. You can use expressions here but ensure that the character are restricted to those allowed by the selected repository type.
A comment to be stored in the repository against the tag (for Git) or tag changeset (for Mercurial and Subversion). You can use expressions in the field.
This is one of the following:
- Create new tag: A new tag will be created on the specified changeset. This will raise an error if the tag already exists in the repository.
- Create new or move existing tag: (Git and Mercurial only) Any existing tag will be moved to the specified changeset, otherwise a new tag will be created.
- Delete existing tag: Delete any existing tag. This will raise an error if the tag does not exist.
Select a repository from those associated with the configuration. Only supported Git, Mercurial and Subversion repositories will be listed here.
Changeset to Tag
You can choose to apply the tagging action to the First or Last changeset associated with the build. This is only relevant if the build is run with the "Associate all changesets since last successful build" option selected.
When To Run
You can specify when the build event handler runs by linking it to a Build Event on the When To Run tab.
Select the event which triggers the tag action. You can choose one of the following Build Events:
- On Build Created
- On Before Build Queued
- On Before Build Start
- On After Build Started
- On Before Stage Start
- On Sending Stage To Agent
- On Stage Completed
- On Build Pending Promotion
- On Before Build Continue
- On After Build Continued
- On Build Stopping
- On Build Completed
For stage events, select the stage this applies to, or "(all stages)" to trigger the tagging action for all stages
For "On Stage Completed" and "On Build Completed", you can choose to trigger the tagging action when the build is Successful or has Failed.
Allow Tagging of Existing Tag Changeset
This option appears when tagging Mercurial and Subversion repositories. These repositories commit tag changes as a revision, others such as Git do not. Uncheck this to skip the tagging of changesets created as a result of a previous tagging action (enacted either by Continua or externally).
Wait for Result
Uncheck this option to run the tagging action in a separate thread if you don't care about the result eg. whether the action fails or not.
Fail Build on Error
Tick this to fail the build if the tagging action returns an error or failure. This is only available if Wait for Result is ticked.
Log Build Messages
When this is ticked, Continua will add messages to the build log during execution of the tagging action. Build log messages will only be recorded if Wait for Result is ticked.