ServiceNow 대상(사용자 지정 Webhook)
Panther의 사용자 지정 Webhook 옵션을 사용하여 ServiceNow 알러트를 설정하기
개요
Panther 알러트에서 티켓을 생성하도록 ServiceNow를 구성하는 방법
사전 요구 사항
1단계: ServiceNow에서 Scripted REST API 생성
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) { // 서로 다른 필드를 준비합니다 var data = request.body.data; var title = data.title; var 알러트 = JSON.stringify(data); var 알러트Context = JSON.stringify(data.alertContext); var severity = data.severity; var link = data.link; var runbook = data.runbook; var type = data.type; var 알러트Id = data.alertId; var grIncident = new GlideRecord('incident'); grIncident.initialize(); grIncident.setValue('short_description', title); grIncident.setValue('description', 알러트 ); grIncident.setValue('category', type); grIncident.setValue('subcategory', alertId); //우선순위를 Panther 심각도로 매핑 if (severity == "CRITICAL" || severity == "HIGH") { grIncident.setValue('urgency','1'); grIncident.setValue('impact','1'); } else if (severity == "LOW" || severity == "MEDIUM") { grIncident.setValue('urgency','2'); } else { grIncident.setValue('urgency','3'); } //grIncident.insert(); var recResponse = grIncident.insert(handleResponse); function handleResponse(recResponse, answer) { // answer는 생성된 레코드의 sys_id이거나 null입니다 알러트('새로 생성된 sys_id는 - ' + answer + ' 입니다'); } var url = gs.getProperty('glide.servlet.uri'); //API 응답을 생성합니다. 이 예제는 위에서 생성된 incident ID를 반환합니다. var body = {}; body.sys_id = recResponse; body.link = url + "task.do?sys_id=" + recResponse; response.setBody(body); //Panther에서 대상으로 생성 및 테스트할 때의 예제 테스트 이벤트 //{"id":"Test.알러트","createdAt":"2022-04-26T03:17:32.099054303Z","severity":"INFO","type":"룰","link":"https://domain.runpanther.net","title":"이것은 테스트 알러트입니다","name":"Test 알러트","알러트Id":"Test.알러트","알러트Context":{},"description":"이것은 테스트 알러트입니다","runbook":"막혔나요? 문서를 확인하세요: https://docs.runpanther.io","tags":["test"],"version":"abcdefg"} })(request, response);
2단계: Panther에서 사용자 지정 웹훅 통합 만들기
예시

마지막 업데이트
도움이 되었나요?








