@Konboi memo

主に技術に関してつらつらと。

ghooks というGithubのWeb Hook Receiver をgolangで書いた

はじめに

goの練習がてらに Github::Hooks::Receiveroctoksgolangで書いてみました。

ghooks

使い方

README.md にかいてありますが、こんな感じで使います

// sample.go
package main

import (
    "fmt"
    "log"

    "github.com/Konboi/ghooks"
)


func main() {
    port := 8080
    hooks := ghooks.NewServer(port)

    hooks.On("push", pushHandler)
    hooks.On("pull_request", pullRequestHandler)
    hooks.Run()
}

func pushHandler(payload interface{}) {
    fmt.Println("puuuuush")
}

func pullRequestHandler(payload interface{}) {
    fmt.Println("pull_request")
}
go run sample.go

payloadにはそれぞれのイベントで返されるパラメータ が返ってくるので適時使えって貰えばと思います。

さいごに

  • なにか作るのはいい勉強になります
  • 出来る限りテストは書いてみた。
  • エラーハンドリングとか色々甘いところがあるかもしれない…
  • 人のコードみるのほんとに勉強になる