Integration between issue tracking system, CI server and VCS. Part 3 resolve an issue

This is the third part of my blogpost about integration between issue tracking system, CI server and VCS. Part 1 is about components setup. Part 2 is about project setup.

1. Use case scenario: resolve an issue

Use Case Name: Resolve an issue

Actor: Developer

1. Create a new issue in JIRA

Simple do Project->Issues->Create Issue
Assign the new issue.
Set time estimation.
Set issue state to “In Progress”

2. Create a new issue-branch in Stash
In the Development section of the new issue click one the Create Branch link.
createbranch
You will be redirected to Stash.
Choose right repository, choose right branch type depends on your branching name convention and issue type (feature, bugfix, hotfix etc), choose parent branch, leave new branch name as it is.
createbranch2

3. Resolve issue

Fetch changes from origin and checkout the new issue-branch.
Resolve the issue.
Update time tracking in JIRA: remaining time and estimated time if necessary.

4. Commit and merge
Commit changes.
Always add an issue key in commit message! Better in the beginning of the message. Otherwise changes sets will not be connected to the issue.
commit

Watch your commits in JIRA in the Source tab in the issue.
issuesource

 

5. Build in TeamCity
TeamCity builds issue-related branches.

tcbranchbuild

To enable this feature Branch specification must be configured in VCS root configuration.

tcbranchspecification

Read TeamCity documentation for more details.

If the issue-build was successful the merge changes with development branch and push.

TeamCity will build developmetn branch and now build result will be visible in JIRA in TeamCity tab.

jirabuild

Set issue status to Resolved.