uchida
Probot GithubAppsでリポジトリごとの設定ファイルを取得する
2018/11/13
Table of Contents
やること・つかうもの
やること
- GithubAppsでリポジトリ固有の設定ファイルをロードする
つかうもの
やってみる
/.github/xxxx.yml
に設定ファイルを設置する- Probot側でアプリ実行時に設定ファイルをロードする
設定ファイルの設置
GithubAppsから参照可能な設定ファイルとして、/.github
にyamlファイルを設置します
今回は例として、githubユーザ名とSlackユーザ名の対応表だとします。
/.github/fusic.yml
slack_names:
tutida : uchida
設定ファイルをロードしてみる
index.js
module.exports = app => {
app.on('issues.opened', async context => {
const config = await context.config('fusic.yml', {slack_names: []})
console.log(config)
})
}
読み込んたyamlファイルがjson形式で利用できるようになります。
{
"slack_names": {
"tutida": "uchida"
}
}
Probotのconfig()
メソッドを利用して/.github
にあるファイルをロードすることが可能です。
また、第二引数にデフォルト値を設定できるので、ファイルがない場合、必要な設定値がない場合の挙動も制御可能です。
Probotのドキュメント
おわりに
GithubAppsで設定ファイルをロードするための小さなチップスでした。
リポジトリごとに挙動や値を変えたいことは多々あると思うので、設定ファイルがあることを前提をした挙動であることが望ましいなーと最近作ってて思います。
開発効率化委員会の現場からは以上です。
uchida
福岡でWebエンジニアやってます。PHP, クラウド, インフラあたりが好き。