Перейти к основному содержимому
Версия: 7.14

Написание скриптов

Для автоматического выполнения каких-либо действий в системе Monq заложен функционал написания скриптов на языке программирования Lua. Это могут быть действия по регистрации инцидентов в ServiceDesk, перезапуск служб, перезагрузка маршрутизаторов и коммутаторов и т.д.

Примеры реализованных скриптов можно найти в разделе документации - Решения

Чтобы создать свой скрипт автоматизации выполните следующие действия:

  1. Перейдите в раздел Действия - Мои скрипты через основное меню.

  2. В правом верхнем углу нажмите кнопку Добавить скрипт.

  3. Заполните форму.

    Изображение

    • Владелец скрипта - Рабочая группа, которая будет иметь доступ к скрипту
    • Название скрипта
    • Описание скрипта (опционально)
  4. Нажмите кнопку Создать скрипт - скрипт будет создан и откроется страница управления скриптом.

  5. Перейдите на вкладку Редактор для редактирования кода.

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

  7. Напишите свой скрипт (например, Регистрация задачи в Jira):

    -- Скрипт регистрации задач в JIRA
    -- Для работы скрипта необходимо добавить следующие строковые переменные:
    -- urlJira - адрес ссервера jira (например https://jira.atlassian.com)
    -- projectName - имя проекта в котором будет создана задача
    -- issueType - id типа задачи
    -- issuePriorityId - приоритет задачи
    -- issueDescription - описание задачи
    -- issueName - имя задачи
    -- issueTag - метка задачи
    -- assigneeId - id пользователя который будет установлен исполнителем
    -- также заполнить параметры login и password

    urlJira = "https://jira.atlassian.net"
    projectName = ""
    issueType = ""
    issuePriorityId = "Medium"
    issueDescription = ""
    issueName = "AlarmTest"
    issueTag = "Monq"
    assigneeId = ""

    urlSend = urlJira .. "/rest/api/2/issue/"
    -- Формируем JSON создания задачи для отправки в API JIRA
    issueTagsStr = nul
    if (issueTag == "") then
    issueTagPart = ""
    else
    for SubStr in string.gmatch(issueTag, "%S+") do
    if (issueTagsStr) then
    issueTagsStr = issueTagsStr .. ',"' .. SubStr .. '"'
    else
    issueTagsStr = '"' .. SubStr .. '"'
    end
    end
    issueTagPart = '"labels":[' .. issueTagsStr .. '],'
    end

    json_str = '{"update": {},"fields": {"summary": "' .. issueName .. '","issuetype": {"id":"' .. issueType .. '"}, "project": {"id":"' .. projectName .. '"}, "description": "' .. issueDescription .. '"}}'

    local args =
    {
    method="POST",
    uri = urlSend,
    body = json_str,
    mediaType = "application/json",
    basicAuth = { login = "", password = "" }
    }

    local response = curl(args)
    if (response.err ~= nil) then
    print(response.err)
    return
    end
  8. После завершения редактирования скрипта проверьте его с помощью кнопки Проверка кода, после чего нажмите кнопку Сделать исполняемой для выпуска версии.

Созданный скрипт можно выполнить находясь на странице конфигурации скрипта нажав кнопку в правом верхнем углу Запустить сейчас, заполнить определенные переменные и нажать Запустить.

Результат и лог выполнения скрипты доступен на вкладке История запусков скрипта.

Чтобы назначить запуск данного скрипта по возникновению определенных событий в системе мониторинга Monq - читайте следующий раздел документации Настройка правил и действий