hamburger

主に日記

GitHub Actionsでissueの自動登録

todoやらtimesやらをプライベートリポジトリのissueで管理するようになって、そうなると毎日使うissueは自動で作成するようにしたくなった

調べてみたらワークフローが公開されていたので、ちょっと工夫しながら使ってみた

Actionsの登録

create-an-issue というワークフローを使い、日時でissueを登録するようにした

github.com

以下のようなテイストのファイルをcommitする

name: Create a routine issue on every day

on:
  schedule:
  - cron: '0 21 * * *' #JSTで6時に実行

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2 # テンプレートを使用する場合は、リポジトリをチェックアウトする
    - uses: JasonEtco/create-an-issue@v2
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # このsecretsはデフォルトのもの
      with:
        filename: .github/ISSUE_TEMPLATE/templete.md # 自身のテンプレートファイル

ちなみに先にテンプレートファイルを登録しておいたほうが手順的には正しいが、のちの説明の都合上こちらを先に説明した。

テンプレートの登録

基本的には通常のテンプレートと同じフォーマット

---
name: templete name
about: for times
title: "[times] {{ date | date('add', 1, 'days') | date('YYYY/MM/DD') }}"
labels: "times"
assignees: assignees name
---

一つ注意点があって、このワークフローではテンプレート内でdate変数を利用できるが、それがUCTのtimezoneなので日本で使おうとするとずれてしまう。

僕の場合、朝の6時に実行したかったのでそうすると現地時間では日付が1日前になる。

それを回避するためにプレースホルダ内で値を書き換えて利用している


上の設定をすれば、毎日指定の時間に指定のフォーマットでissueを登録されるので、あとは適宜編集して活用する。タスク自体軽いので、コレ単体では無料ユーザでも問題ないはず

今のところは順調に稼働してる。