やりたいことリスト
- PRが作成されたら関連するIssueの概要をコメントする
- 特定のLabelが付いているIssueを取得する
- 特定のブランチからタグを切る
- (おまけ)特定のブランチとの比較URLを作成する
PRが作成されたら、関連するIssueの概要をコメントする
PRを作成するときに、元となるIssueの情報が欲しいということで、概要にIssueの情報があるとその内容を自動で取得してコメントするようにしたい
- Webhook Pull Request
- Issueの情報を取得
- コメントの作成
特定のLabelが付いているIssueを取得する
urgent
ラベルが付いたIssueやPRをSlackに通知したい
- SearchAPI
- https://developer.github.com/v3/search/#search-issues
- teamでフィルタ
- labelでフィルタ
- レポジトリでフィルタ
特定のブランチからタグを切る
複数レポジトリにまたがってタグ作るのが面倒なので、botで自動化したい
タグは結構特殊みたいで、 tag object
と reference
を作る必要があるらしい
- https://developer.github.com/v3/git/tags/#create-a-tag-object
- https://developer.github.com/v3/git/refs/#create-a-reference
おまけ
PRの出し先と比較したいブランチが違うときとか、結構ある。
そんなとき、比較したいブランチ(PR)との比較ブランチを作ってくれる
https://github.com/<organization>/<repo>/compare/<branch1>...<branch2>
上記URLで比較されるので、それを自動的に生成してコメントするようにすれば良い
compare <PRのURL>
というコメントがあったら比較URLをコメントするようにするとする
- Webhook Pull Request
- IssueコメントのWebhook
上記Webhookを受けて、
でブランチ情報を取る
(おそらく head->label(or ref) で取れる)