Blogroll Guest posts

Maximize Power and Efficiency with Integration of TeamCity and Issue Tracker

This guest post is brought to you by StiltSoft.

stiltsoft_logoStiltSoft is a small team of Atlassian Experts and avid fans of JIRA and Confluence. StiltSoft is the Atlassian Verified vendor that develops TeamCity Integration for JIRA add-on. This add-on allows you to fetch commit data from a TeamCity server and show the relevant information for each associated JIRA task.

The 21st century is being driven by digital data streams that bring gigabytes of data to some processing server that combines, aggregates, and transforms them into user-friendly forms. Nowadays global systems receive data from multiple systems, and this cannot be imagined without complex integrations, data conversion, optimization, and adaptation to the central processing data storage.

Software development is one of the most data-consuming spheres, which also tries to bring order to these data streams and set the right direction for them. Software development requires the continuous tracking of all changes made in the program code, instant real-time update of the relevant information, and easy-to-use interface.

Software development cannot exist without a continuous integration server and an issue tracking platform. TeamCity is one of the most popular continuous integration servers that offers out-of-the-box integration with multiple issue tracking systems and provides easy instructions for establishing integration with other systems or applications.

Basic Principles of Integration

TeamCity server can be quickly and easily integrated with the following issue tracking systems:

The integration is established on the basis of the tracker connection, and the administrator has to select the appropriate issue tracking system:

1_teamcity_integration_form

The configuration of the connection to the issue tracker is quite simple and does not require much time or experience. The set of parameters differs a little bit because of the target system specifics.

Integration with issue tracking systems requires the following:

  • Server URL – the URL address of the issue tracker
  • Username and Password – the account credentials for data transfer and retrieval
  • Project Keys/IDs – the unique keys/IDs of projects that will be used for matching issues to TeamCity builds

2_teamctiy_connection_settings_configuration

If integrating with YouTrack or JIRA, you can automatically fetch all project keys or IDs from the issue trackers. This is quite convenient as you don’t need to enter all project keys but instantly fetch them from the issue tracker.

When a developer commits code changes he can leave a VCS comment, which will be further shown in TeamCity.

3_teamcity_build_details_page

Issue IDs or keys can be left in VCS comments and are used during integration for matching builds to issues and showing the corresponding information.

4_teamcity_viewing_related_issue_to_build

You can view the issue log for the whole branch. It shows the list of issues from the issue tracking system and the status of each issue. If needed, you can instantly proceed to the issue tracking system by clicking the issue link.

5_teamcity_viewing_issue_log

TeamCity and YouTrack: Out-of-the-box Integration

Output of build data in issues of issue tracking system is even more valuable and useful than showing issues in TeamCity. Display of this data allows multiple teams of developers and quality assurance engineers to better collaborate and interact during the project development.

6_youtrack_teamcity_build_data_tab

In YouTrack, the following data is available:

  • User who committed a piece of code
  • Date of commit
  • Related issue from VCS comment
  • Modified files

If a build was run with a special command, the corresponding information will be displayed.

But before the TeamCity build data is shown in YouTrack, the administrator needs to configure access to the TeamCity Server, which includes the server address, user credentials, and connection timeouts.

Once the connection is established, the administrator has to define the project mapping in TeamCity and YouTrack, as follows:

7_youtrack_teamcity_mapping_creation

Once this is done, the administrator needs to manually run the synchronization and then the TeamCity data will appear in YouTrack.

If integrating TeamCity with YouTrack, you can also use special commands to automatically perform basic operations on the referenced issues once you have committed changes. For example, you can add into the VCS the ‘#ID-2544 Fixed‘ comment, so the current issue will be changed to the Fixed status. You can add a comment for multiple issues, as follows ‘(#TST-12, #TST-324, #TST-433) Fixed Reviewed by john.d Revision ${revision}‘ or log work for the issue ‘ID-2544 Fixed work 3h‘.

This native integration is developed by JetBrains, so they added as many as possible features for profound interaction between TeamCity and YouTrack. Besides the retrieval of build data and its display in YouTrack, you can trigger remote actions that can simplify the overall experience and automatically initiate specific remote actions in the issue tracking system. A capability to quickly switch between TeamCity and YouTrack will also positively influence performance of developers.

Integration between YouTrack and TeamCity provides you with a seamless way to interact with TeamCity and continuously get updated data. This solution is ideal for experienced bearded developers digging through tons of code as they will reveal all its capabilities and will use them in their everyday work.

TeamCity and JIRA: Integration with Ease

Integration of TeamCity and JIRA can be done by means of StiltSoft’s add-on – TeamCity Integration for JIRA.

The add-on adds a dedicated tab on the Issue View screen and allows you to find out the following information:

  • builds associated with the current issue
  • unique build number
  • build start time
  • build duration
  • status of tests run after build completion
  • the user who committed files
  • commit log

If needed, the user can click the appropriate link and seamlessly proceed to the TeamCity section containing details about the specific item. If having multiple commits associated with the current issue, you can filter them by status, build period, agent, and project.

8_jira_teamcity_build_data_details

In the dedicated section for each project, you can view the current build activity for your projects and quickly find which modifications have been already completed.

Optionally, you can add two gadgets to JIRA dashboard. The first gadget allows you to output the activity stream from TeamCity server, the other one shows the list of available build agents so you can easily monitor what agents are available at the moment and launch tasks for the current agents.

9_jira_teamcity_dashboard_widgets

The add-on supports integration with multiple TeamCity servers and with JIRA Data Center. The administrator needs to configure an application link to fetch data from one or multiple TeamCity servers. While configuring an application link, the administrator needs also to enter the address of TeamCity server and enter credentials of the user account having access to this server. The configuration process is quite quick and intuitive.

10_jira_teamcity_server_application_links

This integration differs a bit from the native integration between TeamCity and YouTrack. Intuitive setup of the add-on and its flexible configuration allow you to adjust data indexation and its performance. The output of build data, as well as availability of TeamCity agents, positively influences the development process.

This solution will be ideal for developers, project managers, and software test engineers as each of them will use specific features needed in their everyday work. So PMs can monitor the status of projects with the gadgets shown on the dashboard, the software test engineers can find details on the changes added in each commit and check the status of run tests, and developers will be able to seamlessly transition to TeamCity to view details if needed.

TeamCity and BugZilla: One Way Ticket

Unlike YouTrack and JIRA, BugZilla does not support two-way integration between TeamCity and the issue tracker. So you cannot view the TeamCity build data in BugZilla in the same way as you can in YouTrack and JIRA.

Anyway, the data from BugZilla can simplify your experience with the continuous integration server, as you can quickly and easily get data about the issues mapped to the current build and commit.  This solution is the least convenient and user-friendly, so you’d better start with it once you have tried the two solutions mentioned above… just to return to them after 5 minutes spent in BugZilla :-)

TeamCity and Issue Tracker Integration: To Be or Not To Be

So is it worth establishing integration between TeamCity and issue tracker? Definitely, yes. And there are several reasons for this:

  • Your data is automatically mapped in your TeamCity and issue tracker.
  • You can easily track all updates and modifications in your projects.
  • You can quickly find out what, when, and by whom was committed to the project repostory.
  • Your development and quality assurance teams can work much more efficiently.

Want more? Try to integrate TeamCity and issue tracker and find out benefits for your company!

image description