LoginSignup
0
0

More than 1 year has passed since last update.

【簡易編】【API × python × GitHub Actions】GithubのCommit数を自動集計するTwitterBotを作成してみよう!

Last updated at Posted at 2022-04-06

はじめに

Naraと申します。DMMWEBCAMPで勉強後、2022年1月より都内の受託会社で勤務を始めました。

この記事では、pythonをベースに、APIでgithubのcommit数の算出と、twitterの自動投稿を行い、github Actionsでそれらを自動化する方法をお伝えします。

この記事の対象

こちらの記事は簡易版ということで、コードの詳細は触れずに「とりあえず日々のcommitをtwitterに反映したい!」という方を対象としています。
コードの中身を詳しく知りたい方は、詳細版を投稿予定ですのでそちらをお待ちください。

詳細版を投稿しました!興味がある方はこちらを参照ください。

Bot作成の前に

本Botは毎日00:00にGitHubActionを定時で動かし、前日のPublicRepositoryの総commit数を算出するBotです。
Bot作成の前に以下の情報の取得をお願いします。

Twitter 投稿について

TwitterBotの作成には、事前に以下の情報が必要です

  • APIKey
  • APIKeySercret
  • Access Token
  • Access Token Secret

取得の方法は別途記事にまとめましたので、ご確認ください。
※記事は2022/04現在のものです。ここ数年で仕様が何回か変化しているので、ご注意ください。

GitHub APIの使用について

GitHub APIを使用する場合、同一IPからのアクセスは一時間に60回までの制限があります。
今回のCommit数の集計は何回もGitHubAPIを取得する必要がありますので、何も考えずに実装を行うと上記の制限に引っかかる可能性が極めて高いです。

こちらの制限はOAuthにより

  • Client ID
  • Client Secret

を取得することで、5000 requests/hourまでAPIでのアクセスが緩和可能となります。
こちらも取得をお願いします

取得の方法は別途記事としてまとめてありますので、参照してください。

Twitter Botの設定

以下私の作成したgit-commit-botを使用して設定していきます。
非常にシンプルで自分でコードを書く必要はほぼありません。

必要な情報は上記「Bot作成の前に」で説明した

  • APIKey
  • APIKeySercret
  • Access Token
  • Access Token Secret
  • Client ID
  • Client Secret

上記に加え、自分のGitHubのUserNameになります。

リポジトリ設定

スクリーンショット 2022-04-06 23.36.03.png

まず上記リポジトリ上段右上からリポジトリをforkしてください。(starくれると嬉しいです。。。)
forkが成功すると自分のリポジトリにforkされたコードが表示されます。

環境変数設定

GitHubActionsで使用する環境変数の設定を行います。
スクリーンショット 2022-04-06 23.41.55.png

forkしてきたリポジトリ上段の「Settings」をクリックして設定画面に遷移します。
スクリーンショット 2022-04-06 23.45.33.png

左のNavigationからSercrets-Actionsをクリックします。

スクリーンショット 2022-04-06 23.46.49.png

New repository secretを選択します。

スクリーンショット 2022-04-06 23.48.24.png

この画面で環境変数を設定します。
登録が必要な変数名は以下になります。

  • TWITTER_CONSUMER_API_KEY = "API key"
  • TWITTER_CONSUMER_API_SECRET_KEY = "API Key Secret"
  • TWITTER_ACCESS_TOKEN = "Access Token"
  • TWITTER_ACCESS_TOKEN_SECRET = "Access Token Secret"
  • GIT_USERNAME = "UserName"
  • GIT_CLIENT_ID = "Client ID"
  • GIT_CLIENT_SECRETS = "Client secrets"

7種類全てをこの変数名で登録してください。

スクリーンショット 2022-04-06 23.52.34.png

登録が完了すると、Repository secretsに上記のような形で登録が確認できます。

GitHub Actionsの設定

最後にGitHub Actionsを有効にします。
スクリーンショット 2022-04-06 23.54.05.png

リポジトリ上段よりActionsをクリックしてください。

スクリーンショット 2022-04-06 23.56.39.png

問題なければ「I understand my workflows, go ahead and enable them」をクリック

スクリーンショット 2022-04-06 23.58.05.png
上記の画面に遷移するので、Navigationのgit_commit_botを選択

スクリーンショット 2022-04-06 23.59.10.png

Enable workfrowを選択

スクリーンショット 2022-04-07 0.00.52.png

この画面になれば設定は完了です。お疲れ様でした。

最後に

本記事では、GithubのCommit数を自動集計するTwitterBotの設定について記載しました。
バグ等の情報は随時連絡いただければと思います。よろしくお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0