Track changes committed to your Source Control Management system
If your CI server is set up to work with a Source Control Management (SCM) system, such as Git or Subversion (SVN), ALM Octane can help you track committed changes. See also Source Code Management (SCM) integrations.
ALM Octane pipelines display the commits associated with each run of the pipeline.
You can associate a commit with specific backlog items (user stories, quality stories, or defects). For details, see Associate commits with backlog items.
You can track the committed changes and their affect on release and build quality. You can view the following information in ALM Octane:
In a pipeline run, the list of backlog items and commits associated with the pipeline run.
In a pipeline overview, the number of committers and commits included in the pipeline's latest run.
In a pipeline run's analysis, the commits that are related to failed automated test runs.
In the backlog:
Inside a backlog item, the list of commits related to the item.
Inside an epic or feature, the list of commits associated with backlog items defined under the epic or feature.
In the Team Backlog module, the list of commits committed by the members of the selected team.
The risk indicator near commits or features indicates changes committed in sensitive areas of code.
Note: When working with GoCD, ALM Octane displays commits and their associations with ALM Octane entities. The list of files included in each commit is not available.
Here are a few ways that you can use commit tracking information:
Note: Roles can be customized. Roles and their permissions might be different for your organization.
As a developer, when you commit a change to your SCM system, enter a commit message with the ID of the defect, user story, or quality story related to this change.
When the pipeline associated with your change runs, this information is passed to ALM Octane.
When you open the backlog items in ALM Octane, you and your team leader get a clear picture of the files that you changed for each backlog item you worked on.
As a dev team leader, view the team members' commits and how they relate to the items in the team backlog.
As a developer or DevOps engineer, match build failures to specific changed files and specific backlog items.
As a tester, after verifying that a pipeline run was successful and automated tests passed, determine the areas that contain significant changes and require manual testing.
As a developer, identify sensitive areas in your code, which are risky to change. You may want to simplify and refactor the code and increase testing around the functionality it covers. This should reduce the risk of future changes causing quality issues. For details, see Identify hotspots in your code.
As a developer or Dev tester, identify commits that seem to be related to failing automated tests. You can also see which commits are riskier than others because they affect hotspot files.
As a project manager or PMO, identify features with risky commits and consider increasing testing on these features, or postponing their release.
- Make sure a pipeline was created on a CI server that works with an SCM system. For details, see Create and configure pipelines.
When committing a change to your SCM system, the commit message should include one of the Commit message patterns defined on the DevOps > Commit Patterns settings page. You can modify the default commit message patterns using Java regular expressions. For details, see Customize commit message patterns.
The default commit message patterns are:
defect #<defect id>
user story #<user story id>
quality story #<quality story id>
The message syntax is not case sensitive.
You can associate commits with backlog items either automatically or manually.
Commits and backlog items have a many-to-many relationship, meaning that you can associate multiple commits with multiple backlog items.
To associate commits automatically
When committing a change to your SCM system, add the commit pattern as defined in Customize commit message patterns.
To associate your commit with multiple backlog items, enter commit comments as in the following examples:
Defect #1001, User story #1002: I changed all of the blue icons to green ones.
Fixed the issue of screen not refreshing. Defect #1001, Defect #1002.
To associate commits manually
You can associate commits with backlog items manually from:
- A specific pipeline
- Any Commit tab in ALM Octane, such as the one in the Team Backlog module
- backlog items
- In the Commits tab, select the commits that you want to associate with the backlog items, and then click Link to stories.
- In the Add backlog items dialog box, add the items that you want to associate with the commit.
- To remove the link, from the commit's Backlog Items tab, select the item, and then click Remove link from commit.
- In the Details tab of the backlog item that you want to associate with a commit, click the Link to Commits button.
- In the Add commits dialog box, add the commits that you want to associate with the item.
- To remove the link, from the backlog item's Commits tab, select the item, and then click Remove link from story.
In the Pipelines module, open the Pipelines tab and select a pipeline.
Open a specific pipeline run:
To open the last run, click the pipeline's Run number.
To open a previous run, click the pipeline's ID to open the pipeline. In the Runs tab, click the ID of a specific run.
You can find the following information, and more:
In the Tests tab, view commits that seem to be related to failing automated tests. For details, see Analyze tests.
In the Commits tab, view the commits included in this pipeline run. For more details, see Use the Commits tab to track committed changes.
In the Backlog Items tab, view the defects, user stories, and quality stories associated with the pipeline run's commits. To associate backlog items with a commit you must list the items in commit messages using the correct syntax.
For each backlog item, you can see information about the item and the associated commit. For example:
The item's ID, name, and phase.
The number of commits associated with the item.
The names of the users who committed the changes.
The number of files added, modified, or deleted by those commits.
Click a backlog item's ID if you want to open the item and view more details.
If the pipeline is configured to notify committers upon run failure, users receive an email if a pipeline run that included their commits fails.
You can edit this option in the pipeline's Details tab.
Each user receives an email about their own commits. The email lists the commits, the failed builds, and the failed tests (limited to a certain number of items). It also includes a link to the relevant pipeline run's Tests tab.
To track commits associated with backlog items, do one of the following:
Use the Commits tab in backlog items to find all commits related to specific backlog items. For details, see Use the Commits tab to track committed changes.
Use dashboard widgets to track and analyze your SCM changes, and their impact on your backlog. For details, see Use the dashboard to analyze your commit activity
The Commits tab displays all changes that were associated with ALM Octane backlog items using SCM commit messages in the correct syntax.
You can find the Commits tab inside a pipeline run or a backlog item, or in the Team Backlog module.
|Which commits do you want to see?||Where do you open the Commits tab?|
|Commits associated with a pipeline run.||
|Commits associated with a backlog item via commit messages.||
Click a backlog item's ID. For example, in Backlog, Team Backlog, Defects.
|Commits associated with backlog items defined under an epic or feature.||
Click the ID of an epic or feature. For example, in Backlog or Quality module.
|Commits committed by the members of a team, during the time frame of the selected release and sprint.||
In the Team Backlog, select the relevant team.
Click a specific team member in the Team pane on the right to see only that person's commits.
In the Commits tab:
For each commit, you can see additional information, such as the name of the user who committed it, the commit message (comment), and more.
Optionally, add columns to the grid to see more information. For example, the Risk column displays a risk indicator if the commit includes a change to a sensitive area of code (a hotspot).
The Repository column is only relevant if you are working with Git or SVN.
You can filter the information in this tab, for example, by the name of the user who committed the change.
Tip: To filter by user, make sure your SCM users are mapped to ALM Octane users. For details, see Map SCM users to ALM Octane users.
If you are the user who committed the change, but your SCM user is not yet mapped to your ALM Octane user, click to create the mapping.
Select a specific commit. The list of files included in this commit is displayed on the right. If the SCM system provides the information, ALM Octane differentiates between edited, added or deleted files.
Note: If you have file names in Git that contain Unicode characters and you want to see them in ALM Octane, update your Git configuration as follows:
git config --global core.quotePath false
For each changed file listed in a Commits pane, ALM Octane can provide HTTP links to the file view and diff view in your repository viewer. To enable this, configure templates for the HTTP links. For details, see Enable linking to your repository viewer (Git or SVN only).
Create custom widgets based on commits in the Dashboard or the Backlog Overview.
Alternatively, use the predefined widgets that ALM Octane provides in the Dashboard's DevOps & Analytics category.
Use the Impact of changes widgets to discover the impact of source code changes.
Discover which backlog items and application modules were worked on recently, and see the number of commits related to each. This can also give you an idea of the areas that need to be tested more thoroughly.
- The association of commits with features and application modules is made via the user story or defect mentioned in a commit's message.
By default, these widgets include commits made in the last 30 days. You can change the time frame in the Scope tab of the widget editor.
When analyzing pipeline run failures, ALM Octane displays the commits that may be related to test run failures. For details, see Expand your test failure analysis.
Identifying the users who commit SCM changes as ALM Octane users lets you analyze the commit information using ALM Octane widgets, filters, and so on.
If the email address defined for an SCM user is identical to the one defined for an ALM Octane user, the users are mapped automatically when changes they commit are discovered.
Tip: Make sure that your SCM system is configured to share commit authors with your CI server. For example, in the Jenkins GIT plugin, set the option Use commit author in changelog .
Otherwise, your space admin can map the users manually. For details, see Assign roles and permissions.
Alternatively, individual ALM Octane users can map themselves to unmapped SCM users listed in Commits tabs. For details, see Use the Commits tab to track committed changes.
On-premises: I don't see any commit information on the pipeline
If the ALM Octane server was restarted while the pipeline was running, change information will be available only after the pipeline runs. Try running the pipeline again.
I don't see any commits associated with my backlog items, or vice versa
Make sure your commit messages follow the correct syntax.