From 1f64332e11949a5954b1e4ac7c6667b03ea70a0b Mon Sep 17 00:00:00 2001
From: Tommy Beadle <tbeadle@arbor.net>
Date: Thu, 7 Jan 2016 12:54:54 -0500
Subject: [PATCH] Include user_username in
 user_(add_to/remove_from)_(project/group) system hooks.

---
 app/services/system_hooks_service.rb       | 2 ++
 doc/system_hooks/system_hooks.md           | 4 ++++
 spec/services/system_hooks_service_spec.rb | 8 ++++----
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb
index 2bd8223fbd8..bc39ae9f2cb 100644
--- a/app/services/system_hooks_service.rb
+++ b/app/services/system_hooks_service.rb
@@ -100,6 +100,7 @@ class SystemHooksService
       project_path: model.project.path,
       project_path_with_namespace: model.project.path_with_namespace,
       project_id: model.project.id,
+      user_username: model.user.username,
       user_name: model.user.name,
       user_email: model.user.email,
       access_level: model.human_access,
@@ -112,6 +113,7 @@ class SystemHooksService
       group_name: model.group.name,
       group_path: model.group.path,
       group_id: model.group.id,
+      user_username: model.user.username,
       user_name: model.user.name,
       user_email: model.user.email,
       user_id: model.user.id,
diff --git a/doc/system_hooks/system_hooks.md b/doc/system_hooks/system_hooks.md
index 0539f30e802..612376e3a49 100644
--- a/doc/system_hooks/system_hooks.md
+++ b/doc/system_hooks/system_hooks.md
@@ -96,6 +96,7 @@ X-Gitlab-Event: System Hook
  "project_path_with_namespace": "jsmith/storecloud",
                   "user_email": "johnsmith@gmail.com",
                    "user_name": "John Smith",
+               "user_username": "johnsmith",
                      "user_id": 41,
           "project_visibility": "private",
 }
@@ -115,6 +116,7 @@ X-Gitlab-Event: System Hook
  "project_path_with_namespace": "jsmith/storecloud",
                   "user_email": "johnsmith@gmail.com",
                    "user_name": "John Smith",
+               "user_username": "johnsmith",
                      "user_id": 41,
           "project_visibility": "private",
 }
@@ -217,6 +219,7 @@ X-Gitlab-Event: System Hook
     "group_path": "storecloud",
     "user_email": "johnsmith@gmail.com",
      "user_name": "John Smith",
+ "user_username": "johnsmith",
        "user_id": 41
 }
 ```
@@ -233,6 +236,7 @@ X-Gitlab-Event: System Hook
     "group_path": "storecloud",
     "user_email": "johnsmith@gmail.com",
      "user_name": "John Smith",
+ "user_username": "johnsmith",
        "user_id": 41
 }
 ```
diff --git a/spec/services/system_hooks_service_spec.rb b/spec/services/system_hooks_service_spec.rb
index 1824e51ebfe..eb066fe97f3 100644
--- a/spec/services/system_hooks_service_spec.rb
+++ b/spec/services/system_hooks_service_spec.rb
@@ -13,8 +13,8 @@ describe SystemHooksService, services: true do
     it { expect(event_data(user, :destroy)).to include(:event_name, :name, :created_at, :updated_at, :email, :user_id, :username) }
     it { expect(event_data(project, :create)).to include(:event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, :project_visibility) }
     it { expect(event_data(project, :destroy)).to include(:event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, :project_visibility) }
-    it { expect(event_data(project_member, :create)).to include(:event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_email, :access_level, :project_visibility) }
-    it { expect(event_data(project_member, :destroy)).to include(:event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_email, :access_level, :project_visibility) }
+    it { expect(event_data(project_member, :create)).to include(:event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_username, :user_email, :access_level, :project_visibility) }
+    it { expect(event_data(project_member, :destroy)).to include(:event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_username, :user_email, :access_level, :project_visibility) }
     it { expect(event_data(key, :create)).to include(:username, :key, :id) }
     it { expect(event_data(key, :destroy)).to include(:username, :key, :id) }
 
@@ -50,13 +50,13 @@ describe SystemHooksService, services: true do
     it do
       expect(event_data(group_member, :create)).to include(
         :event_name, :created_at, :updated_at, :group_name, :group_path, 
-        :group_id, :user_id, :user_name, :user_email, :group_access
+        :group_id, :user_id, :user_username, :user_name, :user_email, :group_access
       )
     end
     it do
       expect(event_data(group_member, :destroy)).to include(
         :event_name, :created_at, :updated_at, :group_name, :group_path, 
-        :group_id, :user_id, :user_name, :user_email, :group_access
+        :group_id, :user_id, :user_username, :user_name, :user_email, :group_access
       )
     end
   end
-- 
GitLab