ChatOps系で使い古されたネタです。
Slackには元々Github Integrationがあるんですが、 無料で利用してると1チームで使用できるIntegrationには限りがあるのと Integrationを別で流用したかったので、その練習もかねて PullRequestのOpen CloseのみをSlackに通知したくて、ServerlessFrameworkでコードを組みました。
アーキテクチャ GithubからAPIGatewayのendpointに対してメッセージを投げて、 LambdaでメッセージをparseしてSlackにメッセージを投下するという感じです。
実際に作ったもの github-pr-notification/328 - github 実際にこんな感じで使えます。 作る上で困ったこと GithubからLambdaにpayloadを持ってくる時にpayload={ "message" : "test messages"}とJSONっぽいただの文字列が降ってくるんですが、ここをどうするかで少し悩んでました。結局、slice(8)で最初の文字列をそぎ落としてJSON.parseしました。 とりあえず、sliceするか正規表現でマッチかけてごにょごにょするかしか今のところは思いつかないですが、他に良い方法があったら誰か教えてくださいm(_ _)m
おわりに APIGatewayやLambdaを結構使ってきましたが、そろそろDynamoDBとの連携もやってみたいなと思ったり。 CodeBuildで遊んだりもしてるのでそろそろ記事を投下しようと思います。 おしまい。 »
Fork元の差分を自分のリポジトリに取り込む $ cd Repository $ git remote add upstream git://github.com/328/Repository.git $ git fetch upstream $ git merge upstream/master 他人のPullRequestを取り込む »
GithubにはName Squatting Policyというものがあり、Githubに連絡すればInactiveなアカウントを解放してもらえる。 詳しくは↓を
Name Squatting Policy - Github
いろいろ理由書いてGithubさんに連絡したところ、Githubアカウントを解放してもらえた。
おかげさまで328--から328になった。
ハイフン2つ減っただけなんだけど、結構大きい。
参考にしたサイト
GitHubで使われてないアカウントを解放してもらった Githubでpecoのアカウントを融通してもらった件 »
今まで、Githubに公開されているソースをForkし
自分好みに変更を加えるということはやってきたのだけれど、
今回Fork元に初めてプルリク(以下:PR)を送ってみました。
実はこのブログはHUGOを使っていて、
テーマはcasperを利用しています。
テーマを使ってて気になったことがあって、
ページ右下のShare this postのTwitterをクリックすると Webサイトのタイトルが無いことに気づきました。
上記のようにWebサイトのタイトルをつけたかったので、
ソースを直してして下記のPRを出してみました。
vjeantet / hugo-theme-casper - #55
しばらくしたらメッセージ付きでMergeしてくれました。
ありがたやありがたや。
今回のPRでは難しいことは全くやって無いですが、
少しでも貢献できたということが重要^^
というわけで、マージされたので
このサイトでもすでに反映されてますよ。
みなさんシェアしてください(笑) »