Top.Mail.Ru
Работа с сервисами
8 800 555-89-02
Документация
CTRL+K
Standalone2402
SaaS

Работа с сервисами

В этой статье

Работа с сервисами осуществляется с помощью блоков:

Получить календари

С помощью блока можно получить список календарей сотрудника.

Для этого введите домен или логин пользователя или добавьте его с помощью маппинга в поле Домен\логин.

Получить календари

После выполнения блок возвращает список календарей пользователя, которые можно использовать в блоке Получить события календаря.

При настройке подключения вы можете активировать режим имперсонализации данных. Если он включен, данные о календарях и событиях будут поступать от имени пользователя, чей электронный адрес указан в настройках блока.

Режим имперсонализации данных

Получить события календаря

Блок позволяет получить список событий календаря.

Параметры блока:

  • идентификатор календаря (обязательное поле, заполняется вручную или с помощью маппинга)
  • условие сбора событий

Получить события календаря

Если поле Условие сбора событий:

  • оставить пустым, то в выходных данных отобразятся все события календаря, начиная с первой даты создания
  • заполнить значением sync_state, то в выходных данных отобразятся повторяющиеся, неповторяющиеся и отмененные события, которые были созданы или обновлены с момента времени последнего выполнения скрипта. Значение sync_state уникально для каждого события и опирается на дату последнего изменения события
  • заполнить значением даты в миллисекундах, то в выходных данных отобразятся только те события, которые начинаются с этой даты. Значение даты опирается на время начала события. В этом случае в выходных данных отобразятся неповторяющиеся события, повторяющиеся события разобьются на отдельные встречи. Отмененные события отображаться не будут

Блок выводит данные событий указанного календаря. На основе полученных данных можно создать таблицу и построить процесс.

Получить журнал работ

Блок находит журнал работ задачи в Jira, который соответствует JQL-фильтру.

Параметры блока:

  • подключение (выбор существующего подключения или добавление нового)
  • JQL-запрос (Jira Query Language)

Получить журнал работ

Пример:

  1. Вводим JQL-запрос на поиск задач по фильтру в соответствующее поле. После тестируем блок. Запрос и тест
  2. Когда тест завершен, получаем выходные данные во вкладке Тест. Результат теста

Полученные данные можно добавить в таблицу с помощью блока «Добавить строки» через функционал «Добавить таблицу с помощью выходных данных».

Найти задачи

Блок находит задачи в Jira, которые соответствуют JQL-фильтру.

Параметры:

  • подключение (выбор существующего подключения или добавление нового)
  • JQL-запрос (Jira Query Language)

Найти задачи

Пример:

  1. Создаём JQL-запрос для поиска задач в статусе «В работе» и тестируем блок. Запрос на поиск
  2. Получаем данные задач с указанным статусом. Выходные данные

Данные, полученные в данном блоке, можно добавить в существующую таблицу с помощью блока Обновить строки или создать новую с помощью блока Добавить строки.

Получить журнал изменений

Блок возвращает журнал изменений для задач, которые соответствуют JQL-фильтру.

Параметры:

  • подключение (выбор существующего подключения или добавление нового)
  • JQL-запрос (Jira Query Language)

Получить журнал изменений

Пример:

  1. Вводим запрос для получения журнала изменений для задач со статусом «Отложено» и тестируем. Запрос на получение журнала
  2. Получаем данные задач с указанным статусом. Данные теста

Полученные данные можно внести в таблицу с помощью блока Добавить строки.

Отправить письмо

Блок позволяет отправлять письма на указанный адрес электронной почты.

Параметры:

  • подключение (выбор существующего подключения или добавление нового)
  • адрес получателя
  • тема письма
  • сообщение (формат: Текст или HTML)
  • вложение
  • копия
  • скрытая копия

Отправить письмо

Отправить письмо можно с адреса, указанного при настройке подключения SMTP, или из системы, выбрав блок «Отправить письмо» в пакете «Письма из системы».

Отправить письмо

Для отправки письма из пакета «Письма из системы» необходимо настроить сервер исходящей почты.

Особенности работы блока:

  • в блоке можно использовать значения только одного блока-источника. Например, перед блоком «4. Отправить письмо» есть еще два блока: «2.» и «3.». Данные можно получить только из одного из них. Если указываются оба блока, появляется ошибка
  • перед блоком обязательно должен быть другой. Количество отправленных писем будет зависеть от количества возвращенных записей. Например, предыдущий блок вернул 5 записей, значит, будет отправлено 5 писем
  • в поле Адрес получателя можно указать нескольких пользователей текстом через запятую
  • если в поле Адрес получателя подставить значение с помощью маппинга, письмо будет отправлено только на первый адрес, указанный в таблице

Пример:

  1. Добавляем блок Отправить письмо и вводим адрес получателя. Если получателей несколько, указываем все адреса в поле Адрес получателя текстом через запятую. Заполняем другие поля блока и нажимаем Тестировать. Отправить письмо
  2. Когда тест завершится, письмо будет отправлено на указанные адреса.

HTTP-запрос

Блок позволяет отправлять HTTP-запрос на указанный адрес.

