diff --git a/modules/structs/hook.go b/modules/structs/hook.go
index cd91d4bc462a..0babe844101a 100644
--- a/modules/structs/hook.go
+++ b/modules/structs/hook.go
@@ -19,6 +19,7 @@ var ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webho
 type Hook struct {
 	ID                  int64             `json:"id"`
 	Type                string            `json:"type"`
+	BranchFilter        string            `json:"branch_filter"`
 	URL                 string            `json:"-"`
 	Config              map[string]string `json:"config"`
 	Events              []string          `json:"events"`
diff --git a/services/webhook/general.go b/services/webhook/general.go
index f53ea31ffad7..b9cc3dc8457b 100644
--- a/services/webhook/general.go
+++ b/services/webhook/general.go
@@ -260,5 +260,6 @@ func ToHook(repoLink string, w *webhook_model.Webhook) (*api.Hook, error) {
 		AuthorizationHeader: authorizationHeader,
 		Updated:             w.UpdatedUnix.AsTime(),
 		Created:             w.CreatedUnix.AsTime(),
+		BranchFilter:        w.BranchFilter,
 	}, nil
 }
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index da43c530af1f..734a73bc0c53 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -19137,6 +19137,10 @@
           "type": "string",
           "x-go-name": "AuthorizationHeader"
         },
+        "branch_filter": {
+          "type": "string",
+          "x-go-name": "BranchFilter"
+        },
         "config": {
           "type": "object",
           "additionalProperties": {