Share this page

# SCM data

This topic describes how you use the SCM data resource to send SCM data (repository, branch, commits) to the ALM Octane server.

In this topic:

## Overview

The SCM data synchronous resource sends SCM information to the ALM Octane server.

You must log in to the server using the authentication API before using this resource. When authenticating, you must have sharedspace admin permissions. For details on authenticating, see Authenticating.

Back to top

## URI

    .../api/shared_spaces/<space_id>/scm_commits

## Supported HTTP methods

This resource supports only the PUT operation if it finds a matching pipeline run.

To determine the PUT, ALM Octane checks the remote ID defined in the external static code analysis tool, and provided in the payload.

The unique commit identifier is parentRevId. If the revision ID is found in the context but for a different repository/branch, the commit will be linked to the other repository .

Back to top

## The request

The request syntax for injecting SCM information is:

`PUT .../api/shared_spaces/space_id/workspaces/<workspace_id>/scm-commits?instance-id='<instance_id>'&job-ci-id='<path_to_file>'&build-ci-id='<build_id>'`

When PUTing, specify:

- A query for identifying the pipeline run.

- A request body containing the JSON payload that conforms to this syntax.

- The Content-Type header field, set to application/json.

- Optionally, the content can be compressed in gzip format. In this case, the Content-Encoding header field must be set to application/gzip.

The following table describes how to identify the corresponding pipeline run in request:

Item | Field
--- | ---
CI server ID | instance-id
Job name, such as Jenkins | job-ci-id
Build ID | build-ci-id

Back to top

## The JSON payload in the request body

The payload in the request body describes the pipeline run that you want to update with SCM data.

You can specify more than one commit in the payload.

The payload uses the standard ALM Octane REST API syntax. Here is an example:

    [{
            "repository": {
                "type": "git",
                "url": " https://github.com/repository.git",
                "branch": "refs/remotes/origin/master"
            },
            "commits":
            [{
                    "user": "user",
                    "userEmail": "user@mail.com",
                    "time": "1586269223000",
                    "parentRevId": "e5358a5f1456aebbf5c436790179fe6b218def89",
                    "comment": "some comment",
                    "revId": "7583cc0704efd0ef96bbb4689a401d252adea821",
                    "changes": [{
                            "type": "edit",
                            "file": "src/…filePath/Example1.java",
                            "renameToFile": null,
                            "commitId": null
                        }
                    ]
                }, {
                    "user": "user",
                    "userEmail": "user@mail.com",
                    "time": "1586269223000",
                    "parentRevId": "e5358a5f1456aebbf5c436790179fe6b218def81",
                    "comment": "some comment",
                    "revId": "7583cc0704efd0ef96bbb4689a401d252adea822",
                    "changes": [{
                            "type": "edit",
                            "file": "src/…filePath/Example2.java",
                            "renameToFile": null,
                            "commitId": null
                        }
                    ]
                }
            ]
    }]

Field | Description
--- | ---
Repository | One element.
type | Tool type: “svn","git","starteam". Free text string.
url | URL to the SCM repository.
branch | Branch where commits were done.
Commits | Array.
parentRevId | Commit parentRevId, received from SCM tool.
revId | Commit revId, received from SCM tool.
comment | Commit comment, received from SCM tool.
time | Commit time, received from SCM tool.
userEmail | Email of the workspace user responsible for the vulnerability. ALM Octane uses this field to identify the user. Optional.
user | User name.
Changes | Array.
type | “edit”, “add”, “delete”. Free text string.
file | Changed file name.

Back to top

See also:

- Set up API access

- Add SCM data into ALM Octane (technical preview)

- Track changes committed to your Source Control Management system

https://admhelp.microfocus.com ALM Octane 8942
Tips to improve your search results... ALM Octane Help Center ALM Octane Help 16.0.100 All View Local Help Center View Online Help Center back Go back in browser history forward Go forward in browser history Remove search highlights next topic Go to next topic previous topic Go to previous topic Print the current topic Version: