Github Actionsを使ってGithubにpushしたらTwitterに自動投稿する方法

こんにちは。今回は、Github Actionsを使って、GithubにpushしたらTwitterに自動投稿する方法について解説していきます。Github Actionsを使えば、Github上のイベントをトリガーに、様々な処理を自動化することができます。この記事では、Github Actionsを使ってGithubにpushしたらTwitterに自動投稿する方法を実際の例を交えながら解説します。

前提条件

この記事を読む前に、以下の前提条件を満たしていることを確認してください。

  • Githubアカウントを持っていること
  • Twitterアカウントを持っていること
  • Twitter Developer Accountを持っていること

手順

以下の手順に従って、GithubにpushしたらTwitterに自動投稿するワークフローを作成しましょう。

1. Twitter Developer Accountを作成する

Twitter Developer Accountを持っていない場合は、以下の手順に従ってアカウントを作成してください。

  1. Twitter Developer Platformにアクセスし、アカウントを作成する。
  2. 「Create an App」をクリックし、アプリを作成する。
  3. 「Keys and tokens」タブから、Consumer Key、Consumer Secret、Access Token、Access Token Secretを取得する。

2. Twitter APIを使うためのライブラリをインストールする

Twitter APIを使うためのライブラリであるtwitter-liteをインストールします。npmを使ってインストールすることができます。

npm install twitter-lite

3. Githubにリポジトリを作成する

Githubにリポジトリを作成し、ローカル環境にクローンします。

4. ツイートするスクリプトを作成する

Github Actionsで実行するスクリプトを作成します。ここでは、以下のようなスクリプトを作成します。

const Twitter = require('twitter-lite');

const client = new Twitter({
  subdomain: "api",
  consumer_key: process.env.TWITTER_CONSUMER_KEY,
  consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
  access_token_key: process.env.TWITTER_ACCESS_TOKEN,
  access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET
});

const tweet = `New commit pushed to ${process.env.GITHUB_REPOSITORY}!`;

client
  .post("statuses/update", {
    status: tweet,
  })
  .then((result) => {
    console.log("Tweeted successfully!");
  })
  .catch((error) => {
    console.error(error);
  });

このスクリプトでは、Twitter APIを使用して、指定したテキストをツイートすることができます。

5. ワークフローファイルを作成する

Github Actionsで実行するワークフローファイルを作成します。リポジトリのルートに、.github/workflowsディレクトリを作成し、以下のような内容のtweet.ymlという名前のファイルを作成します。

name: Tweet on Push

on:
  push:
    branches:
      - main

jobs:
  tweet:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14.x'
      - name: Install dependencies
        run: npm install
      - name: Tweet on Push
        env:
          TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
          TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
          TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
          TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
        run: node tweet.js

このワークフローでは、mainブランチにpushされた場合、tweet.jsスクリプトが実行され、指定したテキストがツイートされます。

6. シークレット情報を設定する

最後に、Twitter APIのキーとトークンをGithubのシークレットとして設定する必要があります。リポジトリのSettings > Secretsから、以下の4つのシークレットを設定します。

  • TWITTER_CONSUMER_KEY
  • TWITTER_CONSUMER_SECRET
  • TWITTER_ACCESS_TOKEN
  • TWITTER_ACCESS_TOKEN_SECRET

それぞれのシークレットには、Twitter Developer Accountで取得したキーとトークンを設定してください。

これで、GithubにpushするとTwitterに自動投稿されるようになりました!

まとめ

今回は、Github Actionsを使ってGithubにpushしたらTwitterに自動投稿する方法について解説しました。Github Actionsを使えば、簡単に自動化ワークフローを作成することができます。ぜひ、自分にあった自動化ワークフローを作成して、作業効率を上げていきましょう。

 

Github 関連のまとめ

Github 関連のまとめ
GitHub Actionsによる自動化入門   Github ActionsによるCI/CDの自動化   Github Actions CI/CD   Github Actionsの無料プランと有料プランの比較   Github Acti...

 

オンラインスクールを講師として活用する!

【完全無料】使えるプログラミングスクール体験セミナー
【完全無料】使えるプログラミングスクール体験セミナー WEB制作の無料教材がここにきてどんどん増えてきてるので、使えるものをまとめようと思います。 TecAcademy(テックアカデミー) TechAcademyの無料体験 Samurai ...

 

0円でプログラミングを学ぶという選択

タイトルとURLをコピーしました