GitHub Actions で issue を定期的に作成するワークフローを作ってみた

定期的なタスクの対応漏れを防ぐ手段の1つとして GitHub Actions でワークフローを作成しました。

🙋 はじめに

Basic 認証を設けているサイトを運用していると、セキュリティの観点からパスワードを定期的に変更したいと考えることでしょう。

しかし、他の作業に気を取られているとついついパスワードの更新を忘れてしまいます。

そこで、定期的にパスワードを変更するというissueを作成するようにしました。

🔥 実際のコード

実行タイミングは cron にて設定します。

今回は3ヶ月毎に実行されるように設定しています。

name: update basic password
on:
  schedule:
    - cron: '0 0 1 */3 *'

jobs:
  create_issue:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create Issue
        uses: actions/github-script@v6
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            const issue = await github.rest.issues.create({
              owner: context.repo.owner,
              repo: context.repo.repo,
              title: 'Update basic password',
              body: `
                The basic password needs to be updated every 3 months.
                Please update the password in the password manager.
              `,
              labels: ['security']
            });

正常に動作していると添付画像のような issue が作成されます。

GitHub Actionsによって作成されたissueの画像

✅ まとめ

ワークフローがあることで定期的なタスクのリマインドも行うことができるようになり、とても便利だなと感じました。