Commit Graph
67 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets 1bd28994cc Use ProjectWiki instead of GollumWiki in code
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-09 14:35:58 +03:00
Dmitriy Zaporozhets 860f159d41 Add note when MR assignee changes. Add more tests to MR services
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-03 18:16:05 +03:00
Dmitriy Zaporozhets 9b6224f99c More test fixes
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-03 12:05:21 +03:00
Dmitriy Zaporozhets 3faa14e7a7 Merge branch 'reduce-observers' into 'master'
Move issue create/update code to services

Reduce observers role in GitLab code
2014-04-02 17:54:27 +00:00
Dmitriy Zaporozhets 49f977d675 Fix tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-02 19:55:23 +03:00
Dmitriy Zaporozhets 928fbeeec0 More tests for Isses services
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-02 16:33:07 +03:00
Dmitriy Zaporozhets c4e81ed9de Move update issue code to separate service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-02 13:54:41 +03:00
Dmitriy Zaporozhets cfd9fd30d6 Move code for issue creation to service.
The goal of suych refactoring is to get rid of observers.
Its much easier to test and code when object creation and all other
related actions done in one class instead of splited across observers,
callbacks etc.

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-04-02 13:38:35 +03:00
Marin Jankovski f4f0a7e03e Add a failing test. 2014-04-01 17:18:52 +02:00
Dmitriy Zaporozhets d89130b097 Collect all event creation logic in one place called EventCreateService
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-03-25 14:48:02 +02:00
Dmitriy Zaporozhets 72b13cc1be Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2014-03-25 09:04:22 +02:00
Dmitriy Zaporozhets 3d8ecbc94f Merge branch 'no-emails-for-mentions' into 'master'
Don't send an email for "mentioned in" notes

Currently, an email is sent every time a mentionable is referenced by an issue, a commit or a merge request: if I comment "This MR is related to #5", the watchers get one email for the comment, and another one stating "Issue #5 was mentioned by issue #13".

This is annoying — but the biggest issue is when pushing an existing branch. Every issue referenced by commit messages in this branch will get a new mention (which is fine), and dozens of emails will be sent for all these new mentions (which is not).

This commit fixes the spam by avoiding to send an email when a new mention is added to an existing mentionable. In most cases the email notification sent by the mentioner is enough.
2014-03-24 18:52:41 +00:00
Pierre de La Morinerie 65f5496e02 Fix the merge notification email not being sent
The 'author_id_of_changes' attribute is not persisted in the database.
As we retrieve the merge request from the DB just before sending the
email, this attribute was always nil.

Also there was no tests for the merge notification code - tests have
been added.

Fix #6605
2014-03-24 15:11:35 +01:00
Robert Speicher 07833d1676 Move Project's service specs to the correct location
[ci skip]
2014-03-22 16:38:22 -04:00
Robert Speicher 1897fb00b8 Make use of project factory traits 2014-03-19 05:15:24 -04:00
Dmitriy Zaporozhets ac6b9fafdc Fix specs
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-03-14 12:53:05 +02:00
Jeroen van Baarsen e6ceec9d60 Renamed oldrev/newrev to before/after 2014-03-06 16:15:19 +01:00
Jeroen van Baarsen 4a251849cf Added newrev and oldrev to the hook data 2014-03-06 16:08:51 +01:00
Jeroen van Baarsen 13d2bcc3b4 Created a basic Git Tag Push service
This is the first version, and only has the most basic information about
the tag that is created.
2014-03-05 21:23:49 +01:00
Dmitriy Zaporozhets 345b3d4b72 Update tests and fix Finders readme
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-02-25 19:21:53 +02:00
Dmitriy Zaporozhets c3a3f80af9 Merge branch 'cleaner-email-headers' into 'master'
Cleaner headers in Notification Emails

Make the informations available in the notification email headers (sender, recipient, subject, etc.) more readable and meaningful.

* Remove the email subject prefix
* Don't write the project namespace in email subjects
* Write the issue/merge request title in the notification email subject
* Make the email appear as sent from the action author (the actual email address is still `gitlab@gitlab.com`)

For instance, this is the notification email for a new issue comment before:

> From: gitlab@gitlab.com
> To: myemailaddress@gmail.com
> Subject: GitLab | GitLab HQ / GitLab-Shell | New note for issue #1234

And after :

