SCMデータ

このトピックでは、SCMデータリソースを使用してSCMデータ (リポジトリ、ブランチ、コミット) をALM Octaneサーバーに送信する方法について説明します。 

概要

SCMデータ同期リソースは、SCM情報をALM Octaneサーバーに送信します。

このリソースを使用する前に、認証APIを使用してサーバーにログインする必要があります。認証するときは、共有スペースの管理者権限が必要です。認証の詳細については、認証を参照してください。

トップに戻る

URI

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

サポートされているHTTPメソッド

このリソースは、一致するパイプラインの実行が見つかった場合にのみPUT操作をサポートします。

PUTを決定するために、ALM Octaneは、外部静的コード分析ツールで定義され、ペイロードで提供されるリモートIDをチェックします。

一意のコミット識別子は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": "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
                    }
                ]
            }
        ]
}]
フィールド 説明
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 ファイル名を変更しました。

トップに戻る

参照情報: