Skip to content

Commit

Permalink
feat: Github Action을 이용한 CI 기능 구현 (#18)
Browse files Browse the repository at this point in the history
* feat(action): 프로젝트-이슈-브랜치 자동화 초기 세팅

* feat(branch-create): 브랜치 및 PR 생성 규칙 적용

* fix(automation): github 토큰 인증 비활성화

* chore: 자동화 repo 타겟 branch를 master에서 main으로 변경

* refactor: issue - branch 자동화 과정 branch 명명 소스 변경

issue 제목 -> issue body

* fix(automation): github 토큰 인증 활성화

* fix(automation): github 토큰 변경

* fix(automation): github 토큰 권한 추가 명시

* fix(automation): github 토큰 변경

* fix: 접근 projects명 수정

* fix: 접근 Option명 수정

* fix: 접근 Option명 수정

* chore: github-project-automation-plus version 변경

* chore: github-project-automation-plus version 변경

* chore: Projects Status명 영문화

* chore: Github Token 수정

* fix: PR 템플릿 설정 오타 수정

* refactor: Project (Classic) 기능 제거 후 Projects 기능으로 변경

* chore: actions app 버전 수정

* refactor: Projects 연동 기능 제거

* refactor: issue comment 메세지 변경

* fix: 변수 오타 수정

* refactor: 환경변수 scope 변경

* refactor: 환경변수 변경

* chore: PR url 타겟팅 환경변수 변경

* Update project-manage-issue.yml

* test: 테스트용 code line 추가

* chore: 디버깅용 echo문 추가

* Update project-manage-issue.yml

* Update project-manage-issue.yml

* refactor: 변수 위치 수정 및 프로퍼티 경로 수정

* fix: 오류 수정

* refactor: PR Link 연결 Comment 기능 제거

* refactor: 미사용 전역 환경변수 제거

* refactor: Action bot 메세지 수정 및 Description 내용 PR 복사 기능 추가

* refactor: Action bot 메세지 수정 및 PR 링크 추가

* feat: github id와 slack id 매핑

* feat: PR review 요청 Slack mention 연동 기능 구현

* Update mention-to-slack.yml

* chore: action trigger 수정

* refactor: 불필요 line 제거 및 트리거 추가

* refactor: workflow file명 변경

* chore: trigger 대상 브랜치 추가

* refactor: 슬랙 멘션 연동 기능 전면 수정

* chore: github - slack ID 매핑 정보

* chore: action trigger 추가

* chore: checkout 추가

* chore: 주석 제거

* fix: json 읽기 오류 대응 수정

* fix: 오류 수정

* chore: 마지막 쉼표 제거

* chore: 디버깅용 출력문 추가

* refactor: 전송 메세지 개행 추가 변경

* fix: json 형식 메세지 재수정

* refactor: 파일명 변경 및 발신 메세지 수정

* refactor: 발신 메세지에 발신인 포함 및 메세지 수정

* refactor: 디버깅 코드 제거 및 변수 변경

* fix: 발신, 수신자 Slack ID 지정 step 추가

* chore: 메세지 변경

* refactor: 미사용 환경설정 파일 삭제

* chore: comment 메세지 수정

* chore: 프로젝트 secrets와 동기화

* chore: Action 제목 수정

* refactor: 파일명 변경

* feat: 이슈 할당 시 진행 알림 Slack으로 전송 기능 구현
  • Loading branch information
Dobby-Kim authored Jul 13, 2024
1 parent d4d4d9f commit 5557c96
Show file tree
Hide file tree
Showing 4 changed files with 164 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/issue-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
branchName: '${issue.number}-${issue.body[-20]}'
gitSafeReplacementChar: ""
openDraftPR: true
autoCloseIssue: true
branches:
- label:
- feature
- backend
prefix: be-
name: be/develop
- label:
- feature
- frontend
prefix: fe-
name: fe/develop
- label: '*'
skip: true
# - label: docs
# prefix: docs/
# - label: hotfix
# prefix: hotfix/
# - label: refactor
# prefix: refactor/
# - label: chore
# prefix: chore/
# - label: release
# prefix: release/
# - label: test
# prefix: test/
# - label: fix
# prefix: fix/

commentMessage: |
🚀 안녕하세요 @${assignee.login}님! 작업을 시작하셨군요?
작업하실 브랜치를 컨벤션에 맞게 현재 이슈 ✨${issue.title}✨에 연결하여 생성헤드렸어요!
생성된 브랜치명:
${branchName}
해당 브랜치가 연결된 ⚡️[Draft PR](${repository.html_url}/issues/?q=head:${branchName})⚡️ 생성되었으니 확인해보세요
작업이 완료된 후, 리뷰어를 선택하고 Draft PR 내부의 `Ready for review` 버튼을 눌러주시면 됩니다! :)
제가 Slack으로 리뷰어에게 DM으로 알려드릴게요
copyIssueDescriptionToPR: true
copyIssueLabelsToPR: true
copyIssueAssigneeToPR: true
copyIssueProjectsToPR: true
copyIssueMilestoneToPR: true

