25.5. 사용자 정의 알림 생성
알림 양식에서 각 알림 유형의 텍스트 콘텐츠를 사용자 지정할 수 있습니다.
프로세스
-
탐색 패널에서
선택합니다. - 를 클릭합니다.
- 유형 목록에서 알림 유형을 선택합니다.
토글을 사용하여 메시지 사용자 지정을 활성화합니다.
다음과 같은 다양한 작업 이벤트에 대한 사용자 정의 메시지를 제공할 수 있습니다.
- 메시지 본문 시작
- 성공 메시지 본문
- 오류 메시지 본문
- 워크플로우 승인 본문
- 워크플로우 거부 메시지 본문
- 워크플로우 보류 메시지 본문
- 워크플로우 시간 초과 메시지 본문
메시지 양식은 구성 중인 알림 유형에 따라 다릅니다. 예를 들어 이메일 및 PagerDuty 알림에 대한 메시지는 본문과 제목이 있는 일반적인 이메일으로 나타납니다. 이 경우 자동화 컨트롤러에서 해당 필드를 Message 및 Message Body 로 표시합니다. 기타 알림 유형에는 각 이벤트 유형에 대한 메시지 만 있으면 됩니다.
Message 필드는 ID 또는 이름과
같은 속성과 연결된 최상위 변수가 포함된 템플릿으로 미리
채워집니다. 템플릿은 중괄호로 묶고 자동화 컨트롤러에서 제공하는 고정된 필드 세트에서 미리 채워진 메시지 필드에 표시됩니다.
미리 채워진 이 필드에서는 이벤트 알림을 받는 수신자에게 일반적으로 표시되는 메시지를 제안합니다. 필요에 따라 작업에 대한 고유한 속성을 추가하여 다른 기준으로 이러한 메시지를 사용자 지정할 수 있습니다. 사용자 지정 알림 메시지는 Jinja를 사용하여 렌더링됩니다. Ansible 플레이북에서 사용하는 것과 동일한 템플릿 작성 엔진입니다.
메시지 및 메시지 본문에는 다음과 같이 다양한 유형의 콘텐츠가 있습니다.
- 메시지는 항상 문자열입니다. 한 줄로만 표시됩니다. 새 행은 지원되지 않습니다.
메시지 본문은 사전 또는 텍스트 블록입니다.
-
Webhook 및 PagerDuty의 메시지 본문에서는 사전 정의를 사용합니다. 이러한 기본 메시지 본문은
{{ job_metadata }}
입니다. 그대로 두거나 고유한 사전을 제공할 수 있습니다. 이메일의 메시지 본문에는 텍스트 블록 또는 여러 줄 문자열이 사용됩니다. 기본 메시지 본문은 다음과 같습니다.
{{ job_friendly_name }} #{{ job.id }} had status {{ job.status }}, view details at {{ url }} {{ job_metadata }}
{{ job_metadata }}
in에 있는 이 텍스트를 편집하거나{{ job_metadata }}
을 삭제할 수 있습니다. 본문은 텍스트 블록이므로 원하는 모든 문자열이 될 수 있습니다.{{ job_metadata }}
는 실행 중인 작업을 설명하는 필드를 포함하는 사전으로 렌더링됩니다. 모든 경우에{{ job_metadata }}
에는 다음 필드가 포함됩니다.-
id
-
name
-
url
-
created_by
-
started
-
finished
-
status
traceback
참고{{ job_metadata }}
내에서 개별 필드를 쿼리할 수 없습니다. 알림 템플릿에서{{ job_metadata }}
을 사용하면 모든 데이터가 반환됩니다.생성된 사전은 다음과 같습니다.
{"id": 18, "name": "Project - Space Procedures", "url": "https://host/#/jobs/project/18", "created_by": "admin", "started": "2019-10-26T00:20:45.139356+00:00", "finished": "2019-10-26T00:20:55.769713+00:00", "status": "successful", "traceback": "" }
작업에서
{{ job_metadata }}
가 렌더링되면 다음과 같은 추가 필드가 포함됩니다.-
인벤토리
-
project
-
playbook
-
인증 정보
-
제한
-
extra_vars
호스트
결과 사전은 다음과 유사합니다.
{"id": 12, "name": "JobTemplate - Launch Rockets", "url": "https://host/#/jobs/playbook/12", "created_by": "admin", "started": "2019-10-26T00:02:07.943774+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Inventory - Fleet", "project": "Project - Space Procedures", "playbook": "launch.yml", "credential": "Credential - Mission Control", "limit": "", "extra_vars": "{}", "hosts": {} }
워크플로우 작업에서
{{ job_metadata }}
가 렌더링되면 다음과 같은 추가 필드가 포함됩니다.본문
(워크플로우 작업의 노드를 열거하고 각 노드와 연결된 작업에 대한 설명을 포함)결과 사전은 다음과 유사합니다.
{"id": 14, "name": "Workflow Job Template - Launch Mars Mission", "url": "https://host/#/workflows/14", "created_by": "admin", "started": "2019-10-26T00:11:04.554468+00:00", "finished": "2019-10-26T00:11:24.249899+00:00", "status": "successful", "traceback": "", "body": "Workflow job summary: node #1 spawns job #15, \"Assemble Fleet JT\", which finished with status successful. node #2 spawns job #16, \"Mission Start approval node\", which finished with status successful.\n node #3 spawns job #17, \"Deploy Fleet\", which finished with status successful." }
-
-
Webhook 및 PagerDuty의 메시지 본문에서는 사전 정의를 사용합니다. 이러한 기본 메시지 본문은
잘못된 구문을 사용하거나 사용할 수 없는 필드를 참조하는 알림 템플릿을 생성하면 오류의 종류를 나타내는 오류 메시지가 표시됩니다. 알림의 사용자 정의 메시지를 삭제하면 기본 메시지가 해당 위치에 표시됩니다.
사용자 지정 메시지를 편집하지 않고 알림 템플릿을 저장하면 세부 정보 화면에서 기본값을 가정하고 사용자 정의 메시지 테이블을 표시하지 않습니다. 값을 편집하고 저장하면 전체 테이블이 세부 정보 화면에 표시됩니다.
추가 리소스
- 자세한 내용은 Ansible 문서의 Jinja2에서 변수 사용을 참조하십시오.
- 자동화 컨트롤러에는 메시지를 표시하기 위해 올바른 데이터를 검색하려면 유효한 구문이 필요합니다.
지원되는 속성 목록과 적절한 구문 구성은 사용자 정의 알림에 대한 지원 속성 섹션을 참조하십시오.