Параметры:

  • подключение (выбор существующего подключения или добавление нового)
  • URL
  • метод (GET, POST)
  • заголовок (ключ и значение)
  • тело запроса (при методе POST)
  • пакетная обработка (при методе POST, позволяет ускоренно отправлять данные)

Метод выбирается из списка, все остальные параметры могут быть заданы вручную или с помощью маппинга.

HTTP-запрос

Пример:

  1. Вводим URL и тестируем по нажатию кнопки Тестировать. Параметры
  2. Когда тест завершен, получаем выходные данные во вкладке Тест. Тест

Запуск скрипта с помощью GraphQL-запроса

  1. Получите GUID скрипта и ID рабочего пространства, выполнив следующий запрос в GraphiQL:
    query{
      automation{
        script{
          script_general(id: <id_скрипта>){
            id
            guid
            workspace{
              id
            }
          }
        }
      }
    }
    
  2. В блоке HTTP-запрос введите URL-адрес вашего сервера GraphQL с ключом API в формате https://{адрес_сервера}/graphql?api_key=ключ.
  3. Выберите метод POST.
  4. В поле Тело запроса введите запрос:
    mutation{
      automation{
        script{
          execute_by_guid(guid:<"полученный_GUID_скрипта">, workspace_id:<полученный_id_пространства>,data:""){
            guid
          }
        }
      }
    }
    
    Запуск скрипта с помощью GraphQL-запроса
  5. Нажмите Тестировать.
  6. Когда тест завершится, выходные данные отобразятся во вкладке Тест. Выходные данные

Выполнить код

Блок позволяет обрабатывать данные с помощью JS-кода.

Выполнить код

Используйте блок, чтобы:

  • выполнять множественные/связанные HTTP-запросы
  • выгружать/загружать файлы с помощью HTTP-запросов
  • совершать математические действия над данными (переменными)
  • обрабатывать строки в JSON и фильтровать значения

Чтобы выполнить действие, введите JS-код в поле JavaScript в параметрах блока. С помощью маппинга в код можно подставить переменные.

Блок может содержать z-метод для хеширования и обработки ошибок. Возможные методы для выполнения в JS-среде:

  • z.base64Encode() — производит base64-кодирование входной строки. Например: const auth = z.base64Encode(login + ':' + password);
  • z.base64Decode() — производит base64-декодирование входной строки. Например: const originalText = z.base64Decode(encodedText);
  • z.request() — выполняет HTTP-запрос. Ожидает на вход объект с конфигурацией запроса. Параметры:
    • url — адрес, куда будет отправлен запрос
    • method — по умолчанию GET. Возможные значения: GET, POST, DELETE, PUT
    • headers — список заголовков HTTP-запроса
    • jsonBody/multipartBody — тело запроса. Обязательный параметр для методов POST и PUT

Запуск скрипта с помощью JS-кода

  1. Введите код в поле JavaScript:
    const apiKey = 'ключ';
    const scriptGuid = 'GUID_скрипта';
    const workspaceId = 1;
    
    var resp1 = z.request({
        url: 'https://адрес_сервера/graphql?api_key=' + apiKey,
        method: 'POST',
        jsonBody: '{"query":"mutation{automation{script{execute_by_guid(guid:\\"' +     scriptGuid + '\\", workspace_id:' + workspaceId + '){guid}}}}"}'
    });
    
    const app = {
        output: () => ({
                resp_1_body: JSON.stringify(resp1.response),
                resp_1_header: JSON.stringify(resp1.headers),
                resp_1_status: resp1.status,
                ["var-with-hard-name-1"]: resp1.headers.date,
                ["var-with-hard-name-2"]: resp1.headers["cache-control"],
                content_type: resp1.headers["content-type"],
                content_length: resp1.headers["content-length"]
            }
        )
    }
    
  2. Нажмите Тестировать.
  3. Когда тест завершится, выходные данные отобразятся во вкладке Тест.

Запустить скрипт по GUID

Получение файла с Jira

  1. Введите код в поле JavaScript:
    const login = 'test@infomaximum.com';
    const password = 'JfCi!$gJRQB$QK5x';
    const auth = z.base64Encode(login + ':' + password);
    
    var resp1 = z.request({
        url: 'https://jira.office.infomaximum.com/secure/attachment/76158/Screenshot_1.   jpg',
        method: 'GET',
        headers: {
            Authorization: 'Basic ' + auth
        }
    });
    
    const app = {
        output: () => ({
                resp_1_body: JSON.stringify(resp1.response),
                resp_1_header: JSON.stringify(resp1.headers),
                resp_1_status: resp1.status,
                file_content: resp1.response,
                ["var-with-hard-name-1"]: resp1.headers.date,
                ["var-with-hard-name-2"]: resp1.headers["cache-control"],
                content_type: resp1.headers["content-type"],
                content_length: resp1.headers["content-length"]
            }
        )
    }
    
  2. Нажмите Тестировать.
  3. Когда тест завершится, выходные данные отобразятся во вкладке Тест.

Получить файл с Jira

Была ли статья полезна?

Да
Нет
Предыдущая
Работа с файлами
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.