Creating Project MR Approving Settings
Function
This API is used to create project MR approving settings.
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::updateProjectSetting |
Write |
- |
codeartsrepo:ProjectId |
- |
- |
URI
POST https://{hostURL}/v4/projects/{project_id}/approver-settings
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Definition You can obtain the unique project identifier, 32-character project UUID, by calling the API used to query the project list. Range String length: 32 characters. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
Definition User token. Obtain one by calling the IAM API Obtaining a User Token. The value of X-Subject-Token in the response header is a token. Constraints N/A Range 1–100,000 characters. Default Value N/A |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
target |
No |
String |
Configure a branch. The asterisk () can be used as a wildcard. For example, dev indicates all branches starting with dev. |
|
is_use_approval |
No |
Boolean |
False: "Minimum number of reviewers", "Minimum number of approvers", "Reset approvers when code is re-pushed", "Reset reviewers when code is re-pushed", and "add approvers or reviewers only from the following" are set to default values |
|
approval_required_approvers |
No |
Integer |
Minimum number of approvers |
|
approval_required_reviewers |
No |
Integer |
Minimum number of reviewers |
|
reset_approvals_on_push |
No |
Boolean |
Whether to reset approving gate status during push |
|
reset_reviewers_on_push |
No |
Boolean |
Whether to reset review gate status during push |
|
approvers_from_project |
No |
Boolean |
Whether to add approvers or reviewers only from the following |
|
append_reviewer_ids |
No |
Array of integers |
Add reviewer user ID list |
|
append_approver_ids |
No |
Array of integers |
Add approver user ID list |
|
only_merge_when_pipeline_pass |
No |
Boolean |
Whether to enable the pipeline gate |
|
assignee_ids |
No |
Array of integers |
Merger user ID list |
|
approver_ids |
No |
Array of integers |
Approver user ID list |
|
reviewer_ids |
No |
Array of integers |
Reviewer user ID list |
Response Parameters
Status code: 201
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Definition Primary key ID. |
|
target |
String |
Definition Branch. The asterisk () can be used as a wildcard. For example, dev indicates all branches starting with dev. |
|
target_type |
String |
Setting type. Currently, only the branch type is available. Enumeration values:
|
|
is_use_approval |
Boolean |
Approval mode or not. Approval mode: true; score mode: false |
|
approval_required_reviewers |
Integer |
Minimum number of reviewers |
|
approval_required_approvers |
Integer |
Minimum number of approvers |
|
reset_approvals_on_push |
Boolean |
Whether to reset approving gate status during push |
|
reset_reviewers_on_push |
Boolean |
Whether to reset review gate status during push |
|
approvers_from_project |
Boolean |
Whether to add approvers or reviewers only from the following |
|
append_reviewer_ids |
Array of integers |
ID list of reviewers to be added |
|
append_reviewers |
Array of UserBasicDto objects |
Entity list of reviewers to be added |
|
append_approver_ids |
Array of integers |
ID list of approvers to be added |
|
append_approvers |
Array of UserBasicDto objects |
Entity list of approvers to be added |
|
only_merge_when_pipeline_pass |
Boolean |
Whether to enable the pipeline gate |
|
assignee_ids |
Array of integers |
Merger ID list |
|
assignees |
Array of UserBasicDto objects |
Merger entity list |
|
approver_ids |
Array of integers |
Approver ID list |
|
approvers |
Array of UserBasicDto objects |
Approver entity list |
|
reviewer_ids |
Array of integers |
Reviewer ID list |
|
reviewers |
Array of UserBasicDto objects |
Reviewer entity list |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
Integer |
Definition User ID. Value range: 1~2147483647 |
|
name |
String |
Definition Username. |
|
username |
String |
Definition Username. |
|
state |
String |
Definition: User status Value range:
Enumeration values:
|
|
service_license_status |
Integer |
Service-level permission status. 0: disabled; 1: enabled |
|
avatar_url |
String |
User profile picture URL |
|
avatar_path |
String |
User profile picture path |
|
|
String |
User email |
|
name_cn |
String |
Username (CN) |
|
web_url |
String |
User homepage |
|
nick_name |
String |
User alias |
|
tenant_name |
String |
Tenant name |
|
error_message |
String |
Definition When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information. |
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. |
Example Requests
POST https://{endpoint}/v4/projects/2561032/approver-settings
{
"target" : "dev",
"approval_required_approvers" : 0,
"approval_required_reviewers" : 0,
"reset_approvals_on_push" : true,
"reset_reviewers_on_push" : true,
"approvers_from_project" : false,
"append_reviewer_ids" : [ ],
"append_approver_ids" : [ ],
"only_merge_when_pipeline_pass" : true,
"assignee_ids" : [ ],
"approver_ids" : [ ],
"reviewer_ids" : [ ]
}
Example Responses
Status code: 201
OK
{
"id" : 330,
"target_type" : "branch",
"target" : "dev",
"approval_required_approvers" : 0,
"approval_required_reviewers" : 0,
"reset_approvals_on_push" : true,
"reset_reviewers_on_push" : true,
"approvers_from_project" : false,
"append_reviewer_ids" : [ ],
"append_reviewers" : [ ],
"append_approver_ids" : [ ],
"append_approvers" : [ ],
"only_merge_when_pipeline_pass" : true,
"assignee_ids" : [ ],
"assignees" : [ ],
"approver_ids" : [ ],
"approvers" : [ ],
"reviewer_ids" : [ ],
"reviewers" : [ ]
}
Status code: 401
Unauthorized
{
"error_code" : "DEV.00000003",
"error_msg" : "Authentication information expired."
}
Status code: 403
Bad Request
{
"error_code" : "CH.004403",
"error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
OK |
|
401 |
Unauthorized |
|
403 |
Bad Request |
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