Использование API для работы с отчетами
Подготовка клиента для работы с отчетами
Чтобы работать с отчетами с помощью пакета SDK, импортируйте его и инициализируйте клиент:
import * as sdk from '@playbooks/sdk'
...
export async function main() {
const v = await sdk.report.<method_name>({ <arg_1>, <arg_2>, ... })
console.log(v)
}
from playbooks.report import ReportClient
...
def main():
client = ReportClient.initialize()
v = client.<method_name>(<arg_1>, <arg_2>, ...)
print(v)
Здесь:
-
<method_name>: имя используемого метода; -
<arg_N>: параметры метода.
Методы для работы с шаблонами отчетов
Методы для работы с шаблонами отчетов включают:
Возвращаемые данные шаблона
Методы, возвращающие данные шаблона, предоставляют объект со следующими полями:
-
id: идентификатор шаблона; -
name: название шаблона; -
description: описание шаблона; -
tags: список тегов; -
created_at: дата и время создания шаблона; -
created_by: идентификатор пользователя, создавшего шаблон; -
updated_at: дата и времени последнего изменения; -
updated_by: идентификатор пользователя, изменившего шаблон; -
tenant_id: идентификатор тенанта, к которому относится шаблон; -
organization_id: идентификатор организации, к которой принадлежит шаблон; -
is_convert_to_pdf: индикатор формирования отчета в PDF (логическое значение).
Создание шаблона из схемы (create_template_from_schema)
Метод create_template_from_schema используется для создания нового шаблона отчета на основе существующей схемы шаблона.
create_template_from_schema в TypeScriptcreate_template_from_schema({
expertise_id: <expertise_id> // string
})
create_template_from_schema в Pythoncreate_template_from_schema(
expertise_id=<expertise_id> # str
)
В методе используется параметр <expertise_id> — идентификатор схемы шаблона в формате UUID (строка).
Метод возвращает объект созданного шаблона.
Примеры создания шаблона
Пример скрипта с create_template_from_schema в TypeScript
id: create_template_from_schema_ts
name: create_template_from_schema_ts
description: Создание шаблона отчета из схемы
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const EXPERTISE_ID = "7c69d6dd-ce5e-4ffa-b27d-edbf1ccbfb23";
export async function main() {
try {
console.log(" Создание шаблона из схемы...\n");
const template = await sdk.report.create_template_from_schema({
expertise_id: EXPERTISE_ID,
});
console.log(" Шаблон создан:");
console.log(` ID: ${template.id}`);
console.log(` Название: ${template.name}`);
console.log(` Дата создания: ${template.created_at}`);
console.log(` Создал: ${template.created_by}`);
console.log(` Tenant ID: ${template.tenant_id}`);
console.log(` Теги: ${JSON.stringify(template.tags)}`);
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с create_template_from_schema в Python
id: create_template_from_schema_py
name: create_template_from_schema_py
description: Создание шаблона отчета из схемы экспертизы (Python)
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient
EXPERTISE_ID = "7c69d6dd-ce5e-4ffa-b27d-edbf1ccbfb23"
def main():
print("Создание шаблона из схемы (Python)...\n")
client = ReportClient.initialize()
try:
template = client.create_template_from_schema(expertise_id=EXPERTISE_ID)
print("Шаблон создан:")
print(f" ID: {template.id}")
print(f" Название: {template.name}")
print(f" Дата создания: {template.created_at}")
print(f" Создал: {template.created_by}")
print(f" Tenant ID: {template.tenant_id}")
print(f" Теги: {template.tags}")
except Exception as e:
print(f"Ошибка: {e}")
Получение шаблона (get_template)
Метод get_template возвращает данные о конкретном шаблоне по его идентификатору.
get_template в TypeScriptget_template({
id: <template_id> // string
})
get_template в Pythonget_template(
id=<template_id> # str
)
В методе используется параметр <template_id> — идентификатор шаблона (строка).
Метод возвращает объект запрошенного шаблона.
Примеры получения шаблона
Пример скрипта с get_template в TypeScript
id: get_template_ts
name: get_template_ts
description: Получение шаблона по идентификатору
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba";
export async function main() {
try {
console.log(" Получение шаблона по ID...\n");
const template = await sdk.report.get_template({
id: TEMPLATE_ID,
});
console.log(" Шаблон найден:");
console.log(` ID: ${template.id}`);
console.log(` Название: ${template.name}`);
console.log(` Дата создания: ${template.created_at}`);
console.log(` Создал: ${template.created_by}`);
console.log(` Tenant ID: ${template.tenant_id}`);
console.log(` Теги: ${JSON.stringify(template.tags)}`);
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с get_template в Python
id: get_template_py
name: get_template_py
description: Получение шаблона по ID (Python)
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient
TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba"
def main():
print("Получение шаблона по ID (Python)...\n")
client = ReportClient.initialize()
try:
template = client.get_template(id=TEMPLATE_ID)
print("Шаблон найден:")
print(f" ID: {template.id}")
print(f" Название: {template.name}")
print(f" Дата создания: {template.created_at}")
print(f" Создал: {template.created_by}")
print(f" Tenant ID: {template.tenant_id}")
print(f" Теги: {template.tags}")
except Exception as e:
print(f"Ошибка: {e}")
Получение списка шаблонов (get_templates)
Метод get_templates позволяет получить отфильтрованный и отсортированный список шаблонов. Фильтры для уточнения запроса, порядок сортировки и количество выводимых результатов задаются с помощью параметров.
get_templates в TypeScriptget_templates({
filter: {
query: <query>, // string | undefined
tags: <tags>, // string[] | undefined
is_schedule_enabled: <schedule_enabled_flag> // boolean | undefined
},
sorting: {
order: <order_dir>, // 'asc' | 'desc'
order_by: <order_field>, // 'name' | 'created_at' | 'updated_at'
},
pagination: {
limit: <limit>, // number
offset: <offset>, // number | undefined
},
organization_ids: <organization_ids> // string[]
})
get_templates в Pythonget_templates(
filter=TemplateFilter(
query=<query>, # str | None
tags=<tags>, # List[str] | None
is_schedule_enabled=<schedule_enabled_flag> # bool | None
),
sorting=TemplateSorting(
order=<order_dir>, # 'asc' | 'desc'
order_by=<order_field> # 'name' | 'created_at' | 'updated_at'
),
pagination=Pagination(
limit=<limit>, # int
offset=<offset> # int | None
),
organization_ids=<organization_ids> # List[str] | None
)
Параметры метода включают в себя:
-
настройки фильтрации списка (необязательный блок):
-
<query>(необязательный): запрос для поиска (строка); -
<tags>(необязательный): список тегов, связанных с шаблонами (массив строк); -
<schedule_enabled_flag>(необязательный): индикатор автоматического создания отчетов на основе шаблонов по расписанию (логическое значение);
-
-
настройки сортировки списка (необязательный блок):
-
<order_dir>: порядок сортировки ('asc'/Asc— по возрастанию или'desc'/Desc— по убыванию); -
<order_field>: поле для сортировки:-
'name'— название шаблона; -
'created_at'— время создания шаблона; -
'updated_at'— время обновления шаблона.
-
-
-
ограничение количества выводимых результатов (необязательный блок):
-
<limit>(обязателен, если ограничение указано): максимальное количество записей в ответе (число); -
<offset>(необязательный): порядковый номер первой записи, начиная с которой выводится ответ (число);
-
-
<organization_ids>(необязательный): организации, к которым принадлежит шаблон отчета (массив строк).
Метод возвращает массив объектов шаблонов.
Примеры получения списка шаблонов
Пример скрипта с get_templates в TypeScript
id: get_templates_ts
name: get_templates_ts
description: Получение списка шаблонов с фильтрами
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const ORG_IDS = ["00000000-0000-0000-0000-000000000000"];
const FILTER_QUERY = "Demo report";
const FILTER_TAGS = [];
const FILTER_SCHEDULE_ENABLED = true;
export async function main() {
try {
console.log("Получение списка шаблонов...\n");
const templates = await sdk.report.get_templates({
organization_ids: ORG_IDS,
filter: {
query: FILTER_QUERY,
tags: FILTER_TAGS,
is_schedule_enabled: FILTER_SCHEDULE_ENABLED,
},
pagination: { limit: 10, offset: 0 },
sorting: { order: "desc", order_by: "created_at" },
});
console.log(`Найдено шаблонов: ${templates.length}`);
templates.forEach((t, i) => {
console.log(` ${i + 1}. ID: ${t.id}, Название: ${t.name}, Создан: ${t.created_at}`);
});
} catch (e) {
console.error('Ошибка:', e);
}
}
Пример скрипта с get_templates в Python
id: get_templates_py
name: get_templates_py
description: Получение списка шаблонов с фильтрами (Python)
version: 0.0.10
type: script
source: !py |
from playbooks.report import ReportClient, TemplateFilter, TemplateSorting, Pagination
ORG_IDS = ["00000000-0000-0000-0000-000000000000"]
FILTER_QUERY = "PB-984"
FILTER_TAGS = []
FILTER_SCHEDULE_ENABLED = True
def main():
print("Получение списка шаблонов (Python)...\n")
client = ReportClient.initialize()
try:
templates = client.get_templates(
organization_ids=ORG_IDS,
filter=TemplateFilter(
query=FILTER_QUERY,
tags=FILTER_TAGS,
is_schedule_enabled=FILTER_SCHEDULE_ENABLED,
),
sorting=TemplateSorting(order="desc", order_by="created_at"),
pagination=Pagination(limit=10, offset=0),
)
print(f"Найдено шаблонов: {len(templates)}")
for i, t in enumerate(templates):
print(f" {i+1}. ID: {t.id}, Название: {t.name}, Создан: {t.created_at}")
except Exception as e:
print(f"Ошибка: {e}")
Обновление шаблона (update_template)
Метод update_template используется для изменения полей шаблона.
update_template в TypeScriptupdate_template({
id: <template_id>, // string
name: <name>, // string | undefined
description: <description>, // string | undefined
tags: <tags> // string[] | undefined
})
update_template в Pythonupdate_template(
id=<template_id>, # str
name=<name>, # str | None
description=<description>, # str | None
tags=<tags> # List[str] | None
)
Параметры метода включают в себя:
-
<template_id>— идентификатор шаблона (строка); -
<name>(необязательный): название шаблона (строка); -
<description>(необязательный): описание шаблона (строка); -
<tags>(необязательный): список тегов (массив строка).
| Поля, не переданные в запросе, изменены не будут. |
Метод возвращает объект измененного шаблона.
Примеры изменения шаблона
Пример скрипта с update_template в TypeScript
id: update_template_ts
name: update_template_ts
description: Обновление шаблона
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba";
const NEW_NAME = "Обновленный шаблон SDK";
const NEW_DESCRIPTION = "Новое описание шаблона";
const NEW_TAGS = ["updated", "sdk"];
export async function main() {
try {
console.log("Обновление шаблона...\n");
const result = await sdk.report.update_template({
id: TEMPLATE_ID,
name: NEW_NAME,
description: NEW_DESCRIPTION,
tags: NEW_TAGS,
});
console.log("Шаблон обновлен:");
console.log(` ID: ${result.id}`);
console.log(` Новое название: ${result.name}`);
console.log(` Новое описание: ${result.description}`);
console.log(` Новые теги: ${JSON.stringify(result.tags)}`);
const updated = await sdk.report.get_template({ id: TEMPLATE_ID });
console.log(` Проверка - название: ${updated.name}`);
console.log(` Проверка - описание: ${updated.description}`);
console.log(` Проверка - теги: ${JSON.stringify(updated.tags)}`);
} catch (e) {
console.error('Ошибка:', e);
}
}
Пример скрипта с update_template в Python
id: update_template_py
name: update_template_py
description: Обновление шаблона
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient
TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba"
NEW_NAME = "Обновленный шаблон SDK"
NEW_DESCRIPTION = "Новое описание шаблона"
NEW_TAGS = ["updated", "sdk"]
def main():
print("Обновление шаблона ...\n")
client = ReportClient.initialize()
try:
result = client.update_template(id=TEMPLATE_ID, name=NEW_NAME, description=NEW_DESCRIPTION, tags=NEW_TAGS)
print("Шаблон обновлен:")
print(f" ID: {result.id}")
print(f" Новое название: {result.name}")
print(f" Новое описание: {result.description}")
print(f" Новые теги: {result.tags}")
updated = client.get_template(id=TEMPLATE_ID)
print(f" Проверка - название: {updated.name}")
print(f" Проверка - описание: {updated.description}")
print(f" Проверка - теги: {updated.tags}")
except Exception as e:
print(f"Ошибка: {e}")
Удаление шаблона (delete_template)
Метод delete_template удаляет шаблон отчета.
delete_template в TypeScriptdelete_template({
id: <template_id>, // string
with_reports: <with_reports> // boolean
})
delete_template в Pythondelete_template(
id=<template_id>, # str
with_reports=<with_reports> # bool | None
)
Параметры метода включают в себя:
-
<template_id>: идентификатор шаблона (строка); -
<with_reports>: переключатель удаления всех связанных с шаблоном отчетов (логическое значение).
Метод возвращает идентификатор удаленного шаблона.
Примеры удаления шаблона
Пример скрипта с delete_template в TypeScript
id: delete_template_ts
name: delete_template_ts
description: Удаление шаблона
version: 0.0.4
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba";
export async function main() {
try {
console.log(" Удаление шаблона...\n");
const deletedId = await sdk.report.delete_template({
id: TEMPLATE_ID,
with_reports: false,
});
console.log(` Шаблон удален, ID: ${deletedId}`);
// Проверим, что удалился
try {
await sdk.report.get_template({ id: TEMPLATE_ID });
console.log(" Шаблон все еще существует!");
} catch {
console.log(" Подтверждено: шаблон не найден (удален)");
}
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с delete_template в Python
id: delete_template_py
name: delete_template_py
description: Удаление шаблона (Python)
version: 0.0.8
type: script
source: !py |
from playbooks.report import ReportClient
TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba"
def main():
print("Удаление шаблона (Python)...\n")
client = ReportClient.initialize()
try:
deleted_id = client.delete_template(id=TEMPLATE_ID, with_reports=False)
print(f"Шаблон удален, ID: {deleted_id}")
try:
client.get_template(id=TEMPLATE_ID)
print("Шаблон все еще существует!")
except:
print("Подтверждено: шаблон не найден (удален)")
except Exception as e:
print(f"Ошибка: {e}")
Методы для работы с отчетами
Методы для работы с отчетами включают:
Возвращаемые данные отчета
Методы, возвращающие данные отчета, предоставляют объект со следующими полями:
-
id: идентификатор отчета; -
name: имя отчета; -
tags: список тегов, связанных с отчетом; -
created_at: дата и время публикации отчета; -
created_by: имя пользователя, сформировавшего отчет; -
updated_at: дата и времени последнего изменения; -
updated_by: идентификатор пользователя, изменившего отчет; -
tenant_id: идентификатор тенанта, к которому относится отчет; -
organization_id: идентификатор организации, к которой принадлежит отчет; -
generate_method: способ формирования отчета:-
auto— автоматически; -
manual— вручную.
-
-
template_id— идентификатор шаблона, по которому был создан отчет.
Создание отчета (generate_report)
Метод generate_report запускает формирование отчета на основе указанного шаблона для заданных организаций.
generate_report в TypeScriptgenerate_report({
template_id: <template_id>, // string
organization_ids: <organization_ids> // string[]
})
generate_report в Pythongenerate_report(
template_id=<template_id>, # str
organization_ids=<organization_ids> # List[str]
)
Параметры метода включают в себя:
-
<template_id>: идентификатор шаблона, на основе которого будет сформирован отчет (строка); -
<organization_ids>: организации, к которым принадлежит отчет (массив строк).
Метод возвращает объект сформированного отчета.
Примеры формирования отчета
Пример скрипта с generate_report в TypeScript
id: generate_report_ts
name: generate_report_ts
description: Формирование отчета из шаблона
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba";
const ORG_IDS = ["00000000-0000-0000-0000-000000000000"];
export async function main() {
try {
console.log(" Формирование отчета...\n");
const report = await sdk.report.generate_report({
template_id: TEMPLATE_ID,
organization_ids: ORG_IDS,
});
console.log(" Отчет создан:");
console.log(` ID отчета: ${report.id}`);
console.log(` Название: ${report.name}`);
console.log(` Template ID: ${report.template_id}`);
console.log(` Метод формирования: ${report.generate_method}`);
console.log(` Дата создания: ${report.created_at}`);
console.log(` Теги: ${JSON.stringify(report.tags)}`);
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с generate_report в Python
id: generate_report_py
name: generate_report_py
description: Формирование отчета из шаблона
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient
TEMPLATE_ID = "736c11db-4706-4c0c-98ae-da43cdaaccba"
ORG_IDS = ["00000000-0000-0000-0000-000000000000"]
def main():
print("Формирование отчета (Python)...\n")
client = ReportClient.initialize()
try:
report = client.generate_report(template_id=TEMPLATE_ID, organization_ids=ORG_IDS)
print("Отчет создан:")
print(f" ID отчета: {report.id}")
print(f" Название: {report.name}")
print(f" Template ID: {report.template_id}")
print(f" Метод формирования: {report.generate_method}")
print(f" Дата создания: {report.created_at}")
print(f" Теги: {report.tags}")
except Exception as e:
print(f"Ошибка: {e}")
Получение данных об отчете (get_report)
Метод get_report используется для получения информации о сформированном отчете по его идентификатору.
get_report в TypeScriptget_report({
id: <report_id> // string
})
get_report в Pythonget_report(
id=<report_id> # str
)
В методе используется параметр <report_id> — идентификатор отчета (строка).
Метод возвращает объект запрошенного отчета.
Примеры получения данных об отчете
Пример скрипта с get_report в TypeScript
id: get_report_ts
name: get_report_ts
description: Получение отчета по ID
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const REPORT_ID = "eba99fcb-6895-42dd-8347-c4453979a7fb";
export async function main() {
try {
console.log(" Получение отчета по ID...\n");
const report = await sdk.report.get_report({
id: REPORT_ID,
});
console.log(" Отчет найден:");
console.log(` ID: ${report.id}`);
console.log(` Название: ${report.name}`);
console.log(` Template ID: ${report.template_id}`);
console.log(` Метод генерации: ${report.generate_method}`);
console.log(` Дата создания: ${report.created_at}`);
console.log(` Теги: ${JSON.stringify(report.tags)}`);
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с get_report в Python
id: get_report_py
name: get_report_py
description: Получение отчета по ID (Python)
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient
REPORT_ID = "eba99fcb-6895-42dd-8347-c4453979a7fb"
def main():
print("Получение отчета по ID (Python)...\n")
client = ReportClient.initialize()
try:
report = client.get_report(id=REPORT_ID)
print("Отчет найден:")
print(f" ID: {report.id}")
print(f" Название: {report.name}")
print(f" Template ID: {report.template_id}")
print(f" Метод генерации: {report.generate_method}")
print(f" Дата создания: {report.created_at}")
print(f" Теги: {report.tags}")
except Exception as e:
print(f"Ошибка: {e}")
Получение списка отчетов (get_reports)
Метод get_reports используется для получения отчетов, соответствующих заданным критериям фильтрации.
get_reports в TypeScriptget_reports({
filter: {
query: <query>, // string | undefined
tags: <tags>, // string[] | undefined
},
sorting: {
order: <order_dir>, // 'asc' | 'desc'
order_by: <order_field>, // 'name' | 'created_at' | 'updated_at'
},
pagination: {
limit: <limit>, // number
offset: <offset>, // number | undefined
},
organization_ids: <organization_ids> // string[]
})
get_reports в Pythonget_reports(
filter=ReportFilter(
query=<query>, # str | None
tags=<tags>, # List[str] | None
),
sorting=ReportSorting(
order=<order_dir>, # 'asc' | 'desc'
order_by=<order_field> # 'name' | 'created_at' | 'updated_at'
),
pagination=Pagination(
limit=<limit>, # int
offset=<offset> # int | None
),
organization_ids=<organization_ids> # List[str] | None
)
Параметры метода включают в себя:
-
настройки фильтрации списка (необязательный блок):
-
<query>(необязательный): запрос для поиска (строка); -
<tags>(необязательный): список тегов, связанных с отчетами (массив строк);
-
-
настройки сортировки списка (необязательный блок):
-
<order_dir>: порядок сортировки ('asc'/Asc— по возрастанию или'desc'/Desc— по убыванию); -
<order_field>: поле для сортировки:-
'name'— название отчета; -
'created_at'— время создания отчета; -
'updated_at'— время изменения отчета.
-
-
-
ограничение количества выводимых результатов (необязательный блок):
-
<limit>(обязателен, если ограничение указано): максимальное количество записей в ответе (число); -
<offset>(необязательный): порядковый номер первой записи, начиная с которой выводится ответ (число);
-
-
<organization_ids>(необязательный): организации, к которым принадлежит отчет (массив строк).
Метод возвращает массив объектов отчетов.
Примеры получения списка отчетов
Пример скрипта с get_reports в TypeScript
id: get_reports_ts
name: get_reports_ts
description: Получение списка отчетов с фильтрами
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const ORG_IDS = ["00000000-0000-0000-0000-000000000000"];
const FILTER_QUERY = "main-reports";
const FILTER_TAGS = [];
export async function main() {
try {
console.log("Получение списка отчетов...\n");
const reports = await sdk.report.get_reports({
organization_ids: ORG_IDS,
filter: {
query: FILTER_QUERY,
tags: FILTER_TAGS,
},
pagination: { limit: 10, offset: 0 },
sorting: { order: "desc", order_by: "created_at" },
});
console.log(`Найдено отчетов: ${reports.length}`);
reports.forEach((r, i) => {
console.log(` ${i + 1}. ID: ${r.id}, Название: ${r.name}, Template: ${r.template_id}, Создан: ${r.created_at}`);
});
} catch (e) {
console.error('Ошибка:', e);
}
}
Пример скрипта с get_reports в Python
id: get_reports_py
name: get_reports_py
description: Получение списка отчетов с фильтрами (Python)
version: 0.0.1
type: script
source: !py |
from playbooks.report import ReportClient, ReportFilter, ReportSorting, Pagination
ORG_IDS = ["00000000-0000-0000-0000-000000000000"]
FILTER_QUERY = "main-reports"
FILTER_TAGS = []
def main():
print("Получение списка отчетов (Python)...\n")
client = ReportClient.initialize()
try:
reports = client.get_reports(
organization_ids=ORG_IDS,
filter=ReportFilter(query=FILTER_QUERY, tags=FILTER_TAGS),
sorting=ReportSorting(order="desc", order_by="created_at"),
pagination=Pagination(limit=10, offset=0),
)
print(f"Найдено отчетов: {len(reports)}")
for i, r in enumerate(reports):
print(f" {i+1}. ID: {r.id}, Название: {r.name}, Template: {r.template_id}, Создан: {r.created_at}")
except Exception as e:
print(f"Ошибка: {e}")
Удаление отчета (delete_report)
Метод delete_report удаляет сформированный отчет.
delete_report в TypeScriptdelete_report({
id: <report_id> // string
})
delete_report в Pythondelete_report(
id=<report_id> # str
)
В методе используется параметр <report_id> — идентификатор отчета (строка).
Метод возвращает идентификатор удаленного отчета.
Примеры удаления отчета
Пример скрипта с delete_report в TypeScript
id: delete_report_ts
name: delete_report_ts
description: Удаление отчета
version: 0.0.1
type: script
source: !deno |
import * as sdk from "@playbooks/sdk"
const REPORT_ID = "eba99fcb-6895-42dd-8347-c4453979a7fb";
export async function main() {
try {
console.log(" Удаление отчета...\n");
const deletedId = await sdk.report.delete_report({
id: REPORT_ID,
});
console.log(` Отчет удален, ID: ${deletedId}`);
// Проверим, что удалился
try {
await sdk.report.get_report({ id: REPORT_ID });
console.log(" Отчет все еще существует!");
} catch {
console.log(" Подтверждено: отчет не найден (удален)");
}
} catch (e) {
console.error(' Ошибка:', e);
}
}
Пример скрипта с delete_report в Python
id: delete_report_py
name: delete_report_py
description: Удаление отчета (Python)
tags: [tests, py, sdk, report]
version: 0.0.8
type: script
source: !py |
from playbooks.report import ReportClient
REPORT_ID = "eba99fcb-6895-42dd-8347-c4453979a7fb"
def main():
print("Удаление отчета (Python)...\n")
client = ReportClient.initialize()
try:
deleted_id = client.delete_report(id=REPORT_ID)
print(f"Отчет удален, ID: {deleted_id}")
try:
client.get_report(id=REPORT_ID)
print("Отчет все еще существует!")
except:
print("Подтверждено: отчет не найден (удален)")
except Exception as e:
print(f"Ошибка: {e}")
Метод возвращает идентификатор удаленного отчета.
Была ли полезна эта страница?