Skip to content
GET /unified/ci-cd/branch-protection-rules

Query Parameters

Refer Specifying query parameters in Truto APIs

project_idstring

The unique identifier for the project

1 supported1 required
Gerrit
required
Show Truto-specific parameters
integrated_account_idstring · uuid
required·

The ID of the integrated account to use for the request.

Example: 62f44730-dd91-461e-bd6a-aedd9e0ad79d
truto_response_formatstring

The format of the response.

  • unified returns the response with unified mappings applied.
  • raw returns the unprocessed, raw response from the remote API.
  • normalized applies the unified mappings and returns the data in a normalized format.
  • stream returns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.

Defaults to unified.

Example: unified
Possible values:
unifiedrawnormalizedstream
truto_key_bystring

By default the result attribute is an array of objects. This parameter allows you to specify a field in each result objects to use as key, which transforms the result array into an object with the array items keyed by the field. This is useful for when you want to use the result as a lookup table.

Example: id
truto_ignore_limitboolean

Ignores the limit query parameter.

truto_ignore_remote_databoolean

Excludes the remote_data attribute from the response.

truto_exclude_fieldsstring[]

Array of fields to exclude from the response.

Example: truto_exclude_fields[]=id&truto_exclude_fields[]=name
remote_queryRecord<string, any>

Query parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.

Example: remote_query[foo]=bar

Response Body

next_cursorstring

The cursor to use for the next page of results. Pass this value as next_cursor in the query parameter in the next request to get the next page of results.

resultobject[]

List of Branch protection rules

idstring
required·

The unique identifier for the protection rule

1 supported
Gerrit
supported
patternstring
required·

The branch/ref pattern this rule applies to

1 supported
Gerrit
supported
reposobject[]
required·

The repositories this rule applies to

1 property
idstring
access_restrictionsobject

Restrictions on who can write to the branch

4 properties
allowed_groupsobject[]

List of group/team IDs allowed to write

1 property
idstring
allowed_rolesobject[]

List of role names allowed to write

1 property
idstring
allowed_usersobject[]

List of user IDs allowed to write

1 property
idstring
is_activeboolean

Whether write restrictions are active

allow_branch_deletionboolean

Allow the branch to be deleted

created_atstring · date-time

When the rule was created

created_byobject

User who created this protection rule

2 properties
idstring
usernamestring
integration_restrictionsobject

Restrictions on who can integrate/merge changes

4 properties
allowed_groupsobject[]

List of group/team IDs allowed to integrate

1 property
idstring
allowed_rolesobject[]

List of role names allowed to integrate

1 property
idstring
allowed_usersobject[]

List of user IDs allowed to integrate

1 property
idstring
is_activeboolean

Whether integration restrictions are active

is_activeboolean

Whether this protection rule is currently active

namestring

The name or description of the protection rule

1 supported
Gerrit
supported
remote_dataRecord<string, any>

Raw data returned from the remote API call.

require_owner_approvalboolean

Require approval from designated owners

required_checksobject[]

List of required validations/checks

3 properties
contextstring
namestring
require_up_to_dateboolean
updated_atstring · date-time

When the rule was last updated

curl -X GET 'https://api.truto.one/unified/ci-cd/branch-protection-rules?integrated_account_id=<integrated_account_id>' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json'
const integratedAccountId = '<integrated_account_id>';

const response = await fetch(`https://api.truto.one/unified/ci-cd/branch-protection-rules?integrated_account_id=${integratedAccountId}`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

url = "https://api.truto.one/unified/ci-cd/branch-protection-rules"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
    "integrated_account_id": "<integrated_account_id>"
}

response = requests.get(url, headers=headers, params=params)
print(response.json())
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

const result = await truto.unifiedApi.list(
  'ci-cd',
  'branchprotectionrules',
  { integrated_account_id: '<integrated_account_id>' }
);

console.log(result);
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    async for item in truto_api.unified_api.list(
        "ci-cd",
        "branchprotectionrules",
        {"integrated_account_id": "<integrated_account_id>"}
    ):
        print(item)

asyncio.run(main())