commit
2f232b8c98
3 changed files with 19 additions and 11 deletions
11
.drone.yml
11
.drone.yml
|
@ -17,12 +17,15 @@ services:
|
|||
- postgres
|
||||
- mysql
|
||||
notify:
|
||||
email:
|
||||
recipients:
|
||||
- brad@drone.io
|
||||
gitter:
|
||||
room_id: 76f5e5ec935c5b40259a
|
||||
room_id: $$GITTER_ROOM
|
||||
token: $$GITTER_KEY
|
||||
on_started: false
|
||||
on_success: false
|
||||
on_failure: false
|
||||
on_success: true
|
||||
on_failure: true
|
||||
|
||||
publish:
|
||||
s3:
|
||||
|
@ -34,3 +37,5 @@ publish:
|
|||
source: packaging/output/
|
||||
target: $DRONE_BRANCH/
|
||||
recursive: true
|
||||
when:
|
||||
owner: drone
|
||||
|
|
|
@ -24,11 +24,11 @@ type Gitter struct {
|
|||
|
||||
func (g *Gitter) Send(context *model.Request) error {
|
||||
switch {
|
||||
case context.Commit.Status == "Started" && g.Started:
|
||||
case context.Commit.Status == model.StatusStarted && g.Started:
|
||||
return g.sendStarted(context)
|
||||
case context.Commit.Status == "Success" && g.Success:
|
||||
case context.Commit.Status == model.StatusSuccess && g.Success:
|
||||
return g.sendSuccess(context)
|
||||
case context.Commit.Status == "Failure" && g.Failure:
|
||||
case context.Commit.Status == model.StatusFailure && g.Failure:
|
||||
return g.sendFailure(context)
|
||||
}
|
||||
|
||||
|
@ -70,9 +70,8 @@ func (g *Gitter) send(msg string) error {
|
|||
|
||||
// create headers
|
||||
headers := make(map[string]string)
|
||||
headers["Accept"] = "application/json"
|
||||
headers["Authorization"] = fmt.Sprintf("Bearer %s", g.Token)
|
||||
|
||||
go sendJson(url, payload, headers)
|
||||
|
||||
return nil
|
||||
return sendJson(url, payload, headers)
|
||||
}
|
||||
|
|
|
@ -105,11 +105,14 @@ func getBuildUrl(context *model.Request) string {
|
|||
|
||||
// helper fuction to sent HTTP Post requests
|
||||
// with JSON data as the payload.
|
||||
func sendJson(url string, payload []byte, headers map[string]string) {
|
||||
func sendJson(url string, payload []byte, headers map[string]string) error {
|
||||
client := &http.Client{}
|
||||
buf := bytes.NewBuffer(payload)
|
||||
|
||||
req, err := http.NewRequest("POST", url, buf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
if headers != nil {
|
||||
|
@ -120,7 +123,8 @@ func sendJson(url string, payload []byte, headers map[string]string) {
|
|||
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return
|
||||
return err
|
||||
}
|
||||
resp.Body.Close()
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue