tasks.api.scrum.kanban.addStage
Создать стадию канбана Скрама
Описание
Метод создает стадию канбана Скрама.
Канбан Скрама обязательно должен содержать в себе стадии с типом новая NEW и финальная FINISH.
Используйте метод только для активных спринтов, то есть с полем "status": "active".
Параметры
fields
object
обязательный
Поля, соответствующие доступному списку полей tasks.api.scrum.kanban.getFields (подробное описание приведено ниже)
Параметр fields
sprintId
integer
обязательный
Идентификатор спринта. Получить идентификатор можно при помощи метода tasks.api.scrum.sprint.list
name
string
обязательный
Название стадии канбана
type
string
необязательный
Тип стадии канбана. Возможные значения: NEW, WORK, FINISH
sort
integer
необязательный
Порядок сортировки. Значение поля должно быть кратно 100
color
string
необязательный
Цвет стадии канбана
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"sprintId":1,"name":"Первая стадия","type":"NEW","color":"00C4FB","sort":100}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/tasks.api.scrum.kanban.addStage
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"sprintId":1,"name":"Первая стадия","type":"NEW","color":"00C4FB","sort":100},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/tasks.api.scrum.kanban.addStage
// 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
try {
const response = await $b24.actions.v2.call.make<number>({
method: 'tasks.api.scrum.kanban.addStage',
params: {
fields: {
sprintId: 1,
name: 'First stage',
type: 'NEW',
color: '00C4FB',
sort: 100,
},
},
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('New kanban stage ID:', 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 addKanbanStage() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'tasks.api.scrum.kanban.addStage',
params: {
fields: {
sprintId: 1,
name: 'First stage',
type: 'NEW',
color: '00C4FB',
sort: 100,
},
},
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('New kanban stage ID:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addKanbanStage)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.tasks.api.scrum.kanban.add_stage(
fields={
"sprintId": 1,
"name": "First stage",
"type": "NEW",
"color": "00C4FB",
"sort": 100,
},
).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}")
try {
$response = $b24Service
->core
->call(
'tasks.api.scrum.kanban.addStage',
[
'fields' => [
'sprintId' => 1,
'name' => 'Первая стадия',
'type' => 'NEW',
'color' => '00C4FB',
'sort' => 100,
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding stage: ' . $e->getMessage();
}
BX24.callMethod(
'tasks.api.scrum.kanban.addStage',
{
"fields": {
"sprintId": 1,
"name": "Первая стадия",
"type": "NEW",
"color": "00C4FB",
"sort": 100,
},
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'tasks.api.scrum.kanban.addStage',
[
'fields' => [
'sprintId' => 1,
'name' => 'Первая стадия',
'type' => 'NEW',
'sort' => 100,
'color' => '00C4FB',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "tasks.api.scrum.kanban.addStage", b24.Params{
"fields": b24.Params{
"sprintId": 1,
"name": "Первая стадия",
"type": "NEW",
"color": "00C4FB",
"sort": 100,
},
})
if err != nil {
return fmt.Errorf("tasks.api.scrum.kanban.addStage: %w", err)
}
var value b24.ID
if err := json.Unmarshal(res.Result, &value); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("результат:", value)
Ответ
HTTP-статус: 200
{
"result": 5,
"time":{
"start":1712137817.343984,
"finish":1712137817.605804,
"duration":0.26182007789611816,
"processing":0.018325090408325195,
"date_start":"2024-04-03T12:50:17+03:00",
"date_finish":"2024-04-03T12:50:17+03:00"
}
}
Обработка ошибок
HTTP-статус: 400
{
"error":0,
"error_description":"Sprint not found"
}
| Код | Описание | Значение |
|---|---|---|
0 |
Sprint id not found |
Не заполнено обязательное поле sprintId |
0 |
Sprint not found |
Передан неизвестный идентификатор спринта |
0 |
Access denied |
Доступ запрещен |
0 |
Incorrect name format |
Не заполнено обязательное поле name |
0 |
Неизвестная ошибка |

