Написание скриптов
Для автоматического выполнения каких-либо действий в системе Monq заложен функционал написания скриптов на языке программирования Lua. Это могут быть действия по регистрации инцидентов в ServiceDesk, перезапуск служб, перезагрузка маршрутизаторов и коммутаторов и т.д.
Примеры реализованных скриптов можно найти в разделе документации - Решения
Чтобы создать свой скрипт автоматизации выполните следующие действия:
Перейдите в раздел Действия - Мои скрипты через основное меню.
В правом верхнем углу нажмите кнопку Добавить скрипт.
Заполните форму.
- Владелец скрипта - Рабочая группа, которая будет иметь доступ к скрипту
- Название скрипта
- Описание скрипта (опционально)
Нажмите кнопку Создать скрипт - скрипт будет создан и откроется страница управления скриптом.
Перейдите на вкладку Редактор для редактирования кода.
Нажмите кнопку Новая версия чтобы разблокировать окно редактора кода.
Напишите свой скрипт (например, Регистрация задачи в 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После завершения редактирования скрипта проверьте его с помощью кнопки Проверка кода, после чего нажмите кнопку Сделать исполняемой для выпуска версии.
Созданный скрипт можно выполнить находясь на странице конфигурации скрипта нажав кнопку в правом верхнем углу Запустить сейчас, заполнить определенные переменные и нажать Запустить.
Результат и лог выполнения скрипты доступен на вкладке История запусков скрипта.
Чтобы назначить запуск данного скрипта по возникновению определенных событий в системе мониторинга Monq - читайте следующий раздел документации Настройка правил и действий