Skip to content

[PRODUCT-204] [Infra] GitOps 기반 마이그레이션 #52

[PRODUCT-204] [Infra] GitOps 기반 마이그레이션

[PRODUCT-204] [Infra] GitOps 기반 마이그레이션 #52

name: Create Jira issue
on:
issues:
types:
- opened
jobs:
create-issue:
name: Create Jira issue
runs-on: ubuntu-latest
steps:
- name: Login
uses: atlassian/gajira-login@v3
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
- name: Checkout develop code
uses: actions/checkout@v4
with:
ref: develop
- name: Issue Parser
uses: stefanbuck/github-issue-parser@v3
id: issue-parser
with:
template-path: .github/ISSUE_TEMPLATE/01-feat-template.yml
- name: Log Issue Parser
run: |
echo '${{ steps.issue-parser.outputs.jsonString }}'
- name: Convert markdown to Jira Syntax
uses: peter-evans/jira2md@v1
id: md2jira
with:
input-text: |
### Github Issue Link
- ${{ github.event.issue.html_url }}
${{ github.event.issue.body }}
mode: md2jira
- name: Create Issue
id: create
uses: atlassian/gajira-create@v3
with:
project: PRODUCT
issuetype: 하위 작업
summary: "${{ github.event.issue.title }}"
description: "${{ steps.md2jira.outputs.output-text }}"
fields: |
{
"parent": {
"key": "${{ steps.issue-parser.outputs.issueparser_parentKey }}"
}
}
- name: Log created issue
run: echo "Jira Issue ${{ steps.issue-parser.outputs.parentKey }}/${{ steps.create.outputs.issue }} was created"
- name: Get first label as branch prefix
id: label
run: |
PREFIX=$(echo '${{ toJson(github.event.issue.labels) }}' | jq -r '.[0].name // "feat"')
echo "prefix=$PREFIX" >> $GITHUB_OUTPUT
- name: Create branch with Ticket number
run: |
BRANCH_PREFIX="${{ steps.label.outputs.prefix }}"
ISSUE_NUMBER="${{ steps.create.outputs.issue }}"
BRANCH_NAME="${BRANCH_PREFIX}/${ISSUE_NUMBER}"
git checkout -b "${BRANCH_NAME}"
git push origin "${BRANCH_NAME}"
- name: Update issue title
uses: actions-cool/issues-helper@v3
with:
actions: "update-issue"
token: ${{ secrets.GITHUB_TOKEN }}
title: "[${{ steps.create.outputs.issue }}] ${{ github.event.issue.title }}"