💬

GitHub Actions を使ってissueをつくる

2021/03/15に公開

概要

  • GitHub Actionsを使って日誌をつける。
  • 日誌は templateを使う
  • issue作成は JasonEtco/create-an-issueを使ったworkflowで行いました
  • 日誌作成は2種類
    • 手動でworkflowを実行する
    • shcheduleを使って毎日時にworkflowを実行する

リポジトリ

https://github.com/junara/sandbox_create_issue

手順

workflowを追加

.github/workflows/create_daily_issue.yaml を追加する。

name: Create daily work issue
on:
#   schedule:
#   - cron: '0 0 * * MON-FRI' # 毎日動かしたい場合は、3行目、4行目のコメントアウトを外す
  workflow_dispatch:
jobs:
  create_hoge_issue:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: create issue by template
        uses: JasonEtco/create-an-issue@5d9504915f79f9cc6d791934b8ef34f2353dd74d
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          filename: .github/fuga-template.md

説明

下記の箇所のコメントアウトを外すと毎日平日の9時にこのワークフローが自動実行されます。
時間の指定の仕方など使い方は、ドキュメントスケジュールしたイベントを参照ください。

#   schedule:
#   - cron: '0 0 * * MON-FRI' # 毎日動かしたい場合は、3行目、4行目のコメントアウトを外す

手動でワークフローを動かしたい場合は on:workflow_dispatch を追加します。
詳細は手動イベントを参照ください。

  workflow_dispatch:

外部のGitHub Actionsをうごかします。ここで着目して欲しいのは SHAをつかっていることです。これは、下記の アクションを完全なコミット SHA にピン止めする のためです。

https://docs.github.com/ja/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions

特定の SHA にピン止めすると、有効な Git オブジェクトペイロードに対して SHA-1 衝突を生成する必要があるため、悪意のある人がアクションのリポジトリにバックドアを追加するリスクを軽減できます

参考までに、下記のcommitを参照しています。
5d9504915f79f9cc6d791934b8ef34f2353dd74dです。

        uses: JasonEtco/create-an-issue@5d9504915f79f9cc6d791934b8ef34f2353dd74d

issueを作る際に使うtemplateファイル名をwithで追加します。

        with:
          filename: .github/fuga-template.md

issue templateを追加

issueを作る時のtemplateを追加します。
ファイル名は前記で指定した fuga-template.md です。もちろんこのファイル名は任意に変更出来ます。

.github/fuga-template.md

---
title: 日誌{{ date | date('YYYY') }}{{ date | date('MM') }}{{ date | date('DD') }}assignees:
labels: 
---
### 今日予定していること
#### プロジェクト
* 予定とゴールを書く

### お昼までやったこと
* いまのところやったこと

### 今日やったこと
* ゴールを書く

issueのtitle, assigness, labelsは下記のUsageを参照ください。

JasonEtco/create-an-issue Readme Usage

日付の参照は JasonEtco/create-an-issue Readme dates を参照ください。

参考

手動でGitHub Actions workflowを動かす

Actionsタブの Run workflowからRun workflow(緑色のボタン)を押すと手動で実行できます。

Discussion