56 changes: 56 additions & 0 deletions .github/workflows/issue-branch-pr-automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: issue - branch Create Automation

on:
issues:
types: [opened, assigned]

env:
Dobby-Kim: "U07BJABU6G1"
Chocochip101: "U07BUEJDS8G"
xogns1514: "U07AZ26UC2J"
lurgi: "U07BJB1M53K"
llqqssttyy: "U07AZ2992CW"
cutehumanS2: "U07B88ZQDU4"
HyungHoKim00: "U07B5HBKZM1"
seongjinme: "U07B9HQDF4M"

jobs:
create-issue-branch:
name: "create issue branch"
runs-on: ubuntu-latest
if: github.event.action == 'assigned'
steps:
- name: create the issue branch
uses: robvanderleek/create-issue-branch@main
id: create-issue-branch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

specific_review_requested:
runs-on: ubuntu-latest
steps:
- name: Set assignee variables
id: set-vars
run: |
echo "ASSIGNEE_SLACK_ID=${{ env[github.event.assignee.login] }}" >> $GITHUB_ENV
- name: 작업 시작 -> Slack 체널 알림
uses: slackapi/slack-github-action@v1.24.0
with:
channel-id: ${{ secrets.IN_PROGRESS_SLACK_CHANNEL_ID }}
payload: |
{
"text": "pr review request",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "🚀 <@${{ env.ASSIGNEE_SLACK_ID }}> 님이 \n <${{ github.event.issue.html_url }}|${{ github.event.issue.title }}> 작업을 시작했습니다! :muscle::muscle:"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}

46 changes: 46 additions & 0 deletions .github/workflows/review-request-slack-mention.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: send slack mention message to requested reviewer

on:
workflow_dispatch:
pull_request:
types: [review_requested]

env:
Dobby-Kim: "U07BJABU6G1"
Chocochip101: "U07BUEJDS8G"
xogns1514: "U07AZ26UC2J"
lurgi: "U07BJB1M53K"
llqqssttyy: "U07AZ2992CW"
cutehumanS2: "U07B88ZQDU4"
HyungHoKim00: "U07B5HBKZM1"
seongjinme: "U07B9HQDF4M"

jobs:
specific_review_requested:
runs-on: ubuntu-latest
steps:
- name: Set reviewer and sender variables
id: set-vars
run: |
echo "REVIEWER_SLACK_ID=${{ env[github.event.requested_reviewer.login] }}" >> $GITHUB_ENV
echo "SENDER_SLACK_ID=${{ env[github.event.sender.login] }}" >> $GITHUB_ENV
- name: pr reviewer 되면 slack 알림 보냄
uses: slackapi/slack-github-action@v1.24.0
with:
channel-id: ${{ secrets.REVIEW_MENTION_CHANNEL_ID }}
payload: |
{
"text": "pr review request",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<@${{ env.REVIEWER_SLACK_ID }}> 님! \n 🚀 <@${{ env.SENDER_SLACK_ID }}>님에게서 **${{ github.event.pull_request.title }}**에 대한 리뷰 요청이 왔습니다! \n ✨ 바쁘시겠지만 아래의 링크에서 확인주세요 :muscle::muscle: \n \n ⚡️ <${{ github.event.pull_request.html_url }}|PR 바로가기 링크>"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
11 changes: 11 additions & 0 deletions .github/workflows/reviewers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"Dobby-Kim": "U07BJABU6G1",
"Chocochip101": "U07BUEJDS8G",
"xogns1514": "U07AZ26UC2J",
"lurgi": "U07BJB1M53K",
"llqqssttyy": "U07AZ2992CW",
"cutehumanS2": "U07B88ZQDU4",
"HyungHoKim00": "U07B5HBKZM1",
"seongjinme": "U07B9HQDF4M"
}

0 comments on commit 5557c96

Please sign in to comment.