0
votes

I would like to get the issue list from Bugzilla and JIRA for an open-source project. For each issue, I'd like to collect the corresponding compilation units(for java projects, class/or interfaces files), which may relate to the issue.

Any idea on implementing this feature would be appreciated.

Many thanks!

2

2 Answers

1
votes

For JIRA, there are some solutions out there you could use out of the box. See the documentation to integrate with source control for JIRA how to do it. This only works for some source control systems, you should which ones are supported. This gives you a list of change sets (e.g. for Subversion) for each issue.

Another approach could be to do it on your own through an interface to the source control system yourself. The following prerequisits have to be in place:

  • Your developers have the tools to add the information which issue was worked on by which commit on a per commit base.
  • You have rules that changes to the sources should all the time being done only for one issue at one time.
  • You are able to parse the additional information you will get from your version control system e.g. by a script or a program.

For Subversion and JIRA, it could work like that:

  1. Ensure that all commits are only done if the Subversion commit message contains at least one JIRA ticket number. You may even ensure that by a pre-commit hook
  2. Learn how to get the following information from the subversion log
    • The ticket IDs (by parsing the message) for each change set
    • The files that had changes for each change set
  3. Collect for each file all tickets.
  4. Show them in a format you like.

I think that this is not too useful, because ticket per class is too fine grained. Perhaps you should have a mapping of the files to modules, sub-projects, ... and collect tickets for them.

All solutions will be different depending on your selection of tools. JIRA and Subversion are here just examples :-)

0
votes

The best way is to first integrate your issue tracking system with your source control. That means that whenever a developer commits a new change, it determines the set of issues related to this change. This linkage is managed by your issue tracking system and it can show you all the source files, resource files, config files that have changed in the context of an issue.

This info, will be available through the api of that issue tracking system as well.