Comparing Branches, Tags, and Commits
Function
This API is used for branch, tag, and commit comparison.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
Authorization Information
Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
| Action | Access Level | Resource Type (*: required) | Condition Key | Alias | Dependencies |
|---|---|---|---|---|---|
| codeartsrepo:repository:getRepository | Read | - | - | - | - |
URI
GET https://{hostURL}/v4/repositories/{repository_id}/compare
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| repository_id | Yes | Integer | Definition You can call the API used to query all repositories of the user to query the project list to obtain the repository ID. Constraints N/A Default Value N/A Value range: 1~2147483647 |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Definition User token. You can obtain the token 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 N/A Range A string that can contain 1 to 100,000 characters. Default Value N/A |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| X-Total | String | Commit, branch, and tag comparison result. |
| Parameter | Type | Description |
|---|---|---|
| commit | CommitDto object | Commit information |
| commits | Array of CommitDto objects | Commit information list |
| diffs | Array of DiffDto objects | Chang file information |
| diffs_files | Array of DiffDto objects | Chang file information |
| compare_timeout | Boolean | Timed out or not |
| compare_same_ref | Boolean | Same or not |
| conflict_files | Array of ConflictFileDto objects | Conflict file |
| added_lines | Integer | Number of added lines Value range: 1~2147483647 |
| removed_lines | Integer | Number of deleted lines Value range: 1~2147483647 |
| commits_count | Integer | Number of commits Value range: 1~2147483647 |
| diffs_count | Integer | Number of changed files Value range: 1~2147483647 |
| Parameter | Type | Description |
|---|---|---|
| id | String | id |
| message | String | Message |
| parent_ids | Array of strings | Parent node commit ID |
| authored_date | String | Time when the branch was created. |
| author_name | String | Creator name |
| author_email | String | Creator's email. |
| committed_date | String | Code commit date and time |
| committer_name | String | Committer name |
| committer_email | String | Committer email |
| open_gpg_verified | Boolean | Whether to enable the GPG verification |
| verification_status | Integer | Verification status Value range: 0~1 |
| gpg_primary_key_id | String | Identifier of the GPG public key |
| name | String | Username |
| gpg_nick_name | String | Alias |
| gpg_tenant_name | String | Tenant name |
| gpg_user_name | String | Information about a specific GPG user |
| short_id | String | Short ID |
| created_at | String | Creation time |
| title | String | Title |
| author_avatar_url | String | author_avatar_url |
| committer_avatar_url | String | committer_avatar_url |
| relate_url | Array of RelatedCommitSimpleDto objects | only for DevCloud |
| nick_name | String | Title |
| tenant_name | String | tenant_name |
| user_name | String | Username |
| author_id | Integer | Author ID. Value range: 1~2147483647 |
| Parameter | Type | Description |
|---|---|---|
| related_id | String | Associated work item ID |
| related_url | String | Associated work item URL |
| Parameter | Type | Description |
|---|---|---|
| old_path | String | Old file |
| new_path | String | New file |
| a_mode | String | Old file type. |
| b_mode | String | New file type |
| file_path | String | File path |
| new_file | Boolean | New or not |
| file_type | String | File type |
| renamed_file | Boolean | Rename or not |
| deleted_file | Boolean | Whether to delete a file |
| diff | String | Comparison result |
| binary | Boolean | Binary or not |
| too_large | Boolean | Whether the file is too large |
| collapsed | Boolean | Collapsed or not |
| line_count | Array of integers | Value range: 1~2147483647 |
| added_lines | Integer | Number of added lines Value range: 1~2147483647 |
| removed_lines | Integer | Number of deleted lines Value range: 1~2147483647 |
| Parameter | Type | Description |
|---|---|---|
| old_path | String | Old file |
| new_path | String | New file |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Example Requests
None
Example Responses
Status code: 200
Branch, tag, and commit comparison
{
"commit" : {
"id" : "1690246aeae929d672740fc4951db94ae635e493",
"message" : "Connect MySQL to \\n\\nChange-Id: I06d0995d1362beff8ed530.",
"parent_ids" : "[test01,test02]",
"authored_date" : "2024-10-25T09:28:10.000Z",
"author_name" : "test",
"author_email" : "test@example.com",
"committed_date" : "2024-10-25T09:28:10.000Z",
"committer_name" : "test_name",
"committer_email" : "test@example.com",
"open_gpg_verified" : null,
"verification_status" : 0,
"gpg_primary_key_id" : "",
"short_id" : "123",
"created_at" : "2024-10-25T09:28:10.000Z",
"title" : "test",
"author_avatar_url" : "https://test",
"committer_avatar_url" : "https://test",
"relate_url" : null
},
"commits" : null,
"diffs" : null,
"diffs_files" : null,
"compare_timeout" : null,
"compare_same_ref" : null,
"conflict_files" : null,
"added_lines" : 2,
"removed_lines" : 2,
"commits_count" : 2,
"diffs_count" : 2
} Status code: 401
Unauthorized
{
"error_code" : "CH.00000001",
"error_msg" : "User authentication info not found."
} Status code: 403
Bad Request
{
"error_code" : "CH.00401008",
"error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
} Status code: 404
Not Found
{
"error_code" : "CH.00402000",
"error_msg" : "The repository does not exist. Check and try again."
} Status Codes
| Status Code | Description |
|---|---|
| 200 | Branch, tag, and commit comparison |
| 401 | Unauthorized |
| 403 | Bad Request |
| 404 | Not Found |
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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot