From 7d3b51178a4247f28f0d312e1095e5f610b3a6e6 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Tue, 25 Jun 2024 15:22:51 +0900 Subject: [PATCH] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 42 ++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index d8a96d52..bc6aaf9c 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -69,12 +69,46 @@ jobs: ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') if [ -z "$PREFIX" ]; then PREFIX="feature"; fi - # 접두사를 제외한 나머지 텍스트 추출 - TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/^$PREFIX : //") - # 한글 포함, 불필요한 공백 및 특수 문자 제거 - CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | sed 's/[^a-zA-Z0-9가-힣]//g') + TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") + # iconv를 사용하여 비ASCII 문자 제거 + CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT) + # ASCII가 아닌 문자 제거 + CLEAN_TITLE=$(echo "$CLEAN_TITLE" | sed 's/[^a-zA-Z0-9]//g') BRANCH_NAME="${PREFIX}/#${ISSUE_NUMBER}-${CLEAN_TITLE}" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" git checkout -b "$BRANCH_NAME" git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" + + update_jira: + if: github.event_name == 'push' + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Update Jira issue with commit info + env: + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} + JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} + JIRA_ISSUE_KEY: ${{ env.JIRA_ISSUE_KEY }} + run: | + COMMITS=$(jq -r '.commits[] | .message' $GITHUB_EVENT_PATH) + curl -D- \ + -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ + -X PUT \ + --data '{ + "update": { + "comment": [ + { + "add": { + "body": "Commits related to this issue:\n$COMMITS" + } + ] + ] + } + }' \ + -H "Content-Type: application/json" \ + "$JIRA_BASEURL/rest/api/2/issue/$JIRA_ISSUE_KEY"