DevOps
[Rocket.Chat] Incoming WebHook Script
기록하는 백앤드개발자
2022. 6. 10. 11:29
반응형
ㅁ 개요
ㅇ 로켓챗에 시스템 알람을 표시 하기 위해 Incommong WebHook을 생성하고 알람을 발송하는 과정을 정리하였다.
ㅁ Admin Panel로 이동
ㅁ 인티그레이션
ㅇ 인티그레이션을 클릭한다.
ㅇ Incoming 선택 후 + New를 클릭한다.
ㅁ Incoming Webhook 생성
ㅇ 활성화를 체크한다.
ㅇ #MonitoringAlarm 채널을 입력한다.
ㅇ peter 작성자를 등록.
ㅇ 채널에 표시될 Alias를 넣는다. MonitoringAlarm로 입력하였다.
ㅇ 아바타로 👻 를 선택하였다.
ㅇ 스크립트 사용을 활성화 한다.
/* exported Script */
/* globals console, _, s */
/** Global Helpers
*
* console - A normal console instance
* _ - An underscore instance
* s - An underscore string instance
*/
class Script {
/**
* @params {object} request
*/
process_incoming_request({ request }) {
// request.url.hash
// request.url.search
// request.url.query
// request.url.pathname
// request.url.path
// request.url_raw
// request.url_params
// request.headers
// request.user._id
// request.user.name
// request.user.username
// request.content_raw
// request.content
// console is a global helper to improve debug
console.log(request.content);
return {
content:{
text: request.content.text
// "attachments": [{
// "color": "#FF0000",
// "author_name": "Rocket.Cat",
// "author_link": "https://open.rocket.chat/direct/rocket.cat",
// "author_icon": "https://open.rocket.chat/avatar/rocket.cat.jpg",
// "title": "Rocket.Chat",
// "title_link": "https://rocket.chat",
// "text": "Rocket.Chat, the best open source chat",
// "fields": [{
// "title": "Priority",
// "value": "High",
// "short": false
// }],
// "image_url": "https://rocket.chat/images/mockup.png",
// "thumb_url": "https://rocket.chat/images/mockup.png"
// }]
}
};
// return {
// error: {
// success: false,
// message: 'Error example'
// }
// };
}
}
ㅇ 이후 저장을 누르면 Webhook URL과 Token이 생성되고 하단에 샘플 CURL이 생성된다.
ㅁ CURL 테스트
ㅇ 테스트 발송이 성공하였다.
ㅇ CURL 코드를 통해 서버에서 직접 Webhook을 발송할 수 있다.
반응형