Skip to content

Commit 73ef4db

Browse files
authored
Merge pull request #75 from DASOM-GitHub/refactor/DASOMBE-2-test
2 parents 8a3cac2 + 4ade062 commit 73ef4db

File tree

4 files changed

+182
-0
lines changed

4 files changed

+182
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "🍀다솜-이슈-템플릿"
2+
description: "해당 이슈 생성 템플릿으로 작성해주세요! (2025.08.08 update)"
3+
labels: [FEAT]
4+
title: "[feat] 개발 타이틀"
5+
body:
6+
- type: input
7+
id: parentKey
8+
attributes:
9+
label: "🎟️ 상위 작업 (Ticket Number)"
10+
description: "상위 작업의 Ticket Number를 기입해주세요"
11+
placeholder: "DASOMFE-00 또는 DASOMBE-00"
12+
validations:
13+
required: true
14+
15+
- type: dropdown
16+
id: projectKey
17+
attributes:
18+
label: "📦 프로젝트"
19+
description: "이슈를 생성할 Jira 프로젝트를 선택하세요"
20+
options:
21+
- DASOMFE
22+
- DASOMBE
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: purpose
28+
attributes:
29+
label: "🎯 목적(Purpose)"
30+
description: "해당 Issue가 발생한 원인과 배경을 설명한다."
31+
placeholder: "예: 회원 기능 구현을 위한 로그인 기능 추가 필요"
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: description
37+
attributes:
38+
label: "📝 상세 내용(Description)"
39+
description: "구현할 기능 또는 수정 사항에 대한 구체적인 설명"
40+
placeholder: "예: 이메일 및 비밀번호 입력값 검증 로직 추가, OAuth 연동 검토"
41+
validations:
42+
required: true

.github/pull_request_template.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# [태그] 제목
2+
3+
(예: [feat] 사용자 인증 기능 추가)
4+
5+
## Issue
6+
7+
- 예시: #111, #112
8+
(해당 PR과 관련된 이슈 번호를 명시하여 추적 용이성을 확보)
9+
10+
## 변경 내용
11+
12+
- 이번 PR에서 어떤 변경이 이루어졌는지 간략하게 기술합니다.
13+
(예: 기존 로그인 API에 JWT 기반 인증 로직 추가)
14+
15+
## 체크리스트
16+
17+
- PR을 제출하기 전에 다음 사항들을 확인해주세요:
18+
19+
- [ ] 커밋 메시지가 컨벤션을 따르는가?
20+
- [ ] 린트 검사를 통과했는가? (`npm run lint` or `npm run lint:fix`)
21+
- [ ] 로컬에서 빌드가 성공하는가? (`npm run build`)
22+
23+
## 테스트
24+
25+
- [ ] 로컬에서 테스트 완료
26+
- [ ] 기존 기능에 영향 없음 확인
27+
- [ ] 다양한 브라우저에서 테스트 (필요시)
28+
29+
## 리뷰 요구사항(필요시)
30+
31+
- 특별히 리뷰해주길 원하는 부분
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Close Jira issue
2+
on:
3+
issues:
4+
types:
5+
- closed
6+
7+
jobs:
8+
close-issue:
9+
name: Close Jira issue
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Login to Jira
14+
uses: atlassian/gajira-login@v3
15+
env:
16+
JIRA_BASE_URL: ${{ secrets.JIRA_URL }}
17+
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
18+
JIRA_USER_EMAIL: ${{ secrets.JIRA_EMAIL }}
19+
20+
- name: Extract Jira issue key from GitHub issue title
21+
id: extract-key
22+
run: |
23+
ISSUE_TITLE="${{ github.event.issue.title }}"
24+
JIRA_KEY=$(echo "$ISSUE_TITLE" | grep -oE '[A-Z]+-[0-9]+')
25+
echo "JIRA_KEY=$JIRA_KEY" >> $GITHUB_ENV
26+
27+
- name: Close Jira issue
28+
if: env.JIRA_KEY != ''
29+
uses: atlassian/gajira-transition@v3
30+
with:
31+
issue: ${{ env.JIRA_KEY }}
32+
transition: 완료
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Create Jira issue
2+
on:
3+
issues:
4+
types:
5+
- opened
6+
jobs:
7+
create-issue:
8+
name: Create Jira issue
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Login
12+
uses: atlassian/gajira-login@v3
13+
env:
14+
JIRA_BASE_URL: ${{ secrets.JIRA_URL }}
15+
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
16+
JIRA_USER_EMAIL: ${{ secrets.JIRA_EMAIL }}
17+
18+
- name: Checkout main code
19+
uses: actions/checkout@v4
20+
with:
21+
ref: main
22+
23+
- name: Issue Parser
24+
uses: stefanbuck/github-issue-parser@v3
25+
id: issue-parser
26+
with:
27+
template-path: .github/ISSUE_TEMPLATE/🍀다솜-이슈-템플릿.yml
28+
29+
- name: Log Issue Parser
30+
run: |
31+
echo '${{ steps.issue-parser.outputs.issueparser_parentKey }}'
32+
echo '${{ steps.issue-parser.outputs.__ticket_number }}'
33+
echo '${{ steps.issue-parser.outputs.jsonString }}'
34+
35+
- name: Convert markdown to Jira Syntax
36+
uses: peter-evans/jira2md@v1
37+
id: md2jira
38+
with:
39+
input-text: |
40+
### Github Issue Link
41+
- ${{ github.event.issue.html_url }}
42+
43+
${{ github.event.issue.body }}
44+
mode: md2jira
45+
46+
- name: Create Issue
47+
id: create
48+
uses: atlassian/gajira-create@v3
49+
with:
50+
project: DASOMBE
51+
issuetype: Task
52+
summary: "${{ github.event.issue.title }}"
53+
description: "${{ steps.md2jira.outputs.output-text }}"
54+
fields: |
55+
{
56+
"parent": {
57+
"key": "${{ steps.issue-parser.outputs.issueparser_parentKey}}"
58+
}
59+
}
60+
61+
- name: Log created issue
62+
run: echo "Jira Issue ${{ steps.issue-parser.outputs.parentKey }}/${{ steps.create.outputs.issue }} was created"
63+
64+
- name: Update issue title
65+
uses: actions-cool/issues-helper@v3
66+
with:
67+
actions: "update-issue"
68+
token: ${{ secrets.GITHUB_TOKEN }}
69+
title: "[${{ steps.create.outputs.issue }}] ${{ github.event.issue.title }}"
70+
71+
- name: Add comment with Jira issue link
72+
uses: actions-cool/issues-helper@v3
73+
with:
74+
actions: "create-comment"
75+
token: ${{ secrets.GITHUB_TOKEN }}
76+
issue-number: ${{ github.event.issue.number }}
77+
body: "Jira Issue Created: [${{ steps.create.outputs.issue }}](${{ secrets.JIRA_URL }}/browse/${{ steps.create.outputs.issue }})"

0 commit comments

Comments
 (0)