瀏覽代碼

update slack hook to use new format

Christopher Brickley 10 年之前
父節點
當前提交
3794111460
共有 4 個文件被更改,包括 5 次插入24 次删除
  1. 0 10
      models/slack.go
  2. 1 2
      modules/auth/repo_form.go
  3. 2 6
      routers/repo/setting.go
  4. 2 6
      templates/repo/settings/hook_slack.tmpl

+ 0 - 10
models/slack.go

@@ -16,8 +16,6 @@ const (
 )
 
 type Slack struct {
-	Domain  string `json:"domain"`
-	Token   string `json:"token"`
 	Channel string `json:"channel"`
 }
 
@@ -36,14 +34,6 @@ type SlackAttachment struct {
 	Text  string `json:"text"`
 }
 
-func GetSlackURL(domain string, token string) string {
-	return fmt.Sprintf(
-		"https://%s.slack.com/services/hooks/incoming-webhook?token=%s",
-		domain,
-		token,
-	)
-}
-
 func (p SlackPayload) GetJSONPayload() ([]byte, error) {
 	data, err := json.Marshal(p)
 	if err != nil {

+ 1 - 2
modules/auth/repo_form.go

@@ -81,8 +81,7 @@ func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) bin
 
 type NewSlackHookForm struct {
 	HookTaskType string `form:"hook_type" binding:"Required"`
-	Domain       string `form:"domain" binding:"Required`
-	Token        string `form:"token" binding:"Required"`
+	PayloadUrl   string `form:"payload_url" binding:"Required`
 	Channel      string `form:"channel" binding:"Required"`
 	PushOnly     bool   `form:"push_only"`
 	Active       bool   `form:"active"`

+ 2 - 6
routers/repo/setting.go

@@ -483,9 +483,7 @@ func SlackHooksNewPost(ctx *middleware.Context, form auth.NewSlackHookForm) {
 	}
 
 	meta, err := json.Marshal(&models.Slack{
-		Domain:  form.Domain,
 		Channel: form.Channel,
-		Token:   form.Token,
 	})
 	if err != nil {
 		ctx.Handle(500, "SlackHooksNewPost: JSON marshal failed: ", err)
@@ -494,7 +492,7 @@ func SlackHooksNewPost(ctx *middleware.Context, form auth.NewSlackHookForm) {
 
 	w := &models.Webhook{
 		RepoId:      orCtx.RepoId,
-		Url:         models.GetSlackURL(form.Domain, form.Token),
+		Url:         form.PayloadUrl,
 		ContentType: models.JSON,
 		Secret:      "",
 		HookEvent: &models.HookEvent{
@@ -551,16 +549,14 @@ func SlackHooksEditPost(ctx *middleware.Context, form auth.NewSlackHookForm) {
 		return
 	}
 	meta, err := json.Marshal(&models.Slack{
-		Domain:  form.Domain,
 		Channel: form.Channel,
-		Token:   form.Token,
 	})
 	if err != nil {
 		ctx.Handle(500, "SlackHooksNewPost: JSON marshal failed: ", err)
 		return
 	}
 
-	w.Url = models.GetSlackURL(form.Domain, form.Token)
+	w.Url = form.PayloadUrl
 	w.Meta = string(meta)
 	w.HookEvent = &models.HookEvent{
 		PushOnly: form.PushOnly,

+ 2 - 6
templates/repo/settings/hook_slack.tmpl

@@ -4,12 +4,8 @@
     <input type="hidden" name="hook_type" value="slack">
     <div class="text-center panel-desc">{{.i18n.Tr "repo.settings.add_slack_hook_desc" | Str2html}}</div>
     <div class="field">
-        <label class="req" for="domain">{{.i18n.Tr "repo.settings.slack_domain"}}</label>
-        <input class="ipt ipt-large ipt-radius {{if .Err_UserName}}ipt-error{{end}}" id="domain" name="domain" type="text" value="{{.SlackHook.Domain}}" placeholde="myslack" required />
-    </div>
-    <div class="field">
-        <label class="req" for="token">{{.i18n.Tr "repo.settings.slack_token"}}</label>
-        <input class="ipt ipt-large ipt-radius {{if .Err_UserName}}ipt-error{{end}}" id="token" name="token" type="text" value="{{.SlackHook.Token}}" autocomplete="off" required />
+        <label class="req" for="payload-url">{{.i18n.Tr "repo.settings.payload_url"}}</label>
+        <input class="ipt ipt-large ipt-radius {{if .Err_UserName}}ipt-error{{end}}" id="payload-url" name="payload_url" type="url" value="{{.Webhook.Url}}" required />
     </div>
     <div class="field">
         <label class="req" for="channel">{{.i18n.Tr "repo.settings.slack_channel"}}</label>