- Created by Aleksandr Pletnev, last modified on Feb 10, 2021
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 7 Next »
Вызов внешнего сервиса и разбор ответа в JS
установитьПеременную("baseURL", "https://swapi.dev/api") + вызвать.внешнийСервис("{baseURL}/people/1/", "GET").сЗаголовками(("Content-Type", "application/json")).сохранитьРезультатКакСтроку("results")+ выполнитьJs(""" var result = JSON.parse(results); var exit = {'name':result.name, 'gender':result.gender}; exit; """)+ сообщениеПользователю.сШаблоном("name {name}<br>gender {gender}")+ завершить
Создание заявки в ITSM системе с использованием данных пользователя для динамического заполнения необходимых полей на примере Jira (Запуск интеграции по кнопке)
// Адрес API ITSM системы - получить у администратора системы установитьПеременную("jira_host", "https://ххххххх.atlassian.net/rest/api/2/issue/")+ установитьПеременную("tags", "{\"Bug\": \"Проблема\", \"2\": \"Задача\", \"3\": \"Комментарий\", \"4\": \"Прочее\"}") + // Собираем поля для формы оператора // Добавляем текстовое поле для отображения информации добавитьПолеВФормуОператора( форма = "Обновление заявки", переменная = "formName", название = "Действие:", значение = "Регистрация нового инцидента", тип = "Нередактируемый текст", описание = "", обязательное = false ) + // Добавляем обязательное поле для резюме, форма сохранит введенный текст в переменную summary // Для подставновки ФИО пользователя используем переменную userFullName добавитьПолеВФормуОператора( форма = "Обновление заявки", переменная = "summary", название = "Резюме", значение = "Заявка для {userFullName}", тип = "Однострочный редактируемый текст", обязательное = true ) + // Добавляем обязательное поле для описания, форма сохранит введенный текст в переменную description // Для подставновки логина пользователя используем переменную userLogin // Чтобы ускорить процесс добавим вопрос пользователя к описанию с помощью переменной platformInMessageQuery добавитьПолеВФормуОператора( форма = "Обновление заявки", переменная = "description", название = "Описание заявки", тип = "Многострочный редактируемый текст", описание = "Опишите вашу проблему", значение = "Пользователь: {userFullName} логин: {userLogin} сообщает: {platformInMessageQuery}", обязательное = true ) + // Добавляем обязательное поле для выбора тега из списка тегов tags, сохранит выбранное значение в переменную tag добавитьПолеВФормуОператора( форма = "Обновление заявки", переменная = "issuetype", название = "Тег", тип = "Выпадающий список", описание = "Выберите из списка критичность заявки", обязательное = true, варианты = "{tags}" ) + // показываем форму оператору, пока оператор не закроет форму сценарий ждет // если оператор нажмет в форме Отмена - сценарий остановится показатьФормуОператору(имя = "Обновление заявки") + // отправка запроса на регистрацию инцидента в соответствии с выбранными значениями вызвать.внешнийСервис("{jira_host}", "POST").сЗаголовками(("Content-Type", "application/json"),("charset", "utf-8"),("Authorization", "Basic YWFwbGV0bjFAZ21haWwuY25IUUdmR05VRGdFOXlTMkhuRkE3RA==")).сТеломСообщения("{\"fields\":{\"project\":{\"key\":\"INT\"},\"summary\":\"{summary}\",\"description\":\"{description}\",\"issuetype\":{\"name\":\"{issuetype}\"}}}").сохранитьРезультат(("id","ticketid"),("key","key"),("self","link"))+ // обработка ошибок если("{http_code} != 201").то( // если запрос завершен с ошибкой сценарий помещает в диалог соответствующий комментарий и завершает свою работу комментарий("При запросе на регистрацию инцидента возникла ошибка {http_code}, обратитесь к системному администратору")+ завершить )+ // помещаем комментарий в диалог об успешной регистрации инцидента комментарий("Зарегистрирован инцидент: заявка {link}")+ // добавляем переменную чата со ссылкой на инцидент, переменная отобразится в боковой панели оператора без возможности редактирования установитьПеременнуюВДиалог( ключ = "linkJira", значение = "{link}", название = "Ссылка на Jira", показыватьОператору = true, редактируемое = false, обязательное = false, тип = "Текст" )+ установитьПеременнуюВДиалог( ключ = "incNum", значение = "{key}", название = "Инцидент №", тип = "Текст", показыватьОператору = true, обязательное = false, редактируемое = false )+ завершить
Форма с использованием полей различных типов (Запуск интеграции по кнопке)
комментарий("Запуск интеграции по кнопке.")+ установитьПеременнуюВДиалог("Поле 2", значение = "Field 2", название = "Поле 2", показыватьОператору = true, обязательное = true, редактируемое = false)+ установитьПеременную("priority", "{\"v1\": \"Blocker\", \"v2\": \"Critical\", \"v3\": \"Major\", \"v4\": \"Minor\"}") + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t1", название = "Что вам нужно сделать: ", тип = "Нередактируемый текст", значение = "Заполните форму" ) + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t2", название = "Название заявки", тип = "Однострочный редактируемый текст", описание = "Введите название заводимой заявки", значение = "Введите", обязательное = true ) + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t3", название = "Критичность", тип = "Выпадающий список", описание = "Выберите из списка критичность заявки", обязательное = true, значение = "v3", варианты = "{priority}" ) + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t4", название = "Описание", тип = "Многострочный редактируемый текст", описание = "Опишите вашу проблему", обязательное = true ) + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t5", название = "Уведомить руководителя?", тип = "Переключатель", обязательное = false ) + установитьПеременную("tags", "{\"v1\": \"Teacher\", \"v2\": \"Student\", \"v3\": \"Sales\", \"v4\": \"Tech\"}") + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t6", название = "Теги", тип = "Множественный выбор", описание = "Выберите теги, которыми пометить обращение", варианты = "{tags}", обязательное = true ) + добавитьПолеВФормуОператора( форма = "Заведение заявки в Jira", переменная = "t7", тип = "Целое число", название = "Частота возникновения проблемы", описание = "% пользователей, у которых возникает проблема" ) + показатьФормуОператору(имя = "Заведение заявки в Jira") + комментарий("Вот что у нас получилось: {t2}, {t3}, {t4}")+ комментарий("Конец сценария интеграции!")
Приветствие пользователя с интерактивным меню
задатьПользователюВопрос("Здравствуйте 😊<br>Что Вас интересует?").сВариантамиОтвета("Первое","Второе","Компот").сохранитьРезультат("userChoice")+ если("{userChoice} == Первое").то(завершитьСНовымЗапросом("Первые блюда"))+ если("{userChoice} == Второе").то(завершитьСНовымЗапросом("Вторые блюда"))+ если("{userChoice} == Компот").то(завершитьСШаблоном("Закончился. Всего хорошего!"))+ завершить
Индивидуальное приветствие пользователей для каждого канала или типа каналов (социальных сетей \ мессенджеров)
если("{channelType} == Telegram").то(сообщениеПользователю.сШаблоном("Добро пожаловать в наш Telegram"))+ если("{channelId} == 2f7ce72f-8003-4e17-b879-e3c71f239149").то(сообщениеПользователю.сШаблоном("Здравствуйте!"))+ завершить
- No labels