GitHub を Backlog の課題と連携する GitHub Action を公開しました

プッシュされたコミットメッセージを Backlog 課題のコメントに追加する GitHub Action を公開しました。ぜひご利用ください。

GitHub Action

GitHub Actionとは、GitHub内で完結するCI / CDツールです。ベータ版利用時からGitHubのみで完結することに感動し、自分でいろいろなActionsを作り、そして捨ててきましたw。

GitHub Actionsについて - GitHub ヘルプ
GitHub Actions では、カスタムソフトウェア開発のライフサイクル (SDLC) にわたるワークフローを GitHub リポジトリに直接作成することができます。

そのうち、勤務先で需要があったパッケージを1つ公開し、GitHub Marketplaceに公開しています。どうぞご利用ください。

Backlog Notify

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

Backlog Notify - GitHub Marketplace
Notify commit messages to Backlog issue

使用方法

Backlog の Gitと同様です。ただし、今の所は先頭にある1つ目のキーしか認識しません。

付加機能として、コミットログで課題を操作することができます。今のところはどのブランチにプッシュしても操作されます。

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

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

PROJECT-123 不具合修正 #fix

仕様例です。

コミット21eaec3: 空コミットで #close を付けました。
コミットb9c827b: プログラムを修正した #fix を付けました。

コミット21eaec3は、下記のようにコミットメッセージの転載とともに、自動で完了にステータスを変更します。空コミットすることで、Backlogを開かずともコメントを残すことができます。また、コミットログにもBacklogにも同じ情報を残すことができます。

コミットb9c827bは、下記のようにコミットメッセージの転載とともに、自動で処理済みにステータスを変更します。GitHubのコミット差分にリンクされているので、Backlogのコメントから簡単に差分を確認することができます。

GitHub Actions は処理時間で課金されるためできるだけ実行時間を減らすよう設計しています。

1ファイル内に依存関係をすべて結合しているNode.jsのプログラムのため数秒で完了します。2コミットでは3秒でした。とてもエコです。

設定方法

注意

アルファ版です。

プライベートリポジトリでの使用を想定しています。パブリックリポジトリでは使用しないでください。大量にプッシュするとそのまま投稿され、 Backlog に負荷がかかるのでご注意ください。

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

Backlog Notify - GitHub Marketplace
Notify commit messages to Backlog issue

BacklogでAPIキーの発行

  1. Backlog のプロジェクトに移動します。
  2. プロジェクト設定→参加ユーザー→新しいユーザの追加はこちらからを選択します。
  3. クラシックプランの場合は「一般ユーザ」 、新プランの場合は「ゲスト」を選択します。
  4. 登録します。

  1. 登録した BOT アカウントにログインします。
  2. 個人設定 → API → 登録 でAPIキーを発行します。

secretの登録

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

GitHub Actions workflowの設定

  1. GitGubのリポジトリページに移動します。
  2. 「Actions」 → 「New workflow」 → 「Set up a workflow yourself」 を選択します
  3.  main.ymlbacklog-notify.yml などの名前に変更します。
  4. 入力欄にYAMLを下記を参考に設定します。
    name: Backlog Notify
    on: push
    jobs:
      backlog:
        runs-on: ubuntu-latest
        steps:
          - name: Backlog Notify
            uses: bicstone/backlog-notify@master
            env:
              PROJECT_KEY: PROJECT_KEY
              API_HOST: example.backlog.jp
              API_KEY: ${{ secrets.BACKLOG_API_KEY }}
  5. 「Start commit」 をクリックしてコミットとプッシュします。

需要はありますか?

職場では需要あったのですが、世の中に需要あるのか疑問に思っています。

もし、便利だなぁと思ったらスターください。反響があれば、様々なブランチモデルに対応したり、機能の追加を行いたく思います。

よろしくお願いいたします。

bicstone/backlog-notify
プッシュされたコミットメッセージを Backlog 課題のコメントに追加する GitHub Action です。 - bicstone/backlog-notify

コメント