Блог Горошко Андрея Bitrix24,PHP Обновить эпик в Скраме tasks.api.scrum.epic.update

Обновить эпик в Скраме tasks.api.scrum.epic.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Обновить эпик в Скраме tasks.api.scrum.epic.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Обновить эпик в Скраме tasks.api.scrum.epic.update

> Scope: task
>
> Кто может выполнять метод: любой пользователь, имеющий доступ к Скраму

Метод обновляет эпик в Скраме.

Параметры метода

Название
тип
Описание
id
integer
Идентификатор эпика.

Получить идентификаторы эпиков можно методом tasks.api.scrum.epic.list

fields
array
Значения полей (подробное описание приведено ниже) для добавления нового эпика в виде структуры:

fields: {
    name: 'значение',
    groupId: 'значение',
    description: 'значение',
    color: 'значение',
    files: [
        'файл1',
        'файл2',
        ...
    ]

}

Параметр fields

Название
тип
Описание
name
string
Название эпика
description
string
Описание эпика
groupId
integer
Идентификатор группы (скрама), к которой относится эпик
color
string
Цвет эпика
files
array
Массив файлов, привязанных к эпику.

В files можно передать массив значений с идентификаторами файлов, указав префикс n для каждого идентификатора.

Если передать пустой массив — файлы удалятся

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "fields": {
        "id": 1,
        "fields": {
            "name": "Updated epic name",
            "description": "Updated description text",
            "color": "#bbecf1",
            "files": ["n429", "n243"]
        }
    },
    }' \
    https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/tasks.api.scrum.epic.update
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "fields": {
        "id": 1,
        "fields": {
            "name": "Updated epic name",
            "description": "Updated description text",
            "color": "#bbecf1",
            "files": ["n429", "n243"]
        }
    },
    auth=YOUR_ACCESS_TOKEN
    }' \
    https://your-domain.bitrix24.com/rest/tasks.api.scrum.epic.update
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'tasks.api.scrum.epic.update',
    		{
    			id: epicId,
    			fields:{
    				name: name,
    				description: description,
    				color: color,
    				files: files
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $epicId = 1;
        $name = 'Updated epic name';
        $description = 'Updated description text';
        $color = '#bbecf1';
        $files = ['n429', 'n243'];
    
        $response = $b24Service
            ->core
            ->call(
                'tasks.api.scrum.epic.update',
                [
                    'id' => $epicId,
                    'fields' => [
                        'name' => $name,
                        'description' => $description,
                        'color' => $color,
                        'files' => $files
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating epic: ' . $e->getMessage();
    }
  • BX24.js
    const epicId = 1;
    const name = 'Updated epic name';
    const description = 'Updated description text';
    const color = '#bbecf1';
    const files = ['n429', 'n243'];
    BX24.callMethod(
        'tasks.api.scrum.epic.update',
        {
            id: epicId,
            fields:{
                name: name,
                description: description,
                color: color,
                files: files
            }
        },
        function(res)
        {
            console.log(res);
        }
    );
  • PHP CRest
    require_once('crest.php'); // подключение CRest PHP SDK
    $epicId = 1;
    $name = 'Updated epic name';
    $description = 'Updated description text';
    $color = '#bbecf1';
    $files = ['n429', 'n243'];

    // выполнение запроса к REST API
    $result = CRest::call(
    'tasks.api.scrum.epic.update',
    [
        'id' => $epicId,
        'fields' => [
            'name' => $name,
            'description' => $description,
            'color' => $color,
            'files' => $files
        ]
    ]
    );

    // Обработка ответа от Битрикс24
    if ($result['error']) {
        echo 'Error: '.$result['error_description'];
    }
    else {
        print_r($result['result']);
    }

Обработка ответа

HTTP-Статус: 200

{
    "id": 1,
    "groupId": 143,
    "name": "Updated epic name",
    "description": "Updated description text",
    "createdBy": 1,
    "modifiedBy": 1,
    "color": "#bbecf1"
}

Возвращаемые данные

Название
тип
Описание
id
integer
Идентификатор эпика
groupId
integer
Идентификатор группы (скрама), к которой привязан эпик
name
string
Название эпика
description
string
Описание эпика
createdBy
integer
Идентификатор пользователя, создавшего эпик
modifiedBy
integer
Идентификатор пользователя, который последним изменял эпик
color
string
Цвет эпика

Обработка ошибок

HTTP-статус: 400

{
    "error": 0,
    "error_description": "Epic not updated"
}

Возможные коды ошибок

КодОписаниеЗначение
0Access deniedНет доступа для просмотра данных эпика
0Epic not foundТакого эпика не существует
0Epic not updatedНе удалось обновить эпик
0createdBy user not foundПользователь в поле «создатель» не найден
0modifiedBy user not foundПользователь в поле «последний изменивший» не найден
100Could not find value for parameter {id}Неверно указано имя параметра или не задан параметр
100Invalid value {stringValue} to match with parameter {id}. Should be value of type int.Неверный тип параметра
  • [](./index)
  • [](./tasks-api-scrum-epic-add)
  • [](./tasks-api-scrum-epic-get)
  • [](./tasks-api-scrum-epic-list)
  • [](./tasks-api-scrum-epic-delete)
  • [](./tasks-api-scrum-epic-get-fields)

💡 Экспертное мнение и рекомендации

Практические рекомендации:

  • При написании кастомных компонентов для «Обновить эпик в Скраме tasks.api.scrum.epic.update» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Разработка B2B-портала для оптовых поставщиков упаковки и одноразовой посудыРазработка B2B-портала для оптовых поставщиков упаковки и одноразовой посуды

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Разработка

Получить список предыдущих задач task.item.getdependsonПолучить список предыдущих задач task.item.getdependson

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список предыдущих задач task.item.getdependson». Вы узнаете экспертные методики работы с task.item.getdependson и

Настройка генератора документов в Битрикс24: автосоздание договоров, счетов и актовНастройка генератора документов в Битрикс24: автосоздание договоров, счетов и актов

Профессиональная настройка и комплексная автоматизация Битрикс24 CRM позволяет выстроить прозрачный отдел продаж, исключить потерю обращений и автоматизировать рутинный документооборот компании. Услуга «Настройка генератора документов в Битрикс24: автосоздание договоров, счетов и