Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
bell

GitHub Action

Backlog Notify

v3.0.2

Backlog Notify

bell

Backlog Notify

Notify commit messages to Backlog issue

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Backlog Notify

uses: bicstone/backlog-notify@v3.0.2

Learn more about this action in bicstone/backlog-notify

Choose a version

Backlog Notify

CI coverage njsscan sarif FOSSA Status Quality Gate Status DeepSource codecov

Notify commit messages to Backlog.com issue.

プッシュされたコミットメッセージを Backlog 課題のコメントに追加する GitHub Action です。キーワードによる課題の状態変更も可能です。

個人が開発した Action です。ヌーラボさまへのお問い合わせはご遠慮ください。

Backlog Notifyの動作をイメージした図

設定方法

Backlog API キーの取得

  1. Backlog のプロジェクトに移動します。
  2. プロジェクト設定 → 参加ユーザー → 新しいユーザの追加はこちらから を選択します。
  3. クラシックプランの場合は 一般ユーザ 、新プランの場合は ゲスト を選択します。
  4. 登録します。
  5. 登録した BOT アカウントにログインします。
  6. 個人設定 → API → 登録 で API キーを発行します。

API キーを GitHub に登録

  1. GitHub のリポジトリページに移動します。
  2. Setting → Secrets → Add a new secret を選択します。
  3. Name は BACKLOG_API_KEY とし、 Value に API キーをそのまま貼り付けます。
  4. 登録します。

collaborator による workflow の実行を制限

プライベートリポジトリの場合は下記の操作を行う必要はありません。
パブリックリポジトリの場合は、collaborator からの workflow の実行を制限してください。

  1. Setting → Actions → Fork pull request workflows from outside collaborators を開きます。
  2. Require approval for all outside collaborators を選択します。

Workflow の作成

GitHub Actions workflow を作成します (例: .github/workflows/backlog-notify.yml )。 下記のような形式である必要があります。

name: Backlog Notify

on: push

jobs:
  notify:
    runs-on: ubuntu-latest

    steps:
      - name: Backlog Notify
        uses: bicstone/backlog-notify@v3
        with:
          # 必須設定 (The following are required settings)
          project_key: PROJECT_KEY
          api_host: example.backlog.jp
          api_key: ${{ secrets.BACKLOG_API_KEY }}

          # 任意設定 (The following are optional settings)
          fix_keywords: |-
            #fix
            #fixes
            #fixed
          close_keywords: |-
            #close
            #closes
            #closed
          push_comment_template: |-
            <%= commits[0].author.name %>さんが[<%= ref.name %>](<%= ref.url %>)にプッシュしました
            <% commits.forEach(commit=>{ %>
            + <%= commit.comment %> ([<% print(commit.id.slice(0, 7)) %>](<%= commit.url %>))<% }); %>
          commit_message_reg_template: "\
            ^\
            (<%= projectKey %>\\-\\d+)\\s?\
            (.*?)?\\s?\
            (<% print(fixKeywords.join('|')) %>|<% print(closeKeywords.join('|')) %>)?\
            $\
            "
          fix_status_id: 3
          close_status_id: 4

設定一覧

設定名 説明
project_key Backlog プロジェクトキー (必須)
api_host Backlog のホスト (必須)
api_key Backlog API キー (必須)
fix_keywords 処理済みにするキーワード
close_keywords 完了にするキーワード
push_comment_template プッシュ時のコメント雛形
commit_message_reg_template コミットメッセージ解析の正規表現雛形
fix_status_id 処理済みの 状態 ID
close_status_id 完了の 状態 ID

push_comment_template

プッシュ時のコメントの雛形を変更できます。
構文については lodash/template をご参照ください。

使用可能な変数
変数名
commits ParsedCommit[]
ref ParsedRef

ParsedCommit

変数名
id string
tree_id string
distinct boolean
message string
timestamp string
url string
author Committer
committer Committer
added string[]
modified string[]
removed string[]
issueKey string
comment string
keywords string
isFix boolean
isClose boolean

ParsedRef

変数名
name string
url string

Committer

変数名
name string
email string | null
date string | undefined
username string | undefined

commit_message_reg_template

コミットメッセージ解析の正規表現雛形を変更できます。
構文については lodash/template をご参照ください。

使用可能な変数
変数名
projectKey string
fixKeywords string[]
closeKeywords string[]

使用方法

Backlog の Git と同様です。課題キーは先頭にある 1 つ目のキーのみ認識します。
付加機能として、コミットログで課題を操作することができます。

  • #fix #fixes #fixed のどれかで処理済み
  • #close #closes #closed のどれかで完了

例えば下記のようにコミットメッセージを設定してください。

PROJECT-123 不具合修正 #fix

大量にプッシュするとそのまま投稿され、 Backlog に負荷がかかるのでご注意ください。

よくある質問と回答

  • 何をプッシュしても実行に失敗し、ログに 401 エラーとある
    →API キーが誤っている可能性があります。

  • プロジェクトキーと課題キーが正しいのに実行に失敗し、ログに 404 エラーとある
    → 該当 API キーのユーザーがプロジェクトに参加していない可能性があります。

貢献

コントリビューターの皆様に感謝いたします。

Thanks goes to these contributors.


Oishi Takanori

🤔 💻 🚧 💬 📖 👀

takeshi.kondo

🐛 💻

Kenta SUZUKI

📖

mantaroh

🤔

Hyunjoon KIM

🤔 💻

貢献はいつでも大歓迎です。事前に CONTRIBUTING.md をご確認ください。

Contributions of any kind welcome! Please read CONTRIBUTING.md.

ライセンス

MIT License

FOSSA Status