워크플로 구축: Slack 외부에서 시작하는 워크플로 만들기
웹후크를 이용하면 Slack 외부에서 워크플로를 시작할 수 있으며 사용자 지정 변수를 사용해 외부 서비스의 정보를 포함하는 메시지를 Slack에 포스트할 수 있습니다.
시작하는 데 필요한 사항
- 명령줄 또는 다른 도구를 사용하여 HTTP 요청을 전송하는 방법 숙지
- 수신 웹후크에 대한 이해 지침에 대해서는 Slack API에 대한 문서를 읽거나 소속 팀의 개발자에게 도움을 요청하세요.
참고: 소유자와 관리자는 웹후크로 워크플로를 생성할 수 있는 사용자를 제한할 수 있습니다. 워크플로 빌더에 이 옵션이 표시되지 않으면 소유자나 관리자에게 문의하여 도움을 받으세요.
워크플로 설정
웹후크 워크플로 기본 사항
웹후크로 워크플로를 시작하기로 선택한 경우 타사 앱이나 서비스에서 사용자의 URL로 웹 요청을 전송하면 워크플로를 시작하도록 웹후크를 구성하게 됩니다. 예를 들어 웹사이트에 문제가 있을 경우 엔지니어링 팀이 조사를 할 수 있도록 특정 채널에 메시지를 포스트하는 워크플로를 생성할 수 있습니다.
웹후크 구성
웹후크를 생성하고 구성하는 데 사용되는 외부 서비스는 특정 이벤트 발생 시 Slack에 HTTP POST 요청을 할 수 있는 기능을 제공해야 합니다. Slack은 메시지를 게시한 후에 워크플로에 대해 고유한 요청 URL을 생성하고, 사용자는 HTTP 요청 본문에서 Slack에 정보를 전달하도록 웹후크를 구성할 수 있습니다. 변수를 생성하여 워크플로에 추가한 단계에서 웹후크가 Slack에 보낸 모든 데이터를 참조할 수 있습니다.
팁: 웹후크를 구성하는 방법을 잘 모르겠다면 팀의 개발자에게 도움을 요청하거나 Postman이나 Zapier 등 사용 중인 서비스에서 제공하는 지원 문서를 참조하세요.
사용자 지정 변수 생성
최대 20개의 변수를 추가하여 다른 서비스에서 Slack으로 데이터를 전달할 수 있으며, 워크플로에 추가한 단계에 Slack 관련 정보(예: 표시 이름 또는 이메일 주소)를 포함할 수 있습니다.
사용자 지정 변수를 만들려면 채널 ID, 사용자 ID, 사용자 이메일 또는 텍스트 등의 데이터 유형 중 하나를 선택해 워크플로 빌더에서 웹후크 구성에 키 값 쌍을 추가할 수 있습니다. 변수를 추가하면 HTTP 본문의 미리보기가 표시됩니다. 본문의 값이 웹후크로 Slack에 연결 중인 서비스의 JSON 출력과 일치해야 합니다. 현재는 워크플로 변수에서 중첩된 JSON 구조를 사용할 수 없습니다.
아래 예에서 user(사용자), severity(심각도), incident_description(장애_설명)이 웹후크 요청과 함께 전송되지 않으면 워크플로가 실패합니다.
웹 요청 URL 얻기
웹 요청 URL을 복사했다면 이를 웹후크에 추가해 HTTP POST를 올바른 대화에 전송하는지 확인할 수 있습니다. 요청 URL은 모두 https://hooks.slack.com/triggers로 시작하며, 그 뒤에 무작위의 문자열이 옵니다.
- 변수 생성을 마쳤다면 완료를 클릭한 다음 계속을 클릭해 고유한 웹 요청 URL을 생성하고 워크플로 빌더로 되돌아옵니다.
- 웹후크에서 옆에 있는 연필 아이콘을 클릭합니다.
요청 URL 링크를 보유한 모든 사용자는 워크플로를 시작할 수 있으므로 요청 URL을 안전하게 유지해야 합니다.
참고: 웹후크 워크플로는 초당 하나의 요청으로 제한됩니다. Slack API의 속도 제한에 관해 자세히 알아보세요.
단계를 추가해 워크플로 완성
단계 추가
웹후크를 구성하고 사용할 변수를 생성했다면 워크플로에 단계를 추가할 준비가 된 것입니다.
- 워크플로 빌더에서 워크플로를 엽니다.
- 단계 추가를 클릭합니다.
- 추가하려는 단계 유형을 선택합니다(예: 채널에 메시지 보내기). 그런 다음 안내를 따라 단계를 사용자 지정합니다.
- 변수 삽입을 클릭하고 변수를 선택해 워크플로가 채널로 보낼 메시지에 웹후크의 데이터를 포함시킵니다.
워크플로 테스트
워크플로를 게시하기 전에 테스트 채널에 포스트하기 위한 첫 단계를 설정할 수 있습니다.
- 워크플로의 요청 URL로 포스트를 보내고 단계를 진행하여 모든 사항이 정상적으로 작동하는지 확인합니다.
- 워크플로 빌더로 돌아가 원하는 채널에 게시할 워크플로의 첫 단계를 업데이트한 다음 변경 내용을 게시합니다.
- 모든 멤버(기본값)
- 유료 플랜에서 사용 가능