Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is an Issue Connector?

Issue Connectors are used as a simple way of generating hyperlinks link fixes from commit/checkin messages to your issue tracking system. They work by detecting an issue id in your checkin messages and creating a hyperlink within the Continua CI environment to your issue tracking system.

Linking Commit/Checkin Issue Fixes

When Continua gets the latest changesets from your source repository, it automatically retrieves all commit/checkin messages associated with that changeset. If your source repository is linked to an issue connector then it will also try to parse the commit/checkin messages for issue ids. It Once an Issue Connector is created, you can assign it to a repository you've previously setup in Continua. Whenever the next build is started, the issue connector will get the change sets associated with the build then parse those change set commit messages for issue id's. It will then take those  issue id's from the commit message and generate a hyperlink to that issue in your issue tracking system. The  The list of hyperlinks will be displayed in the "Issues" tab when viewing a build. Issue Connectors do not interact with your issue tracking system, they just generate hyperlinks to it! It won't open or close issues or require any kind of login to your system.  

Why use an Issue Connector?

Suppose you have created a Configuration that builds your product using source code from a Repository. To make this happen you would need to attach that Repository to the Configuration. Once the Repository is attached to the Configuration it will start attaching change sets from that Repository to the Configuration. When the Configuration is next built it will get the relevant change sets from the Repository and attach them to the build. Lets say you 've have set up a Repository Trigger Repository Trigger so every time a check in is made to the Repository the Configuration , the configuration is built. In this scenarioEvery time a configuration is built, the build will have the change set always knows about the latest changeset, or in this case, the changeset that triggered the build. If  If your companiescompany's policy is to have meaningful commit messages that make references to reference your issue tracking system, then an Issue Connector can help out. The idea is that when something is checked into your Repository you insert the issue id into the commit message. With will link Continua to it. With an Issue Connector, you can give it a regular expression to parse retrieve the issue id . By also providing an Issue Server URL, you can tell the issue connector to take the id it parsed out of the commit message and insert it into the Issuer Server URL and make a hyperlink out of itand other information from the commit/checkin message and use them to create hyperlinks to a specific issue.

Example:

Set up an Issue Connector like so:

Issue Sever URL:  http  http://www.issues.com/issue/{id}

Commit Message Regex: #(?<id>\d+)

Assuming Assume a user commits something to the repository with the message "Fixed annoying deadlock bug, solves issue #29981". The Commit Message Regex in this example extracts any number that is preceded by the # (Hash) symbol. The Issue Connector would extract the value "29981" out of the commit message and use the Issue Server URL to generate the link "http://www.issues.com/issue/29981".

Creating and Editing Issue Connector

Issue Connectors can be created and edited in the Administration area, under the Continuous Integration section.

 

Issue Connector Rules and Restrictions

For an Issue Connector to work, the Commit Message Regex must have an id group.

The regular expression used to extract id's takes advantage of named groups. Whenever you use a named group in the regular expression it must have a corresponding tag in the Issue Server URL. 

...