슬랙에는 이미 Github 봇이 있어서 이를 활용하면 연결한 레포에 변동점이 있을때 마다 알림을 보낼 수 있다.
근데 단점이 기본값에 해당하는 변경점을 끌 수 없다는 것이다.
(코멘트, 승인, merged 등등)
PR을 올렸을 때만 알림을 보내게 하고 싶어 github action과 slack 웹훅을 이용했다.
name: slack
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: action-slack
uses: 8398a7/action-slack@v3
with:
status: custom
fields: workflow,job,commit,repo,author,pullRequest
custom_payload: |
{
attachments: [{
color: '${{ job.status }}' === 'success' ? 'good' : '${{ job.status }}' === 'failure' ? 'danger' : 'warning',
text: `${process.env.AS_REPO} repo에 ${process.env.AS_AUTHOR} 님이 PR을 올렸습니다\n 승인하러 ㄱㄱ ${process.env.AS_PULL_REQUEST}`,
}]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: always() # Pick up events even if the job fails or is canceled.
결과적으로 PR주소를 복사하여 슬랙에 붙여넣지 않아도 자동으로 알림을 보내 승인 요청을 할 수 있게됐다