What's Ticket Integration
Ticket Integration in CloudForge allows you to update a Ticket (or bug) directly from your commit with a simple to use syntax.
We have implemented a simple, but powerful syntax, which will allow you to update your ticketing system of choice automatically via the CVS, Subversion, or Git commit log message. This will save you plenty of time, as you can now automatically update/close/append tickets without even having to open up the web interface. It can all be done at the same time as you commit to your repository.
What you need...
You will need Source Control and a Ticket tool - ideally in the same CloudForge Project. And place integration syntax in your commit.
- Source Control: You need to add either one of these... Subversion or GIT or CVS to your Project through the CloudForge web interface.
- A Ticketing Systems: All CloudForge hosted ticketing systems are supported. Add one of these to your CloudForge project: TeamForge, Trac, or Bugzilla.
In addition, we also support Ticket Integration with the following 3rd party apps: LightHouse, BaseCamp, FogBugz, VersionOne, Jira, Pivotal Tracker, Rally, and now Zendesk - (Note: these services are not hosted in CloudForge.)
We will be adding more integrations to your favorite ticketing systems over time, so please create and vote on feature requests for any you want added.
here a project's services list with Subversion and ScrumWorks.
Make it work... the syntax
This syntax needs to be placed in your commit log message, and should include:
The usual case is that only one ticket handling service is configured for a project. So, you can normally omit the service name:
The default action is "comment". So if you only want to add a comment all you need to type is:
Note: the global links are removed before notifying the external service (see examples below).
To simplify a transition from already known syntax we offer the following synonyms for our actions:
- close: closed, closes, fix, fixed, fixes
- comment: addresses, re, references, refs, ref, see
Commenting a ticket with the number 23:
svn ci -m "work in progress [t:23]"
That will appear as the following comment in the configured ticketing system:
work in progress
Closing the same ticket in bugz:
svn ci -m "work in progress close[s:bugz, t:23]"
That will close the ticket and the following comment will appear in the configured ticketing system:
work in progress
Closing ticket numbers 12 and 13 and commenting on ticket 54:
svn ci -m "work in progress close[t:12] close[t:13] [t:54]"
This will close two tickets, and the following comment will appear in all three tickets:
work in progress
On TeamForge, Source control and TF must be in the same project, Ticket id looks like 'artf1023', and TeamForge doesn't support "closing" or "fixing" artifacts, you can just associate the commit with the artifact. For example:
svn ci -m "work in progress [t:artf1023,s:teamforge]"
On GIT, note that the Ticket Integration will be triggered on remote Pushes rather than local commits. And for it to work, you will need to have setup your git email and git user name to what is entered in your CloudForge account. (Environment Variables [GIT_AUTHOR_EMAIL] and [GIT_AUTHOR_NAME] or in git-config)
git config --local user.email "firstname.lastname@example.org"
git config --local user.name "John Doe"
On editing across multiple projects, you will want to specify the project and service in the commit message. Say you are working on project1's GIT repo, but want to comment on a Bugzilla bug in project2:
git commit -m "commenting on other project bug [t:3,p:project2,s:bugz]"