Github Actions에서 Jira Cloud와 협력해 보았습니다.
8810 단어 GitHubActionsGitHubjira
최근 Actions 열이 높아지고 있어 여러가지 만져 놀아 보았습니다.
시작에, 필요가 있을까라고 하면 미묘한 느낌입니다만, Actions와 Jira를 제휴시켜 보았습니다.
사용한 Actions
Marketplace 에 공개되어 있던 Atlassian 공식의 Actions를 이용하였습니다.
사전 준비
의투 b. 작은 m에 리포지토리 만들기
※ 둘 다 무료 플랜에서 사용할 수 있습니다
환경 변수 (Secret) 설정
Actions에서 사용하는 Secret을 리포지토리의 Settings → Secrets에 추가
Github에 이슈가 생성되면 Jira의 작업을 기표
Actions 탭의 New workflow에서 새 워크플로 만들기
create-issues.yml
name: Jira Example
on:
issues:
push:
types: [opened]
jobs:
build:
runs-on: ubuntu-latest
name: Jira Example
if: github.event.action == 'opened'
steps:
- name: Login
uses: atlassian/gajira-login@master
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
- name: Jira Create issue
uses: atlassian/[email protected]
with:
# プロジェクトキーを指定
project: AC
# 課題タイプを指定
issuetype: Task
# issuesのタイトルが要約になるように設定
summary: ${{ github.event.issue.title}}
# issuesの本文が説明になるように設定
description: ${{ github.event.issue.body}}
issues를 만들어 보면. . .
워크플로우가 움직이기 시작. . .
Jira에 작업이 만들어졌습니다! !
변경이 푸시되면 과제를 '진행 중'으로 전환
지금 만든 isssues에 대응한 소스 코드를 푸시했을 때에 Jira측의 태스크도 스테이터스를 천이해 달라고 합니다.
다른 워크플로 만들기
transition-issues.yml
on:
push
name: Transition Issue
jobs:
test-transition-issue:
name: Transition Issue
runs-on: ubuntu-latest
steps:
- name: Login
uses: atlassian/gajira-login@master
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
# プッシュされたコミットに記載された課題キーを抽出する
- name: Find in commit messages
id: find
uses: atlassian/gajira-find-issue-key@master
with:
string: ${{ github.event.ref }}
# 課題キーが特定できればJiraに対してトランジションを発行
- name: Transition issue
uses: atlassian/gajira-transition@master
# 課題キーが含まれていなければスルー
if: ${{ steps.find.outputs.issue }}
with:
# 前のステップのアウトプットを参照
issue: ${{ steps.find.outputs.issue }}
transition: "進行中"
브라우저에서 적절하게 README.md를 업데이트하고 커밋
※본래는 로컬로 제대로 브런치 잘라 PR를 냅니다 W
커밋 메시지에 앞서 만든 "AC-4"라는 과제 키 포함
워크플로가 시작됩니다. . .
상태가 전환되었습니다! ! !
결론
이번에 시도한 기능은 Jira의 Github용 애드온 했다.
또 Github내의 풍부한 트리거로부터 기동할 수 있는 점은 애드온에는 재현할 수 없기 때문에, 보다 유스 케이스가 늘어나는 것을 기대합니다.
Reference
이 문제에 관하여(Github Actions에서 Jira Cloud와 협력해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yosuke_Sakaue/items/cb27c12a37d2fd0f6172텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)