Creating a Commit
Function
This API is used to commit multiple files in different directories at a time. If the directory does not exist, the system automatically creates a directory. The forcible overwrite option is supported. When the forcible overwrite flag is set to true, the conflict is ignored and the configuration is forcibly committed.
URI
POST /v2/projects/{repo_id}/repository/commits
Parameter | Mandatory | Type | Description |
|---|---|---|---|
repo_id | Yes | Integer | Explanation: Repository short ID. Constraints: Mandatory Range: 0–2147483647 Default value: None |
Request Parameters
Parameter | Mandatory | Type | Description |
|---|---|---|---|
X-Auth-Token | Yes | String | Explanation: User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. Constraints: Mandatory Range: 1–100,000 characters. Default value: None |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
branch | Yes | String | Explanation: Target branch. Constraints: Mandatory Range: Minimum length: 1 Maximum length: 200 Default value: None |
commit_message | Yes | String | Explanation: Commit message. Constraints: Mandatory Range: Minimum length: 0 characters Maximum length: 2,000 characters Default value: None |
start_branch | No | String | Explanation: Name of the new branch. Constraints: None Range: Minimum length: 1 Maximum length: 200 Default value: None |
actions | Yes | Array of CommitAction objects | Explanation: Commit processing list. Constraints: None Range: Minimum length: 1 Maximum length: 100 characters Default value: None |
author_email | No | String | Explanation: Committer email address. |
author_name | No | String | Explanation: Committer name |
stats | No | Boolean | Explanation: Whether to include commit statistics. The default value is true. |
force | No | Boolean | Explanation: Whether to overwrite the target branch. When the value is true, overwrite the target branch with a new commit based on start_branch. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
action | Yes | String | Explanation: Operations to be performed: create, delete, move, update, and chmod. Constraints: Mandatory Range: create, delete, move, update, chmod Default value: None |
file_path | Yes | String | Explanation: Complete path of the file. For example, lib/class.rb. Constraints: Mandatory Range: None Default value: None |
previous_path | No | String | Explanation: Original full path of the file to be moved. For example, lib/class1.rb. This parameter is valid only when the move operation is performed. Constraints: None Range: None Default value: None |
content | No | String | Explanation: File content. This parameter is mandatory for the create and update operations. A move operation that does not specify content retains the existing file content, and any other value of the content overwrites the file content. Constraints: None Range: None Default value: None |
encoding | No | String | Explanation: File encoding: text and base64. The default value is text. Constraints: None Range: None Default value: None |
last_commit_id | No | String | Explanation: Last known commit ID. This parameter is valid only when the update, move, or delete operation is performed. Constraints: None Range: None Default value: None |
execute_filemode | No | Boolean | Explanation: Enable or disable the execution mode of a file. This parameter is valid only when the chmod operation is executed. Constraints: None Range: None Default value: None |
Response Parameters
Status code: 200
Parameter | Type | Description |
|---|---|---|
error | Error object | Explanation: Response error code. |
result | CreateCommitResponseBody object | Explanation: Response result. |
status | String | Explanation: Response status of the API. Range:
|
Parameter | Type | Description |
|---|---|---|
code | String | Explanation: Error code. Range: Max. 100 characters in the error code format. |
message | String | Explanation: Error message. Range: None |
Parameter | Type | Description |
|---|---|---|
id | String | Explanation: SHA ID of a commit. |
short_id | String | Explanation: Short SHA ID of a commit. |
title | String | Explanation: Commit title. |
author_name | String | Explanation: Author. |
author_email | String | Explanation: Author email. |
committer_name | String | Explanation: Committer. |
committer_email | String | Explanation: Committer email. |
created_at | String | Explanation: Creation time. |
message | String | Explanation: Commit message. |
parent_ids | Array of strings | Explanation: Parent commit ID. |
committed_date | String | Explanation: Commit time. |
authored_date | String | Explanation: Author commit time. |
stats | stats object | Explanation: Statistics. |
Example Requests
POST https://{endpoint}/v2/projects/859341/repository/commits
{
"branch" : "master",
"commit_message" : "some commit message",
"actions" : [ {
"action" : "create",
"file_path" : "test001.txt",
"content" : "some content"
} ]
} Example Responses
Status code: 200
OK
{
"result" : {
"id" : "85a0a9d5c6e43bc9c3e443ac01f789e24eeef02b",
"title" : "some commit message",
"message" : "some commit message",
"short_id" : "85a0a9d5",
"author_name" : "repo",
"author_email" : null,
"committer_name" : "repo",
"committer_email" : null,
"created_at" : "2021-09-26T03:44:51.000Z",
"parent_ids" : [ "5c114bb316dff4d4a046e09a5c44c816f2433140" ],
"committed_date" : "2021-09-26T03:44:51.000Z",
"authored_date" : null,
"stats" : {
"additions" : 1,
"deletions" : 0,
"total" : 1
}
},
"status" : "success"
} Status Codes
Status Code | Description |
|---|---|
200 | OK |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

