diff --git a/changelogs/unreleased/dturner-username.yml b/changelogs/unreleased/dturner-username.yml new file mode 100644 index 0000000000000000000000000000000000000000..09ba822ee658e768ee5ea42e1c931e80a8c6331d --- /dev/null +++ b/changelogs/unreleased/dturner-username.yml @@ -0,0 +1,4 @@ +--- +title: add username field to push webhook +merge_request: +author: David Turner diff --git a/doc/user/project/integrations/webhooks.md b/doc/user/project/integrations/webhooks.md index e15daa2feae1b93582282d09d058b3f7d9ffa537..48d49c5d40cea293c1715e568d4e2df0ef1bf3b8 100644 --- a/doc/user/project/integrations/webhooks.md +++ b/doc/user/project/integrations/webhooks.md @@ -74,6 +74,7 @@ X-Gitlab-Event: Push Hook "checkout_sha": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "user_id": 4, "user_name": "John Smith", + "user_username": "jsmith", "user_email": "john@example.com", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 15, diff --git a/lib/gitlab/data_builder/push.rb b/lib/gitlab/data_builder/push.rb index 1ff34553f0ad78c9335b4cd92a1be4f6d0fd9c3c..e81d19a7a2e43d1bf7772d565c551e4f1b3bca2f 100644 --- a/lib/gitlab/data_builder/push.rb +++ b/lib/gitlab/data_builder/push.rb @@ -11,6 +11,7 @@ module Gitlab # ref: String, # user_id: String, # user_name: String, + # user_username: String, # user_email: String # project_id: String, # repository: { @@ -51,6 +52,7 @@ module Gitlab message: message, user_id: user.id, user_name: user.name, + user_username: user.username, user_email: user.email, user_avatar: user.avatar_url, project_id: project.id, diff --git a/spec/lib/gitlab/data_builder/push_spec.rb b/spec/lib/gitlab/data_builder/push_spec.rb index dbcfb9b7400ad7c4ca525cf1b1658d9e9fc5e198..e59cba35b2feb737bfe06cc20f4d2c5113eccec1 100644 --- a/spec/lib/gitlab/data_builder/push_spec.rb +++ b/spec/lib/gitlab/data_builder/push_spec.rb @@ -35,6 +35,7 @@ describe Gitlab::DataBuilder::Push, lib: true do it { expect(data[:ref]).to eq('refs/tags/v1.1.0') } it { expect(data[:user_id]).to eq(user.id) } it { expect(data[:user_name]).to eq(user.name) } + it { expect(data[:user_username]).to eq(user.username) } it { expect(data[:user_email]).to eq(user.email) } it { expect(data[:user_avatar]).to eq(user.avatar_url) } it { expect(data[:project_id]).to eq(project.id) }