How to integrate Visual Annotate with any bug \issue tracker?
Q: How to integrate Visual Annotate with bug \issue trackers in order to get full code-line with bug\issue ** traceability?
A: Now with Visual Annotate v3.5, you can link any specific code line with the related bug\issue. This can give you full traceability and save you hours or even days when you have to explore a bug or maintain old code lines or legacy systems.
For instance, by hovering on a certain code line, you can quickly find out which bug fixing modified this line, by whom it was modified, when the fix was applied, whether the bug was resolved, etc.
Thus far we supported integration with Rational ClearQuest and RTC (Rational Team Concert) only, but now you can integrate it with many bug trackers, including Excel sheets and Jira. It can also support non-Windows bug trackers (such as running on Linux or UNIX).
You can also decide which specific fields to show on tooltip.
How does it work?
We built this feature to support both UCM and Base ClearCase.
It is based on a CSV (Comma Separated Variable) file which maps the key fields and contains all of the relevant data that you want to be displayed on tooltip (as seen above). See examples:
ClearCase UCM
1. Add the following line to the configuration INI file that’s placed in %appdata%\GoMidjets\Annotate3\define.ini under [General] section
ExternalInfoUCM =<file location>
For instance:
ExternalInfoUCM = \\servername\myfolder\cc-ucm-with-defects-integration.csv
This line has to be added to each Visual Annotate client.
2. Edit the CSV file (in our example it’s named cc-ucm-with-defects-integration.csv)
The first line defines the field names and the order you want it to be displayed on tooltip:
ActivityID, Severity, Priority, Due Date, Description
In the example above, we define the Severity, Priority, Due Date and Description. Fields are separated by comma “,” characters – do not use this character for other purposes.
Now you have to enter a line for each activity with all relevant data. The first field in each line is always the activityID:
F2343, 5, 1, E6067
B2344, 4, 1, E6068
E5063, 5, 1, 8/18/2014, work with direct UNC
In this example we entered 3 activities and their details.
Finally you will get a file like this one: https://www.almtoolbox.com/download/cc-ucm-with-defects-integration.csv
When hovering on code lines, the tooltip looks like this: [picture]
Base ClearCase
1. Add the following line to the configuration INI file that’s placed in %appdata%\GoMidjets\Annotate3\define.ini under [General] section:
ExternalInfoBase = <file location>
For instance:
ExternalInfoBase = \\servername\myfolder\cc-ucm-with-defects-integration.csv
This line has to be added to each Visual Annotate client.
2. Edit the CSV file (in our example it’s named cc-base-with-defects-integration.csv)
The first line defines the field names and the order you want it to be displayed on tooltip. For instance:
VersionID,Issue ID, Issue Status, Isseu Due Date,Issue Severity,Issue Priority,Issue Description
In the example above, we define the VersionID (a mandatory field), Issue ID, Status, Due Date, Severity, Priority and Description. Fields are separated by comma “,” characters – do not use this character for other purposes.
Now you have to enter a line for each version, including all relevant data. The first field in each line is always the file versionID:
\VOB\myfile.cpp@@\main\1,BANK-5064,Resolved,10/12/2014,3,4, work with direct UNC
\VOB\myfile.cpp@@\main\2,BANK-5067,Resolved,10/13/2014,2,4, fix problem with direct UNC
In the example above we entered two file versions and their details.
You wind up with a file like this one: https://www.almtoolbox.com/download/cc-base-with-defects-integration.csv
When hovering on code lines, the tooltip looks like this:
Please note: VersionID must include VOB tag plus filename and folders within the VOB plus file-version path, using the following convention:
\VOB\myfile.cpp@@\main\1
Here is another examlpe (of the same convention):
\VOB\folderA\folderB\myfile.cpp@@\main\branchC\branchD\11
You have to build\generate this CSV file. You control the data it contains and the field’s order and display.
How to generate such a file?
There are many options. The optimal choice depends on your preferences and how you work. Here are a few suggested options:
You can generate this file manually (that’s the quickest and easiest way to check that it works for you when you evaluate this feature – you only have to add a few words manually and make sure it works for you)
You can use ClearCase triggers to ensure that users link checked-out and checked-in files with issues or bug IDs, and then add the Issue data to the CSV mapping file.
From the other direction, you may add a Field to Issue form. Users must specify UCM activity name or file version when they submit the issue, and they can add this data to the CSV mapping file. This may require deep knowledge in issue tracker capabilities or API usage (if exists).
There are other ways as well, but ultimately, the mapping file must be in the form we suggested above.
So far we have used this file to map ClearCase with the following bug\issue tracking tools: ClearQuest, RTC, HP Quality Center and Atlassian JIRA. We know that it can work with many other tools like Microsoft TFS, Bugzilla, Mantis and more.
Our team can help you to quickly build this integration and achieve best performance. Contact our support team at support@almtoolbox.com
How does this CSV file work with Visual Annotate?
When Visual Annotate is launched, it loads the relevant CSV file (if configured) to the tool’s cache memory. Then, when you hover on a code line, it finds the relevant UCM activity or file version, and checks if there are further data in the memory. If so – it displays the data on the tooltip.
We use a smart algorithm to load and retrieve all data quickly and efficiently.
Are you working on UNIX \Linux?
You can generate the mapping CSV file on UNIX \Linux as well, and in the same way as described above!
Visual Annotate works on Windows only **, but it can read CSV files even when they are generated on Linux. You have to share this CSV file to make it readable from the Windows side through Samba (SMB , NFS protocols or any other way.
For instance, you can share the file in this way:
\\linux\folder\mapfile.csv
** Some tracker tools call it "Bug tracker" while others call it "Issue tracker", so we decided to name them "Bug \Issue Trackers".
*** Soon we will release Visual Annotate for UNIX \Linux ClearCase clients and remote ClearCase Windows clients.