このページを共有

# ALM Octane (テクニカルプレビュー) にSCMのデータを追加する

あなたはREST APIを使用してALM OctaneにSCM (ソースコード管理) データを挿入する方法については、このトピックを使用します。次に、ALM Octaneを使用して、コミットや、リポジトリやブランチなどの他の関連データを追跡し、コード分析を実行できます。

このトピックの内容:

## フロー

SCMデータをALM Octaneサーバーに手動で挿入するには:

1. 認証し、必要な権限を持つユーザーとしてサインインします。

2. SCMデータをALM Octaneにプッシュします。

3. プッシュのステータスを確認し、コミットデータとブランチデータを取得します。

トップに戻る

## SCMデータをALM Octaneにプッシュします

ペイロードでPUT操作を使用して、リポジトリ、ブランチ、コミットなどの新しいSCMデータエンティティを作成します。

一意のコミット識別子はparentRevIdです。リビジョンIDがコンテキスト内で見つかったが、別のリポジトリ/ブランチのものである場合、コミットは他のリポジトリにリンクされます。

構文をリクエストする

SCM情報を挿入するためのリクエスト構文は次のとおりです。

`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>'`

PUTするときは、次のように指定します。

- パイプラインの実行を識別するためのクエリ。

- 以下で説明するJSONペイロードを含むリクエスト本文。

- application/jsonに設定されたContent-Typeヘッダーフィールド。

- オプションで、コンテンツをgzip形式で圧縮できます。この場合、Content-Encodingヘッダーフィールドをapplication/gzipに設定する必要があります。

次の表に、リクエストで実行された対応するパイプラインを特定する方法を示します。

項目 | フィールド
--- | ---
CIサーバーID | instance-id
Jenkinsなどのジョブ名 | job-ci-id
ビルドID | build-ci-id

リクエスト本文のJSONペイロード

リクエスト本文のペイロードは、SCMデータで更新するパイプライン実行を記述します。

ペイロードに複数のコミットを指定できます。

ペイロードは、標準のALM Octane REST API構文を使用します。次に例を示します。

    [{
            "repository": {
                "type": "git",
                "url": " https://github.com/repository.git",
                "branch": "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
                        }
                    ]
                }
            ]
    }]

フィールド | 説明
--- | ---
Repository | 1つの要素。
type | ツールタイプ: 「svn」、「git」、「starteam」。フリーテキスト文字列。
url | SCMリポジトリへのURL。
branch | コミットが行われたブランチ。
Commits | 配列。
parentRevId | SCMツールから受け取ったparentRevIdをコミットします。
revId | SCMツールから受け取ったrevIdをコミットします。
comment | SCMツールから受け取ったコメントをコミットします。
time | SCMツールから受け取ったコミット時間。
userEmail | コミットを担当するワークスペースユーザーの電子メール。ALM Octaneは、このフィールドを使用してユーザーを識別します。オプション。
user | ユーザー名。
Changes | 変更の配列。オプション。
type | “edit”、“add”、“delete”フリーテキスト文字列。
file | ファイル名を変更しました。

トップに戻る

## 結果の確認

成功すると、戻りコード200が返されます。

SCMデータがALM Octaneに正しくプッシュされていることを確認してください。

1. 発生した可能性のあるエラーがないか応答を確認してください。

2. コミットがALM Octaneに存在するかどうかを確認します。詳細については、ソースコントロール管理システムにコミットされた変更の追跡を参照してください。

コミットおよびブランチデータを取得する

GET操作を使用して、既存のscm_commitsとそのIDを確認できます。

`GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/scm_commits`

以下の例を参照してください。

GET操作を使用して、既存のSCM branchesとそのIDを確認できます。

`GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/scm_repositories`

トップに戻る

## 例

たとえば、リクエストには次のようなものがあります。

    例: GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/scm_commits/1213269?fields=creation_time,client_lock_stamp,stories,version_stamp,commit_time,revision,workspace_id,repositories,name,workspace_user,risk,comment,last_modified,user,email

ワークスペースユーザー、リポジトリ、およびストーリーがない場合、応答は次のようになります。

    例: GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/scm_commits/1213269?fields=creation_time,client_lock_stamp ,version_stamp,commit_time,revision,workspace_id,name,risk,comment,last_modified,user,email

    {
        "type": "scm_commit",
        "last_modified": "2020-08-22T22:31:25Z",
        "revision": "53e564566a75fcc073a5ed0dd71bad0f0f588855",
        "creation_time": "2020-08-20T08:34:10Z",
        "user": "userName",
        "risk": false,
        "comment": "user story #1053020. user story 11111111",
        "commit_time": "2020-08-20T08:33:06Z",
        "name": "commit name",
        "workspace_id": 33006,
        "id": "1213269",
        "version_stamp": 14,
        "client_lock_stamp": 1
    }

SCMデータを使用すると、応答は次のようになります。

    例: {
        "type": "scm_commit",
        "last_modified": "2020-08-22T22:31:25Z",
        "revision": "53e564566a75fcc073a5ed0dd71bad0f0f588855",
        "creation_time": "2020-08-20T08:34:10Z",
        "user": "evgene.lock",
        "risk": false,
        "comment": "user story #1053020. user story 11111111",
        "commit_time": "2020-08-20T08:33:06Z",
        "name": "commit name",
        "workspace_id": 33006,
        "id": "1213269",
        "version_stamp": 14,
        "client_lock_stamp": 1,
        "stories": {
                "total_count": 1,
                "data": [{
                               "type": "work_item",
                               "id": "1053020",
                               "name": "US1",
                               "subtype": "story"
                       }
                ]
        },
        "repositories": {
                "total_count": 1,
                "data": [{
                               "type": "scm_repository",
                               "scm_source_view": null,
                               "scm_type": 2,
                               "scm_diff": null,
                               "workspace_id": 33006,
                               "branch": "master",
                               "id": "324004",
                               "name": "repository.git:master",
                               "url": "https://github.com/repository.git"
                       }
                ]
        },
        "workspace_user": {
                "type": "workspace_user",
                "id": "117001",
                "workspace_id": 33006,
                "activity_level": 0,
                "full_name": "User Name",
                "name": "userName@mail.com"
        }
    }

トップに戻る

参照情報:

- SCMデータ
- APIアクセスのセットアップ
- ソースコントロール管理システムにコミットされた変更の追跡

https://admhelp.microfocus.com ALM Octane 8942
検索結果を改善するためのヒント... ALM Octaneヘルプセンター ALM Octaneヘルプ 15.1.90 すべて ローカルヘルプセンターを表示 オンラインヘルプセンターを表示 戻る ブラウザーの履歴内を戻る 進む ブラウザーの履歴内を進む 検索のハイライトを削除する 次のトピック 次のトピックに進む 前のトピック 前のトピックに戻る 現在のトピックを印刷 バージョン: