본문으로 건너뛰기

알림

프로젝트의 알림 탭은 작업 결과를 어디로 보낼지 결정합니다. 두 부분으로 이루어져 있습니다.

  • 서버 채널은 관리자가 서버의 config.json에 설정한 알림 제공자입니다. 알림을 참고하세요. 모든 프로젝트가 공유하며 각 프로젝트가 사용 여부를 정합니다.
  • 프로젝트 알림은 프로젝트에 속한 이름이 있는 대상입니다. Telegram 채팅, Slack 웹훅, 이메일 주소 목록 등입니다. 템플릿과 스케줄이 어떤 알림을 보낼지 선택합니다.

두 부분을 동시에 사용할 수 있습니다.

프로젝트의 알림 탭

서버 채널​

페이지 상단의 카드에 서버에 설정된 채널이 나열됩니다. 이 프로젝트의 알림을 서버 채널로 보내기를 켜면 이 프로젝트의 모든 작업 결과를 해당 채널로 받습니다. 이전 버전의 프로젝트 설정에서 Allow alerts for this project라고 불리던 것과 같은 스위치입니다.

서버에 봇 토큰이 있으면 Telegram이 표시되며, 채팅이 정해지기 전까지 회색으로 보입니다. 칩을 클릭해 이 프로젝트의 Telegram Chat ID를 입력하세요. 서버 전체 채팅보다 우선하며, 서버에 채팅이 없으면 필수입니다.

서버 채널은 성공, 실패, 확인 대기 등 모든 알림 대상 상태를 보고합니다. 이메일은 실패만 보고합니다. 템플릿은 여전히 성공 또는 실패 알림을 억제할 수 있습니다. 템플릿 알림을 참고하세요.

Telegram 채팅 ID를 연 서버 채널 카드

프로젝트 알림​

새 알림 메뉴

새 알림을 눌러 대상을 만듭니다. 각 알림에는 다음이 있습니다.

필드설명
이름템플릿과 스케줄 양식에 표시됩니다. 프로젝트 안에서 고유합니다.
유형채널: Telegram, Slack, Email, Microsoft Teams, Rocket.Chat, DingTalk 또는 Gotify. 양식에는 채널에 필요한 대상 필드가 표시됩니다.
대상Telegram은 채팅 ID와 선택적 포럼 주제, Slack·Teams·Rocket.Chat·DingTalk은 웹훅 URL, Gotify는 서버 URL, 이메일은 수신자(비우면 프로필에서 알림을 켠 프로젝트 구성원에게 전송).
비밀Telegram, Gotify, 이메일에는 비밀(봇 토큰, 애플리케이션 토큰, SMTP 자격 증명)이 필요합니다. 서버 설정 사용은 서버 설정에서, 내 것 사용은 키 저장소의 액세스 키(토큰은 비밀 토큰 유형, SMTP는 비밀번호 로그인 유형)에서 가져옵니다. 자체 자격 증명을 가진 이메일 알림은 자체 SMTP 호스트, 포트, 발신자, 암호화도 설정할 수 있습니다.
전송 시점알림이 반응하는 이벤트: 성공, 실패, 확인 대기. 새 알림은 채널 기본값으로 시작합니다.
프로젝트 기본값이 알림을 프로젝트 기본값 중 하나로 표시합니다. 프로젝트 기본값을 사용하는 모든 템플릿이 이를 보냅니다.
사용사용하지 않는 알림은 전송되지 않으며 프로젝트 기본값이 아닙니다.
메시지 템플릿메시지 본문용 선택적 Go 템플릿. 기본 제공 텍스트를 그대로 두면 이후 서버 업데이트를 따라갑니다.

비밀은 알림에 저장되지 않습니다. 키 저장소에 암호화되어 보관되며 알림이 사용하는 동안 키를 삭제할 수 없습니다. 서버에 봇 토큰, SMTP 서버 또는 Gotify 쌍이 설정되어 있지 않으면 양식은 내 것 사용만 제공합니다. 웹훅 URL은 http 또는 https를 사용해야 하며 서버 자신을 가리킬 수 없습니다.

목록의 테스트 메시지 보내기로 알림 하나를 확인하고, 도구 모음의 모두 테스트로 서버 채널을 포함한 프로젝트의 모든 활성 대상에 테스트를 보냅니다.

템플릿이나 스케줄에 연결된 알림은 삭제할 수 없습니다. 대화 상자에 이를 사용하는 개체가 표시됩니다.

자체 봇 토큰을 사용하는 Telegram 알림

메시지 템플릿​

본문은 Go text/template(이메일은 html/template)입니다. 사용 가능한 필드는 다음과 같습니다.

필드값
.Name템플릿 이름
.Author작업을 시작한 사용자 이름 또는 —
.Project.Name, .Project.ID프로젝트
.Playbook템플릿의 플레이북 또는 스크립트
.ScheduleName작업을 시작한 스케줄 이름(있는 경우)
.Task.ID, .Task.URL작업 번호와 로그 링크
.Task.Result아이콘이 있는 상태, 예: ✅ SUCCESS
.Task.Desc작업 시작 시 입력한 메시지
.Task.Version빌드 버전, 배포 작업의 경우 입력 빌드 버전
.Task.Duration실행 시간, 작업이 시작되기 전에는 비어 있음
.Task.Triggermanual, schedule, integration 또는 api
.ColorSlack과 Rocket.Chat의 첨부 색상

채팅 채널의 경우 렌더링된 텍스트는 메신저가 기대하는 JSON 문서여야 합니다. 기본 제공 템플릿이 좋은 출발점입니다. Telegram 본문은 HTML 서식이 있는 일반 텍스트이며, 채팅과 주제는 Semaphore가 추가합니다.

템플릿 알림​

작업 템플릿의 고급 섹션에서 알림은 다음 중에서 선택합니다.

  • 프로젝트 기본값 사용 — 프로젝트에 켜져 있는 서버 채널과 프로젝트 기본값으로 표시된 알림. 기존 템플릿은 업그레이드 후에도 이 동작을 유지합니다.
  • 사용자 지정 알림 집합 사용 — 선택한 알림만. 아무것도 선택하지 않으면 템플릿은 아무것도 보내지 않습니다.

성공 알림 억제와 오류 알림 억제는 두 선택 모두에 적용됩니다. 확인 대기 중인 작업에 대한 알림은 억제되지 않습니다.

사용자 지정 알림 집합을 사용하는 작업 템플릿

스케줄 알림​

스케줄은 템플릿의 알림을 사용하거나 다른 알림 집합을 사용할 수 있습니다. 후자는 해당 스케줄로 시작한 작업에 대해 템플릿 선택을 완전히 대체하므로, 야간 작업은 온콜 채널로 보고하고 수동 실행은 조용하게 둘 수 있습니다.

자체 알림 집합을 사용하는 스케줄

작업이 라우팅되는 방식​

작업의 대상은 작업이 생성될 때 고정됩니다. 작업 실행 중에 알림, 템플릿 또는 스케줄을 변경해도 해당 작업의 보고 위치는 바뀌지 않습니다. 각 전송은 작업, 대상, 이벤트별로 기록되므로 고가용성 구성에서도 각 메시지는 하나의 서버 노드만 보냅니다.

백업​

프로젝트 알림은 프로젝트 백업에 포함됩니다. 템플릿과 스케줄은 이름으로 참조하므로 복원된 프로젝트는 연결을 유지합니다. 알림은 액세스 키를 이름으로 참조하며, 다른 키와 마찬가지로 비밀 값 자체는 내보내지지 않습니다.