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.

Overview

ALM Octane pipelines display the commits associated with each run of the pipeline.

In your SCM system, use commit messages to associate changes with specific ALM Octane backlog items (user stories, quality stories, or defects).

In ALM Octane, you can now track the committed changes and their affect on release and build quality. You can view the following information in ALM Octane:

  • In pipelines: 

    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.

Back to top

Use cases for tracking commits 

Here are a few ways that you can use commit tracking information:

  • 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 development 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.

Back to top

Prerequisites

  • Make sure the workspace admin or DevOps admin has created a pipeline on a CI server that works with an SCM system. For details, see Create and configure pipelines.

  • If you want to associate changes with ALM Octane backlog items, include the ID of the related ALM Octane backlog item in your commit message.

    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. A workspace admin 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 also associate your commit with multiple backlog items, like in these 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.

Back to top

Track commits associated with a pipeline run

  1. In the Pipelines module, open the Pipelines tab and select a pipeline.

  2. 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.

Back to top

Track commits associated with backlog items

To track commits associated with backlog items, do one of the following:

Back to top

Use the Commits tab to track committed changes

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.

To see ... Open the Commits tab in ... How ?
Commits associated with a pipeline run. A pipeline run.
  1. Open the Pipelines module.
  2. Select a pipeline.
  3. Click the pipeline's ID to open it.
  4. In the Runs tab, click the ID of a run.
Commits associated with a backlog item via commit messages. A defect, user story, or quality story.

Click a backlog item's ID. For example, in Backlog, Team Backlog, Defects.

Commits associated with backlog items defined under an epic or feature. An epic or a 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. The Team Backlog.

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.

  1. 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.

  2. 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 Map SCM user to my ALM Octane user to create the mapping.

  3. 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
  4. 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, a workspace admin must configure templates for the HTTP links. For details, see Enable linking to your repository viewer (Git or SVN only).

Back to top

Use the dashboard to analyze your commit activity

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.

For example: 

  • 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.

    Note:

    • 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.

Back to top

In the Tests tab, find commits related to failures

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.

Map SCM users to ALM Octane users

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.

Back to top

Troubleshooting

  • 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.

See also: