Add dingtalk webhook (#2777)

* add dingtalk webhook type

* add vendor

* some fixes

* fix name check

* fix name check & improvment
This commit is contained in:
Lunny Xiao 2017-11-21 12:26:43 +08:00 committed by Lauris BH
parent 420fc8efc2
commit 10b54df2b2
16 changed files with 725 additions and 11 deletions

View file

@ -332,13 +332,15 @@ const (
SLACK
GITEA
DISCORD
DINGTALK
)
var hookTaskTypes = map[string]HookTaskType{
"gitea": GITEA,
"gogs": GOGS,
"slack": SLACK,
"discord": DISCORD,
"gitea": GITEA,
"gogs": GOGS,
"slack": SLACK,
"discord": DISCORD,
"dingtalk": DINGTALK,
}
// ToHookTaskType returns HookTaskType by given name.
@ -357,6 +359,8 @@ func (t HookTaskType) Name() string {
return "slack"
case DISCORD:
return "discord"
case DINGTALK:
return "dingtalk"
}
return ""
}
@ -520,6 +524,11 @@ func prepareWebhook(e Engine, w *Webhook, repo *Repository, event HookEventType,
if err != nil {
return fmt.Errorf("GetDiscordPayload: %v", err)
}
case DINGTALK:
payloader, err = GetDingtalkPayload(p, event, w.Meta)
if err != nil {
return fmt.Errorf("GetDingtalkPayload: %v", err)
}
default:
p.SetSecret(w.Secret)
payloader = p