CI/CD での利用
bee は CI/CD 環境でも利用できます。自動テストやデプロイのパイプラインから Backlog の課題やプルリクエストを操作できます。
セットアップ
Section titled “セットアップ”-
API キー認証を設定する
CI/CD では API キー認証を使います。CI/CD サービスのシークレット機能を使って、環境変数に API キーとスペース情報を設定してください。
Terminal window export BACKLOG_API_KEY=your-api-keyexport BACKLOG_SPACE=your-space.backlog.com -
パイプラインから bee を呼び出す
npxを使えばインストール不要で bee を実行できます。Terminal window npx @nulab/bee issue list --project MY_PROJECT
コミットを課題に通知する
Section titled “コミットを課題に通知する”ブランチ名が PROJECT-123/機能名 の形式であれば、プッシュ時にコミットへのリンクを課題にコメントします。
name: Notify Backlog on Commiton: push
permissions: {}
env: BACKLOG_API_KEY: ${{ secrets.BACKLOG_API_KEY }} BACKLOG_SPACE: ${{ secrets.BACKLOG_SPACE }}
jobs: notify: runs-on: ubuntu-latest timeout-minutes: 5 steps: - name: Notify linked issue run: | KEY=$(echo "$BRANCH" | grep -oE '^[A-Z_]+-[0-9]+') npx @nulab/bee issue comment "$KEY" \ --body "[${COMMIT_SHA:0:7}]($COMMIT_URL) がプッシュされました" env: BRANCH: ${{ github.ref_name }} COMMIT_SHA: ${{ github.sha }} COMMIT_URL: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}notify-backlog: image: node:lts stage: notify script: - | KEY=$(echo "$CI_COMMIT_BRANCH" | grep -oE '^[A-Z_]+-[0-9]+') npx @nulab/bee issue comment "$KEY" \ --body "[$CI_COMMIT_SHORT_SHA]($CI_PROJECT_URL/-/commit/$CI_COMMIT_SHA) がプッシュされました" rules: - if: $CI_COMMIT_BRANCHpipelines: default: - step: name: Notify Backlog image: node:lts script: - | KEY=$(echo "$BITBUCKET_BRANCH" | grep -oE '^[A-Z_]+-[0-9]+') COMMIT_URL="https://bitbucket.org/${BITBUCKET_WORKSPACE}/${BITBUCKET_REPO_SLUG}/commits/${BITBUCKET_COMMIT}" npx @nulab/bee issue comment "$KEY" \ --body "[${BITBUCKET_COMMIT:0:7}]($COMMIT_URL) がプッシュされました"version: 2.1jobs: notify-backlog: docker: - image: cimg/node:lts steps: - run: name: Notify linked issue command: | KEY=$(echo "$CIRCLE_BRANCH" | grep -oE '^[A-Z_]+-[0-9]+') COMMIT_URL="${CIRCLE_REPOSITORY_URL%.git}/commit/${CIRCLE_SHA1}" npx @nulab/bee issue comment "$KEY" \ --body "[${CIRCLE_SHA1:0:7}]($COMMIT_URL) がプッシュされました"workflows: notify: jobs: - notify-backlogpipeline { agent { docker { image 'node:lts' } } options { skipDefaultCheckout() } environment { BACKLOG_API_KEY = credentials('backlog-api-key') BACKLOG_SPACE = 'myspace.backlog.com' } stages { stage('Notify Backlog') { steps { sh ''' KEY=$(echo "$BRANCH_NAME" | grep -oE '^[A-Z_]+-[0-9]+') COMMIT_URL="${GIT_URL%.git}/commit/${GIT_COMMIT}" npx @nulab/bee issue comment "$KEY" \ --body "[${GIT_COMMIT:0:7}]($COMMIT_URL) がプッシュされました" ''' } } }}実践的なワークフローの例を用意しています。
PR と課題を連動させる PR の作成・編集・マージに連動して課題のステータス更新やクローズを自動化
リリース時に課題へ通知 リリースタグの作成時に関連課題へコメントし、リリースノートを Backlog ドキュメントに投稿