웹후크를 사용하여 고급 워크플로 생성

이 기능을 사용할 수 있는 사람은 누구인가요?
  • 모든 멤버(기본값)
  • 스탠다드, 플러스Enterprise Grid 플랜

워크플로는 여러 단계로 구성된 자동화 작업 또는 프로세스로 Slack에서 바로 실행하거나 다른 도구 및 서비스와 연결할 수 있습니다. Slack의 워크플로는 사용자가 원하는 만큼 간단할 수도, 복잡할 수도 있으며 일반적으로 코드 작성이 필요하지 않습니다.

개발자이거나 코드와 관련된 경험이 있다면 웹후크를 지원하는 외부 서비스(회사에서 사용하는 내부 도구 등)의 이벤트에 의해 트리거되는 워크플로를 만들 수 있습니다.

시작하는 데 필요한 사항

  • 명령줄 또는 다른 도구를 사용하여 HTTP 요청을 전송하는 방법 숙지
  • 수신 웹후크에 대한 이해 지침에 대해서는 Slack API에 대한 문서를 읽거나 소속 팀의 개발자에게 도움을 요청하세요.

학습 내용

  • 웹후크를 구성하여 Slack에서 워크플로를 트리거하는 방법
  • 사용자 지정 변수를 생성하고 워크플로 단계에서 사용하는 방법
  • 워크플로를 게시하기 전에 테스트하는 방법

참고: 소유자와 관리자는 웹후크를 사용한 워크플로 생성에 대해 액세스 권한을 제한할 수 있습니다. 워크플로 빌더에 이 옵션이 표시되지 않으면 소유자나 관리자에게 문의하여 도움을 받으세요.

팁: 워크플로를 설정하고 트리거를 선택하는 방법을 복습하려면 Slack에서 워크플로 설정을 방문하세요.


워크플로 설정

웹후크 워크플로 기본 사항

Slack의 모든 워크플로는 트리거에 대한 응답으로 시작됩니다. 웹후크를 사용하여 워크플로를 트리거하려면 다른 서비스에서 사용자가 지정한 이벤트가 발생했을 때 Slack에서 워크플로를 시작하도록 웹후크를 구성합니다. 예를 들어 웹사이트나 서비스에 문제가 있어서 문제를 파악하고 해결하기 위해 장애가 호출되었을 때 Slack에 메시지를 게시하는 워크플로를 설정할 수 있습니다.

웹후크 구성

웹후크를 생성하고 구성하기로 선택한 외부 서비스에서 특정 이벤트 발생 시 Slack에 HTTP POST 요청을 할 수 있는 기능을 제공해야 합니다. Slack은 메시지를 게시한 후에 워크플로에 대해 고유한 요청 URL을 생성하고, 사용자는 HTTP 요청 본문을 통해 Slack에 정보를 전달하도록 웹후크를 구성할 수 있습니다. 웹후크가 Slack에 보낸 모든 데이터는 변수를 생성하여 후속 워크플로 단계에서 참조할 수 있습니다.

팁: 웹후크를 구성하는 방법을 잘 모르겠다면 팀의 개발자에게 도움을 요청하거나 Postman이나 Zapier 등 사용 중인 서비스에서 제공하는 지원 문서를 참조하세요.

사용자 지정 변수 생성

다른 서비스에서 Slack으로 데이터를 전달하기 위해 변수 최대 20개까지 추가하고 워크플로에 추가하는 단계에 표시 이름 또는 이메일 주소와 같은 Slack 특정 정보를 포함시킬 수 있습니다.

사용자 지정 변수를 생성하기 위해 워크플로 빌더에서 핵심 키 쌍을 텍스트 기반 변수로 추가할 수 있습니다. 변수를 추가하면 HTTP 본문의 미리보기가 표시되어 웹후크를 통해 Slack에 연결한 다른 서비스의 JSON 출력과 해당 값이 일치하는지 확인할 수 있습니다. 현재는 워크플로 변수에서 중첩된 JSON 구조를 사용할 수 없습니다.

아래 예에서 user(사용자), severity(심각도), incident_description(장애_설명)이 웹후크 요청과 함께 전송되지 않으면 워크플로가 실패합니다. 

Incident_webhook_workflow.png

팁: 언제든 변수를 추가, 제거 또는 수정해야 한다면 워크플로 빌더에서 워크플로를 엽니다. 그런 다음 편집웹후크를 차례로 클릭하여 변경을 수행합니다. 웹후크 요청을 보낸 외부 서비스에 변수의 모든 변경 사항이 반영되었는지도 확인해야 합니다.

웹 요청 URL 얻기

워크플로를 게시하면 설정한 포스트가 Slack의 올바른 채널에 전송될 수 있도록 Slack에서 웹후크에 추가할 수 있는 고유한 요청 URL을 생성합니다. 요청 URL은 https://hooks.slack.com/workflows로 시작되며, 그 뒤에 무작위의 문자열이 옵니다.

요청 URL 링크를 보유한 모든 사용자는 워크플로를 트리거할 수 있으므로 요청 URL을 안전하게 유지해야 합니다.

참고: 웹후크 워크플로는 초당 하나의 요청으로 제한됩니다. Slack API의 속도 제한에 관해 자세히 알아보세요.


학습한 내용 활용하기

단계 추가

웹후크를 구성하고 사용할 변수를 생성했다면 워크플로에 단계를 추가할 준비가 된 것입니다.  

  1. 워크플로 빌더에서 워크플로를 엽니다. 
  2. 단계 추가를 클릭합니다. 
  3. 추가하려는 단계의 유형을 선택한 다음 단계를 사용자 지정하기 위한 메시지의 내용을 따릅니다.


워크플로 테스트

워크스페이스의 멤버가 활발하게 이용하는 채널에서 워크플로를 게시하기 전에 채널을 테스트하기 위해 첫 번째 단계를 게시하도록 설정할 수 있습니다.

  1. 워크플로의 요청 URL로 포스트를 보내고 단계를 진행하여 모든 사항이 정상적으로 작동하는지 확인합니다.
  2. 워크플로 빌더로 돌아가 원하는 채널에 게시할 워크플로의 첫 단계를 업데이트한 다음 변경 내용을 게시합니다.


웹후크 URL 재생성

웹후크의 URL이 노출되거나 어떤 이유로든 변경되어야 하는 경우 아래 단계를 따르세요. 

  1. 워크플로 빌더를 열고 목록에서 워크플로를 선택합니다.
  2. 웹후크 옆의 편집을 클릭합니다.
  3. URL 다시 생성을 선택하고 변경 내용을 저장합니다.

참고: 웹후크 URL을 재생성하면 Slack의 워크플로와 다른 서비스 간의 연결이 해제됩니다. 새 URL로 다른 서비스를 업데이트하여 작업이 순조롭게 진행될 수 있도록 하세요.