tasks.api.scrum.epic.list
Получить список эпиков
Описание
Метод возвращает список эпиков.
Параметры
order
array
необязательный
Массив для сортировки результата вида {'поле_сортировки': 'направление сортировки' [, ...]}.
Направление сортировки может принимать значения:
- asc — по возрастанию
- desc — по убыванию
Возможные значения элементов массива соответствуют полям ответа tasks.api.scrum.epic.add
filter
array
необязательный
Массив вида {'фильтруемое_поле': 'значение фильтра' [, ...]}.
Ключу может быть задан дополнительный префикс, уточняющий поведение фильтра.
Возможные значения префикса:
- = — равно (работает и с массивами)
- % — LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск ищет подстроку в любой позиции строки
- > — больше
- < — меньше
- != — не равно
- !% — NOT LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск идет с обоих сторон.
- >= — больше либо равно
- <= — меньше либо равно
- =% — LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
- "мол%" — ищем значения начинающиеся с «мол»
- "%мол" — ищем значения заканчивающиеся на «мол»
- "%мол%" — ищем значения, где «мол» может быть в любой позиции
- %= — LIKE (смотрите описание выше)
- !=% — NOT LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
- "мол%" — ищем значения не начинающиеся с «мол»
- "%мол" — ищем значения не заканчивающиеся на «мол»
- "%мол%" — ищем значения, где подстроки «мол» нет в любой позиции
- !%= — NOT LIKE (смотрите описание выше)
Возможные значения элементов массива соответствуют полям ответа tasks.api.scrum.epic.add
select
array
необязательный
Массив полей записей, которые будут возвращены методом.
Возможные значения элементов массива соответствуют полям ответа tasks.api.scrum.epic.add. Можно указать только те поля, которые необходимы.
Если в массиве присутствует значение "*", то будут возвращены все доступные поля.
Значение по умолчанию — пустой массив array(). Это означает, что будут возвращены все поля основной таблицы запроса
start
integer
необязательный
Номер страницы вывода. Работает для https запросов.
Размер страницы результатов всегда статичный: 50 записей.
Чтобы выбрать вторую страницу результатов необходимо передавать значение 50. Чтобы выбрать третью страницу результатов значение — 100 и так далее.
Формула расчета значения параметра start:
start = (N-1) * 50, где N — номер нужной страницы
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"filter": {
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%эпик%",
"!=DESCRIPTION": "old epic",
},
"order": {
"ID": "asc",
"NAME": "desc"
},
"select": ["ID", "NAME", "DESCRIPTION", "CREATED_BY", "MODIFIED_BY", "COLOR"],
"start": 0
}' \
https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/tasks.api.scrum.epic.list
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"filter": {
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%эпик%",
"!=DESCRIPTION": "old epic",
"CREATED_BY": 1,
"MODIFIED_BY": 3,
"COLOR": "#69dafc"
},
"order": {
"ID": "asc",
"NAME": "desc"
},
"select": ["ID", "NAME", "DESCRIPTION", "CREATED_BY", "MODIFIED_BY", "COLOR"],
"start": 0,
"auth": "YOUR_ACCESS_TOKEN"
}' \
https://your-domain.bitrix24.com/rest/tasks.api.scrum.epic.list
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of each EpicItem returned in result[]
type EpicItem = {
id: number
groupId: number
name: string
description: string
createdBy: number
modifiedBy: number
color: string
}
try {
// tasks.api.scrum.epic.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<EpicItem[]>({
method: 'tasks.api.scrum.epic.list',
params: {
filter: {
GROUP_ID: 143,
'>=ID': 1,
'<=ID': 50,
NAME: '%epic%',
'!=DESCRIPTION': 'old epic',
CREATED_BY: 1,
MODIFIED_BY: 3,
COLOR: '#69dafc',
},
order: {
ID: 'asc',
NAME: 'desc',
},
select: ['ID', 'NAME', 'DESCRIPTION', 'CREATED_BY', 'MODIFIED_BY', 'COLOR'],
start: 0,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Loaded epics:', result.length, result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function loadEpicList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// tasks.api.scrum.epic.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'tasks.api.scrum.epic.list',
params: {
filter: {
GROUP_ID: 143,
'>=ID': 1,
'<=ID': 50,
NAME: '%epic%',
'!=DESCRIPTION': 'old epic',
CREATED_BY: 1,
MODIFIED_BY: 3,
COLOR: '#69dafc',
},
order: {
ID: 'asc',
NAME: 'desc',
},
select: ['ID', 'NAME', 'DESCRIPTION', 'CREATED_BY', 'MODIFIED_BY', 'COLOR'],
start: 0,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Loaded epics:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', loadEpicList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.tasks.api.scrum.epic.list(
filter={
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%epic%",
"!=DESCRIPTION": "old epic",
"CREATED_BY": 1,
"MODIFIED_BY": 3,
"COLOR": "#69dafc",
},
order={
"ID": "asc",
"NAME": "desc",
},
select=[
"ID",
"NAME",
"DESCRIPTION",
"CREATED_BY",
"MODIFIED_BY",
"COLOR",
],
start=0,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.tasks.api.scrum.epic.list(
filter={
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%epic%",
"!=DESCRIPTION": "old epic",
"CREATED_BY": 1,
"MODIFIED_BY": 3,
"COLOR": "#69dafc",
},
order={
"ID": "asc",
"NAME": "desc",
},
select=[
"ID",
"NAME",
"DESCRIPTION",
"CREATED_BY",
"MODIFIED_BY",
"COLOR",
],
).as_list().response
result = bitrix_response.result
for item in result:
print(item)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.tasks.api.scrum.epic.list(
filter={
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%epic%",
"!=DESCRIPTION": "old epic",
"CREATED_BY": 1,
"MODIFIED_BY": 3,
"COLOR": "#69dafc",
},
order={
"ID": "asc",
"NAME": "desc",
},
select=[
"ID",
"NAME",
"DESCRIPTION",
"CREATED_BY",
"MODIFIED_BY",
"COLOR",
],
).as_list_fast(descending=True).response
result = bitrix_response.result
for item in result:
print(item)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'tasks.api.scrum.epic.list',
[
'filter' => [
'GROUP_ID' => $groupId,
'>=ID' => 1,
'<=ID' => 50,
'NAME' => '%эпик%',
'!=DESCRIPTION' => 'old epic',
'CREATED_BY' => 1,
'MODIFIED_BY' => 3,
'COLOR' => '#69dafc'
],
'order' => [
'ID' => 'asc',
'NAME' => 'desc'
],
'select' => ['ID', 'NAME', 'DESCRIPTION', 'CREATED_BY', 'MODIFIED_BY', 'COLOR'],
'start' => 0
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
const groupId = 143;
BX24.callMethod(
'tasks.api.scrum.epic.list',
{
filter: {
GROUP_ID: groupId,
'>=ID': 1,
'<=ID': 50,
'NAME': '%эпик%',
'!=DESCRIPTION': 'old epic',
'CREATED_BY': 1,
'MODIFIED_BY': 3,
'COLOR': '#69dafc'
},
order: {
'ID': 'asc',
'NAME': 'desc'
},
select: ['ID', 'NAME', 'DESCRIPTION', 'CREATED_BY', 'MODIFIED_BY', 'COLOR']
},
function(res)
{
if (res.error())
{
console.error(res.error());
return;
}
console.log(res.data());
if (res.more())
{
res.next();
}
}
);
require_once('crest.php'); // подключение CRest PHP SDK
// выполнение запроса к REST API
$result = CRest::call(
'tasks.api.scrum.epic.list',
[
'filter' => [
'GROUP_ID' => 143,
'>=ID' => 1,
'<=ID' => 50,
'NAME' => '%эпик%',
'!=DESCRIPTION' => 'old epic',
'CREATED_BY' => 1,
'MODIFIED_BY' => 3,
'COLOR' => '#69dafc'
],
'order' => [
'ID' => 'asc',
'NAME' => 'desc'
],
'select' => ['ID', 'NAME', 'DESCRIPTION', 'CREATED_BY', 'MODIFIED_BY', 'COLOR'],
'start' => 0
]
);
// Обработка ответа от Битрикс24
if ($result['error']) {
echo 'Error: '.$result['error_description'];
}
else {
print_r($result['result']);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "tasks.api.scrum.epic.list", b24.Params{
"filter": b24.Params{
"GROUP_ID": 143,
">=ID": 1,
"<=ID": 50,
"NAME": "%эпик%",
"!=DESCRIPTION": "old epic",
"CREATED_BY": 1,
"MODIFIED_BY": 3,
"COLOR": "#69dafc",
},
"order": b24.Params{
"ID": "asc",
"NAME": "desc",
},
"select": []string{"ID", "NAME", "DESCRIPTION", "CREATED_BY", "MODIFIED_BY", "COLOR"},
"start": 0,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("tasks.api.scrum.epic.list: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
[
{
"id": 1,
"groupId": 143,
"name": "эпик",
"description": "",
"createdBy": 1,
"modifiedBy": 0,
"color": "#69dafc"
},
{
"id": 3,
"groupId": 143,
"name": "эпик2",
"description": "new epic",
"createdBy": 3,
"modifiedBy": 5,
"color": "#69dagc"
}
]
Возвращаемые данные
id
integer
Идентификатор эпика
groupId
integer
Идентификатор группы (скрама), к которой привязан эпик
name
string
Название эпика
description
string
Описание эпика
createdBy
integer
Идентификатор пользователя, создавшего эпик
modifiedBy
integer
Идентификатор пользователя, который последним изменял эпик
color
string
Цвет эпика в формате HEX
Обработка ошибок
HTTP-статус: 400
{
"error": 0,
"error_description": "Could not load list"
}
| Код | Описание | Значение |
|---|---|---|
0 |
Could not load list | Не найдено ни одного эпика с указанными фильтрами |

