Cypress와 Slack 통합하기

Cypress와 Slack 통합하기

생성일
2023년 05월 16일
태그

Background

현재 서비스의 소스 코드는 Bitbucket Repository에 있고, 배포는 AWS Amplify로 이루어져 있다.
Bitbucket의 Pipeline을 활용하는 것이 아니라서 Bitbucket에 Pull Request를 날리면 Cypress Test 결과가 보여지는 기능을 기대했는데 어려울 것 같고, Github Action의 강력한 기능을 사용하지도 못해서 너무 아쉽다.
따라서, 현재 개발팀의 협업 툴로 사용되고 있는 Slack과 통합을 하여 Source Code가 Merge 될 때마다 Slack에 notification이 나타나도록 적용하려고 한다.

적용하기

Cypress Dashboard와 Slack을 통합하는 과정은 간단하다.

1. Cypress Dashboard 사용하기

Cypress Dashboard에서 우선 Slack과의 연동이 필요하다.
Integrations 탭에 들어가 Slack과의 연동을 enable 시켜준다.
notion image

2. 채널 연결하기

Slack Notification을 적용시킬 채널을 선택할 수 있다. 필자는 웹개발팀의 PR noti가 올라가는 채널에 연동하였다.
notion image

3. Record Key 적용시키기

채널을 연결만해서는 Notification을 받을 수 없다. Cypress Dashboard에 있는 Record Key를 가지고 Cypress Test를 돌려줘야 받을 수 있다.
Cypress Dashboard에서 Project로 들어가고, 해당 Project settings 탭에 가면 확인할 수 있다.
notion image
해당 키를 활용하여 package.json 코드를 수정해주었다.
{ "cypress:open:headless": "cypress run --record --key <레코드 키> --headless --browser chrome" }
 
테스트를 돌렸더니 다음과 같이 알림이 나타났다.
notion image
음, 매우 신기하군
 
사실 최선의 방법이라고는 생각하지 않지만, 주어진 환경에서 Cypress Test 결과를 가장 간편하게 보고 빠르게 수정할 수 있는 방법이지 않을까 싶다.

4. Amplify 환경 변수 추가 및 yml 파일 수정

AWS Amplify의 파이프라인이 돌아갈 때 자동으로 테스트를 하고 Slack으로 알림을 주도록 설정을 해야한다.
  1. CYPRESS_RECORD_KEY 저장
  1. amplify.yml 파일 cypress run 옵션에 record key 추가
- 'pnpm cypress run --record --key $CYPRESS_RECORD_KEY'

References

댓글

guest