It builds

This commit is contained in:
vagrant 2014-04-06 09:05:30 +00:00
parent 29664be7b8
commit d7338cfdb2

View file

@ -1,18 +1,17 @@
package notify package notify
import ( import (
"bytes"
"encoding/json" "encoding/json"
"net/http" "fmt"
"github.com/drone/drone/pkg/model" //"github.com/drone/drone/pkg/model"
) )
const ( const (
slackEndpoint = "https://%s.slack.com/services/hooks/incoming-webhook?token=%s" slackEndpoint = "https://%s.slack.com/services/hooks/incoming-webhook?token=%s"
startedMessage = "Building %s, commit %s, author %s" slackStartedMessage = "Building %s, commit %s, author %s"
successMessage = "<b>Success</b> %s, commit %s, author %s" slackSuccessMessage = "<b>Success</b> %s, commit %s, author %s"
failureMessage = "<b>Failed</b> %s, commit %s, author %s" slackFailureMessage = "<b>Failed</b> %s, commit %s, author %s"
) )
type Slack struct { type Slack struct {
@ -39,17 +38,17 @@ func (s *Slack) Send(context *Context) error {
} }
func (s *Slack) sendStarted(context *Context) error { func (s *Slack) sendStarted(context *Context) error {
msg := fmt.Sprintf(startedMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author) msg := fmt.Sprintf(slackStartedMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author)
return s.send(msg) return s.send(msg)
} }
func (s *Slack) sendSuccess(context *Context) error { func (s *Slack) sendSuccess(context *Context) error {
msg := fmt.Sprintf(successMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author) msg := fmt.Sprintf(slackSuccessMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author)
return s.send(msg) return s.send(msg)
} }
func (s *Slack) sendFailure(context *Context) error { func (s *Slack) sendFailure(context *Context) error {
msg := fmt.Sprintf(failureMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author) msg := fmt.Sprintf(slackFailureMessage, context.Repo.Name, context.Commit.HashShort(), context.Commit.Author)
return s.send(msg) return s.send(msg)
} }
@ -69,19 +68,9 @@ func (s *Slack) send(msg string) error {
} }
// send payload // send payload
url = fmt.Sprintf(slackEndpoint, s.Team, s.Token) url := fmt.Sprintf(slackEndpoint, s.Team, s.Token)
go sendJson(url, payload) go sendJson(url, payload)
return nil return nil
} }
// helper fuction to sent HTTP Post requests
// with JSON data as the payload.
func sendJson(url string, payload []byte) {
buf := bytes.NewBuffer(payload)
resp, err := http.Post(url, "application/json", buf)
if err != nil {
return
}
resp.Body.Close()
}