diff options
author | Nicole Cordes <cordes@cps-it.de> | 2014-09-04 00:28:04 +0400 |
---|---|---|
committer | Nicole Cordes <cordes@cps-it.de> | 2015-03-10 12:07:25 +0300 |
commit | b7a31a4b024e2c5f607003f1c42e2cd46adb2ff4 (patch) | |
tree | b525911165dcb33506f18421f3c935b45cfda122 | |
parent | e0caed91e2cd6b959f808139df7c40f3644f88fd (diff) |
Generate valid json for hooks
It seems that ruby can handle 'nil' value but other json processors
(like PHP) throw an error. This is always generated for empty arrays.
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/services/system_hooks_service.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/push_data_builder.rb | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 81468d4013e..1842a28f84e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -35,6 +35,7 @@ v 7.9.0 (unreleased) - Move groups page from profile to dashboard - Starred projects page at dashboard - Blocking user does not remove him/her from project/groups but show blocked label + - Improve json validation in hook data v 7.8.2 - Fix service migration issue when upgrading from versions prior to 7.3 diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb index 46f6e91e808..c5d0b08845b 100644 --- a/app/services/system_hooks_service.rb +++ b/app/services/system_hooks_service.rb @@ -41,7 +41,7 @@ class SystemHooksService path_with_namespace: model.path_with_namespace, project_id: model.id, owner_name: owner.name, - owner_email: owner.respond_to?(:email) ? owner.email : nil, + owner_email: owner.respond_to?(:email) ? owner.email : "", project_visibility: Project.visibility_levels.key(model.visibility_level_field).downcase }) when User diff --git a/lib/gitlab/push_data_builder.rb b/lib/gitlab/push_data_builder.rb index 5cefa67d3ab..ea06e1f7333 100644 --- a/lib/gitlab/push_data_builder.rb +++ b/lib/gitlab/push_data_builder.rb @@ -58,6 +58,7 @@ module Gitlab data[:commits] << commit.hook_attrs(project) end + data[:commits] = "" if data[:commits].count == 0 data end |