본문으로 건너뛰기
버전: 최신

WebHook

WebHook 플러그인은 AMMDS 플랫폼에 지정된 WebHook URL로 푸시 알림을 보낼 수 있는 기능을 제공하여 사용자가 실시간 시스템 이벤트 알림을 받을 수 있도록 합니다. WebHook을 통해 사용자는 AMMDS 플랫폼의 다양한 이벤트(작업 완료, 시스템 알림, 상태 변경 등)를 외부 시스템으로 실시간으로 푸시하여 타사 서비스와의 통합을 실현할 수 있습니다.

플러그인 구성

플러그인 구성

플러그인 구성 항목

  • 활성화 상태: WebHook 플러그인을 활성화할지 여부를 제어합니다. 비활성화하면 모든 WebHook 서비스가 알림 전송을 중지합니다.
  • 재시도 횟수: 알림 전송 실패 후 재시도 횟수를 설정합니다. WebHook 요청이 실패하면 시스템이 설정된 횟수에 따라 자동으로 재시도합니다.
  • 재시도 간격: 각 재시도 사이의 시간 간격(단위: 초)을 설정합니다. 재시도 간격을 합리적으로 설정하면 대상 서버에 과도한 부담을 주는 것을 방지할 수 있습니다.

WebHook 서비스 구성

WebHook 서비스 구성

플러그인은 여러 WebHook 서비스를 동시에 구성하는 것을 지원합니다. 각 서비스는 URL과 알림 콘텐츠 형식을 독립적으로 설정할 수 있습니다. 사용자는 다른 알림 시나리오에 따라 여러 WebHook 서비스를 만들 수 있습니다. 예를 들어:

  • 시스템 알림 알림
  • 작업 상태 변경 알림
  • 중요 이벤트 알림
  • 데이터 동기화 알림

WebHook 서비스 추가

"추가" 버튼을 클릭하여 새 WebHook 서비스를 추가하는 구성 대화 상자를 엽니다.

WebHook 서비스 추가 WebHook 서비스 구성 항목

WebHook 서비스 구성 항목

기본 구성

  • 서비스 이름: WebHook 서비스에 식별 이름을 설정하여 관리 및 식별에 사용합니다. "시스템 알림 알림", "작업 완료 알림" 등과 같은 설명적인 이름을 사용하는 것이 좋습니다.
  • URL: 푸시 알림을 받을 WebHook 주소를 지정합니다. 이 주소에 정상적으로 액세스할 수 있고 POST 요청을 처리할 수 있는지 확인합니다.
  • 설명: WebHook 서비스에 설명을 추가하여 서비스의 용도나 목표를 설명합니다. 자세한 설명은 후속 관리 및 유지 관리에 도움이 됩니다.
  • 활성화 상태: 이 WebHook 서비스를 활성화할지 여부를 제어합니다. 비활성화하면 이 서비스는 알림 전송을 중지하지만 구성은 유지됩니다.

요청 헤더 구성

  • 요청 헤더: WebHook 요청에 대한 사용자 정의 요청 헤더를 설정하며 형식은 키: 값, 한 줄에 하나입니다. 일반적인 요청 헤더는 다음을 포함합니다:
    • Content-Type: application/json: 요청 본문 형식을 JSON으로 지정
    • Authorization: Bearer <token>: 인증 토큰을 추가하여 API 호출 보안 보장
    • X-Custom-Header: <value>: 사용자 정의 비즈니스 헤더 정보 추가
  • "추가" 버튼을 클릭하여 여러 사용자 정의 요청 헤더를 추가할 수 있습니다

요청 본문 구성

  • 콘텐츠 형식: 요청 본문은 JSON 형식이어야 합니다. 플러그인은 알림 콘텐츠를 자동으로 JSON 문자열로 변환하여 보냅니다. 사용자는 수신 측의 요구에 따라 JSON 구조를 사용자 정의할 수 있습니다. 예를 들어:
    {
    "event": "{{type}}",
    "title": "{{title}}",
    "message": "{{message}}",
    "timestamp": "{{time}}",
    "data": {
    "logo": "{{logo}}",
    "image": "{{image}}",
    "sign": "{{sign}}"
    }
    }

푸시 확인

  • 확인 유형: WebHook 응답의 확인 방법을 설정하여 알림 전송 성공을 보장합니다
    • 상태 코드: 응답 상태 코드가 200인지 확인합니다. 표준 REST API 인터페이스에 적용됩니다.
    • 콘텐츠: 응답 콘텐츠에 지정된 문자열이 포함되어 있는지 확인합니다. 사용자 정의 인터페이스 또는 특정 응답 콘텐츠가 필요한 시나리오에 적용됩니다.

변수 설명

변수 설명

변수설명
{{sign}}서명, 알림의 진위 확인에 사용
{{title}}알림 제목, 이벤트 콘텐츠를 간략하게 설명
{{subTitle}}알림 부제목, 추가 이벤트 정보 제공
{{logo}}로고 URL, 이벤트와 관련된 아이콘 또는 식별자
{{image}}이미지 URL, 이벤트와 관련된 이미지 리소스
{{message}}메시지 본문, 이벤트 콘텐츠를 자세히 설명
{{time}}푸시 시간, 이벤트 발생 타임스탬프
{{type}}이벤트 유형, 이벤트의 범주 식별

요청 본문 및 요청 헤더에서 위 변수를 사용할 수 있으며, 플러그인이 자동으로 실제 값으로 대체합니다.

사용 시나리오

WebHook 플러그인은 다음 시나리오에 적합합니다:

  1. 시스템 모니터링 통합: AMMDS 플랫폼의 알림 정보를 Prometheus, Grafana 등과 같은 모니터링 시스템으로 푸시합니다.
  2. 워크플로우 자동화: AMMDS 플랫폼의 작업이 완료되면 자동 배포, 데이터 동기화 등과 같은 외부 시스템의 후속 작업을 트리거합니다.
  3. 알림 알림: 기업 WeChat, DingTalk, Slack 등과 같은 기업 내부 커뮤니케이션 도구에 중요 이벤트를 푸시합니다.
  4. 데이터 백업: WebHook을 통해 AMMDS 플랫폼의 주요 데이터를 정기적으로 백업 시스템으로 푸시합니다.

모범 사례

  1. 보안: WebHook URL에서 HTTPS 프로토콜을 사용하여 일반 텍스트 전송을 방지합니다. 인증이 필요한 인터페이스의 경우 요청 헤더를 사용하여 인증 정보를 추가합니다.
  2. 신뢰성: 재시도 횟수와 간격을 합리적으로 설정하여 알림이 신뢰할 수 있게 전달되도록 합니다.
  3. 성능: WebHook 처리 논리에서 시간이 많이 걸리는 작업을 수행하지 않고 응답 속도를 빠르게 유지합니다.
  4. 모니터링: WebHook 전송 상태를 모니터링하여 문제를及时发现하고 해결합니다.
  5. 버전 관리: WebHook 구성을 수정할 때 기존 통합에 영향을 미치지 않도록 하위 호환성에 주의합니다.