> From: Nick Brown &lt;gitlab@gitlab.com&gt;
> To: myemailaddress@gmail.com
> Subject: GitLab-Shell |  Add local update hook  (#1234)

The recipient of the notification can easily get the gist of the message without even opening it — just by looking at how it appears in her inbox. None of the actual email addresses (From, To, Reply-to) changes, just the display name.

Having a consistent subject for all notification emails sent about some resource also allow good email clients to group the discussion by thread (although grouping in Mail.app still needs some work).
2014-02-25 13:34:06 +00:00
Dmitriy Zaporozhets 75eed4eb83 Implement project collection service
Main purpose is move big amount of methods from user, group, project
models and place filtering logic in one place.
It also fixes 500 error on group page for PostgreSQL

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-02-25 14:36:36 +02:00
Pierre de La Morinerie 5818cf063b Don't send an email for "mentioned in" notes
Currently, an email is sent every time a mentionable is referenced
by an issue, a commit or a merge request: if I comment "This MR is
related to #5", watchers get one email for the comment, and another
one stating "Issue #5 was mentioned by issue #13".

This is annoying — but the biggest issue is when pushing an existing
branch. Every issue referenced by commit messages in this branch will
get a new mention (which is fine), and dozens of emails will be sent
for all these new mentions (which is not).

This commit fixes the spam by avoiding to send an email when a new
mention is created. In most cases the email notification for the
mentioner is enough.
2014-02-24 15:34:56 +01:00
Pierre de La Morinerie 96dded3ec8 Send emails from the author
This changes the email "From" field from "gitlab@example.com" to either:

* "John Doe <gitlab@example.com>" if the author of the action is known,
* "GitLab <gitlab@example.com>" otherwise.

Rationale: this allow mails to appear as if they were sent by the
author. It appears in the mailbox more like a real discussion between
the sender and the receiver ("John sent: we should refactor this") and
less like a robot notifying about something.
2014-02-19 18:25:18 +01:00
Jason Hollingsworth 29cfd33d94 Add email aliases for users
Emails are used to associate commits with users. The emails
are not verified and don't have to be valid email addresses. They
are assigned on a first come, first serve basis.

Notifications are sent when an email is added.
2014-02-13 22:59:39 -06:00
Dmitriy Zaporozhets ec437ad999 Add more tests for FilteringService
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-02-10 15:23:19 +02:00
Dmitriy Zaporozhets c227aa44f9 Make changes to tests
* project_with_code -> project
* project -> ermpty_project

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-22 21:03:52 +02:00
Dmitriy Zaporozhets 4a1654ed6a Replace context with service in specs
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-16 20:29:18 +02:00
Dmitriy Zaporozhets e3f436dc43 Merge branch 'refactoring/issues_filter' into 'master'
Refactoring: Issues/MR filtering logic

Move all issues, mr filtering logic into FilteringService
2014-01-16 10:21:21 +00:00
Dmitriy Zaporozhets 4e96b1759c Merge branch 'refactoring/services' of /home/git/repositories/gitlab/gitlabhq 2014-01-15 18:43:30 +00:00
Dmitriy Zaporozhets 4a5e4b18f5 Specs for FilteringService
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-15 16:32:07 +02:00
Dmitriy Zaporozhets 8bfc62fb8b Convert TestHookContext into TestHookService. Added tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-15 14:38:50 +02:00
Dmitriy Zaporozhets 37ef33cba1 Use instance methods for system_hooks_service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-15 14:26:05 +02:00
Dmitriy Zaporozhets 2e7abbd66c Move repo rename email to notification service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-15 14:03:52 +02:00
Dmitriy Zaporozhets cfcf24dce5 Execute project hooks when issue or merge request created
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2013-12-04 13:37:17 +02:00
Marin Jankovski 9ed59ee9f0 Include project_id in webhook payload. 2013-10-14 12:03:25 +02:00
Dmitriy Zaporozhets 9a0329016b Mention SystemHook user_id in sample. Extend tests 2013-10-08 11:06:38 +03:00
Dmitriy Zaporozhets 3d51147de1 Add user_id to system hook when new user created 2013-10-08 10:54:40 +03:00
Hiroyuki Sato a3ef683108 Drop support of root namespace in model 2013-09-17 23:05:42 +09:00
Dmitriy Zaporozhets 2898d92397 Merge pull request #4996 from hiroponz/drop-support-of-root-namespace
[WIP]Drop support of root namespace in routing
2013-09-14 07:47:41 -07:00
Jakub Zienkiewicz 996d146cbd test if commit author receives new note notifications 2013-09-13 15:38:30 +02:00
Hiroyuki Sato df9cbbc924 Drop support of root namespace in routing 2013-09-13 07:00:24 +09:00
Dmitriy Zaporozhets 777456b29c fix tests 2013-08-28 00:04:04 +03:00
ash wilson c8a115c0e3 Link issues from comments and automatically close them
Any mention of Issues, MergeRequests, or Commits via GitLab-flavored markdown
references in descriptions, titles, or attached Notes creates a back-reference
Note that links to the original referencer. Furthermore, pushing commits with
commit messages that match a (configurable) regexp to a project's default
branch will close any issues mentioned by GFM in the matched closing phrase.
If accepting a merge request would close any Issues in this way, a banner is
appended to the merge request's main panel to indicate this.
2013-08-25 18:58:41 -04:00
Dmitriy Zaporozhets 2388ca0f32 Revert notification specs 2013-08-08 17:42:27 +03:00
Dmitriy Zaporozhets 4537623d12 Merge branch 'master' into karlhungus-mr-on-fork
Conflicts:
	app/contexts/filter_context.rb
	app/contexts/search_context.rb
	app/models/merge_request.rb
	app/models/note.rb
	app/views/shared/_merge_requests.html.haml
	spec/controllers/commit_controller_spec.rb
	spec/services/notification_service_spec.rb
2013-08-08 12:22:09 +03:00
Javier CastroandJavier Castro 669ada924b Fix test case for notification_service 2013-07-30 08:52:46 -03:00
Javier Castro cb877b7e6f Fix notifications to handle participants and mentions on commits too 2013-07-24 17:04:51 -03:00
Izaak Alpert 09112dbb1d Rebase on master
Trying to retrigger travis
Change-Id: Ifd86fb4c6b2791ad176230254fbf69a9ade979fb
2013-07-17 22:45:03 -04:00
Izaak Alpert 216d5e2c1a Fix intermittently failing notification_service test
Change-Id: Ic23cb46901f8adc77943bf3cc79566587364e22a
2013-07-17 22:42:51 -04:00