Updated on 2025-03-28 GMT+08:00

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

Table 1 Path parameters

Parameter

Mandatory

Type

Description

repo_id

Yes

Integer

Explanation:

Repository short ID.

Constraints:

Mandatory

Range:

0–2147483647

Default value:

None

Request Parameters

Table 2 Request header 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

Table 3 Request body parameters

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.

Table 4 CommitAction

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

Table 5 Response body parameters

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:

  • success: The API call is successful.
  • failed: The API call failed.
Table 6 Error

Parameter

Type

Description

code

String

Explanation:

Error code.

Range:

Max. 100 characters in the error code format.

message

String

Explanation:

Error message.

Range:

None

Table 7 CreateCommitResponseBody

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.

Table 8 stats

Parameter

Type

Description

additions

Integer

Explanation:

Number of lines added in changes.

deletions

Integer

Explanation:

Number of lines deleted in changes.

total

Integer

Explanation:

Total number of changed lines.

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.