LoginSignup
56
22

【個人開発】キリ番を祝ってくれるGithub Actionsをリリースしました🎉【Go】

Last updated at Posted at 2024-04-14

宣伝

GithubのIssue, Pull Requestには連番で番号が振られています。
この番号においてキリ番(キリの良い番号の略)を踏んだときに、誰も祝ってくれないのは寂しくないですか?
kumackey/kiribanを使えば、キリ番を踏んだときにコメントで祝ってくれます!🎉

test.png

comment.png

今までキリ番を踏んだ人のリストや、次のキリ番も予告してくれます。

使い方

READMEに書いてある通りではありますが、このアクションが動作して欲しいリポジトリの.github/workflowsに、以下のようなymlファイルを追加するだけです!

.github/workflows/kiriban.yml
# .github/workflows/kiriban.yml

name: kiriban

on:
  issues:
    types: [ opened ]
  pull_request:
    types: [ opened ]

jobs:
  kiriban:
    runs-on: ubuntu-latest
    steps:
      - uses: kumackey/kiriban@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GITHUB_TOKENはメッセージをコメントをするために使っています。

開発

キリ番判定

これが本リポジトリのコアロジックです。
キリ番ライブラリとして汎用的に使えるよう、kiribanパッケージとして切り分けてます。
キリ番には大きく分けて3つ存在していると分析し、実装しました。

  • 丸まった数字: 10, 200, 3400
  • 繰り返される数字: 11, 222, 3333
  • 連続する数字: 123, 4567, 98765

他は1221みたいなミラ番をキリ番とするとか、結構キリ番にも宗派があると思います。
pull requestを歓迎しております。

言語

Goを選択してます。
選択してますというか、まともに書ける言語がGoしかない

キリ番には宗派があり、色んな要望に対応できるよう、functional options patternを用いて、オプションで判定方法を変えられるようにしました。
https://github.com/kumackey/kiriban/blob/main/kiriban/options.go

カスタムアクション

リポジトリのrootにaction.ymlを置くことによって、カスタムアクションを作成することができます。
About custom actions - GitHub Docs

Types of actionsはcompositeで作りました。
javascriptでなければdockercompositeしかなく、起動時間を気にしてdockerでなくcompositeにしました。

Githubのissueのデータ取得やコメント

以下のライブラリを使いました。
google/go-github

その他

番号10から祝ってくれます。
みんな使ってみてね!
あと、issueやpull request、大歓迎です!

kumackey/kiriban

56
22
2

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
56
22