Вопрос или проблема
У меня есть панель инструментов Grafana, и я хочу создать инцидент в ServiceNow с помощью URL или кнопки. Кто-нибудь знает, возможно ли создать инцидент в ServiceNow через URL или API в панели инструментов Grafana?
Я искал в интернете, как создать инцидент с помощью URL, но ничего не нашел.
Ответ или решение
Для создания инцидента в ServiceNow из панели Grafana через URL или с помощью API можно использовать HTTP-запросы. Grafana не поддерживает прямое создание инцидентов, но вы можете использовать JavaScript для выполнения этой задачи. Вот пошаговое руководство:
Шаг 1: Настройка ServiceNow API
-
Получите доступ к API ServiceNow:
- Выберите нужный инцидент в ServiceNow и получите информацию о его создании через API, ознакомившись с документацией API ServiceNow.
- Проверьте, что у вас есть правильные учетные данные для доступа к API (логин и пароль).
-
Проверьте доступность API:
- Вы можете протестировать API через Postman или cURL, чтобы убедиться, что у вас есть доступ к созданию инцидентов.
Шаг 2: Создание запроса для создания инцидента
Используйте следующий пример JSON-запроса для создания инцидента:
{
"short_description": "Описание проблемы",
"description": "Детальное описание инцидента",
"priority": "2"
}
Шаг 3: Интеграция с Grafana
-
Создание кнопки в Grafana:
- В Grafana можно использовать ссылки на панелях. Для создания кнопки, которая будет вызывать создание инцидента, можно использовать панель Markdown.
[Создать инцидент](javascript:fetch('https://<YOUR_INSTANCE>.service-now.com/api/now/table/incident', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + btoa('<YOUR_USERNAME>:<YOUR_PASSWORD>') }, body: JSON.stringify({ "short_description": "Проблема с графиком", "description": "Подробности инцидента", "priority": "2" }) }).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Ошибка:', error));)
Замените
<YOUR_INSTANCE>
,<YOUR_USERNAME>
, и<YOUR_PASSWORD>
на ваши фактические данные ServiceNow. -
Добавление кнопки на панель:
- Откройте вашу панель в Grafana, выберите "Добавить панель", затем выберите тип "Markdown" и вставьте код выше.
Шаг 4: Тестирование
- После настройки панели и добавления кнопки, нажмите на неё для проверки создания инцидента в системе ServiceNow.
- Проверьте, создается ли инцидент и нет ли ошибок в консоли браузера.
Примечания
- Безопасность: Не храните пароли в открытом виде. Используйте токены OAuth для обеспечения безопасности API.
- Кросс-доменные запросы: Убедитесь, что ваш браузер или сервер Grafana позволяет выполнять кросс-доменные HTTP-запросы (CORS).
Заключение
Используя описанные выше шаги, вы сможете интегрировать создание инцидента в ServiceNow с вашей панелью Grafana. Убедитесь, что у вас есть необходимые права доступа и настройки безопасности при работе с API.