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 | ファイル名を変更しました。 |
参照情報: