Chatworkにメッセージを送信するGitHub Actionsを公開しました🎉
目次
GitHub ActionsからChatworkに何かを通知したいことがありませんか?僕はあります。例えば、CIが成功した時は成功したことをChatworkに通知して欲しいですし、CIが失敗した時は失敗したことをChatworkに通知して欲しいです。GitHub Actionsが元気に動いているのを眺めているのは楽しい趣味ですが(そして時に必要なことでもありますが)、大抵の場合は結果だけをチャット(ここではChatwork)に通知してくれれば足ります。
結論としては、GitHub ActionsからChatworkにメッセージを送信するためのActionをGitHubのマーケットプレースに公開しました🎉こちらのActionを使っていただければ、GitHub ActionsからChatworkへ、簡単にメッセージを送信できるようになるかと思います。
ちなみに、GitHubのマーケットプレースを探すと、既に以下のアクションが存在しました。どのActionもPull Requestに関する通知を送ってくれるActionのようです。自分はCIの結果をChatworkに通知する、というようなユースケースを満たすActionが欲しいと考えていたので、これらのActionはちょっと目的が違うかなと思いました。
- chatwork-actions · Actions · GitHub Marketplace
- Pull Request Chatwork Notifier · Actions · GitHub Marketplace
- Open Pull Requests Chatwork Notifier · Actions · GitHub Marketplace
使い方
以下にサンプルとなるGitHub Actionsのワークフローを示します。 okuzawats/chatwork-messaging-action
を使用している箇所に着目してください。
name: send message
on:
push:
branches: [main]
jobs:
message:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set current datetime to env
env:
TZ: 'Asia/Tokyo'
run: echo "CURRENT_DATETIME=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
- name: set arguments
id: arguments
run: echo '::set-output name=message::"[info][title](beer)what time is it now?[/title]it is ${{ env.CURRENT_DATETIME }} now.[/info]"'
- uses: okuzawats/chatwork-messaging-action@v1.0
with:
apiToken: ${{ secrets.API_TOKEN }}
roomId: ${{ secrets.ROOM_ID }}
message: ${{ steps.arguments.outputs.message }}
このActionを使う時に必要となるのは、APIのトークン( apiToken
)、チャットルームのID( roomID
)、そして送信するメッセージ( message
)です。いずれもこのActionを使用する上で必須のパラメータとしています。
APIトークンは以下から利用申請を行うと取得できるものです。こちらはGitHubのシークレットに入れて使うことを想定しています。
チャットルームのIDは、「チャットの説明 > グループチャットの設定 > チャット情報 > 画面下部のルーム ID」というように進んで確認できる数字です。ブラウザ版のChatworkでチャットルームを開いた時のURLに含まれるrid以下の数字も同じものです。ブラウザ版を使っているのであれば、URLを確認するのが一番早いかもしれません。こちらも一応シークレットに入れて使うことを想定しています。
最後のパラメータは、Chatworkに送信したい文字列です。Chatworkのメッセージは、「メッセージ記法」というものを使ってリッチにできます。メッセージ記法については、以下のリンクを参照してください。また、もしActionで使用できないメッセージ記法があれば、Issueを立てていただけるとありがたいです。
Reference
- Chatwork, Chatwork APIへようこそ!, retrieved from https://developer.chatwork.com/docs (最終アクセス日:2022年8月31日)
- Chatwork, メッセージ記法について, retrieved from https://developer.chatwork.com/docs/message-notation (最終アクセス日:2022年8月31日)
書いている人 😎

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。
👉 もっと詳しく
著書 ✍
Android 依存性注入 ヒッチハイク・ガイド🧳
Androidアプリでの依存性注入(Dependency Injection)に入門するためのガイダンスです。依存性注入の概念やメリットを理解し、Dagger Hiltを用いてAndroidアプリに適用する方法を解説しています。
ソフトウェアデザイン 2023年6月号📚
特集「クリーンアーキテクチャとは何か?」の第5章「モバイルアプリ開発における実践」を執筆しました。
Android クリーンアーキテクチャ ヒッチハイク・ガイド🧳
Androidアプリでのクリーンアーキテクチャに入門するためのガイダンスです。クリーンアーキテクチャの概念を理解し、Androidアプリに適用する方法を解説しています。
Android ユニットテスト ヒッチハイク・ガイド🧳
Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。
Android MVVMアーキテクチャ入門🛠
Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。
関連記事 👀
- GitHub ActionsでSonarCloudにカバレッジをアップロードする
- GitHub ActionsでktlintとAndroid Lintを並列実行して、DangerでPRにまとめてコメントする🐝
- SwiftでFizzBuzz
- [Android] GitHub ActionsでRoom / Realmの自動テスト