Commit Graph

57 Commits

Author SHA1 Message Date
GitLab Bot eb489ab3e7 Add latest changes from gitlab-org/gitlab@master 2021-01-12 21:10:47 +00:00
GitLab Bot eb29a43da9 Add latest changes from gitlab-org/gitlab@master 2021-01-05 03:10:19 +00:00
GitLab Bot 3a51d1d11d Add latest changes from gitlab-org/gitlab@master 2020-12-14 21:09:47 +00:00
GitLab Bot 3e06afc4cd Add latest changes from gitlab-org/gitlab@master 2020-12-10 12:09:43 +00:00
GitLab Bot b92f8e2dd4 Add latest changes from gitlab-org/gitlab@master 2020-11-28 00:09:43 +00:00
GitLab Bot 66bd1f0fdc Add latest changes from gitlab-org/gitlab@master 2020-07-14 15:09:05 +00:00
GitLab Bot 02ab65d49f Add latest changes from gitlab-org/gitlab@master 2020-01-14 09:08:19 +00:00
GitLab Bot 9f2d4a6490 Add latest changes from gitlab-org/gitlab@master 2019-12-23 18:07:33 +00:00
GitLab Bot b7dfe2ae40 Add latest changes from gitlab-org/gitlab@master 2019-09-13 13:26:31 +00:00
Heinrich Lee Yu 35b8f103a8
Prevent comments by email when issue is locked
This changes the permission check so it uses the policy on Noteable
instead of Project. This prevents bypassing of rules defined in
Noteable for locked discussions and confidential issues.

Also rechecks permissions when reply_to_discussion_id is provided since the
discussion_id may be from a different noteable.
2019-01-31 16:52:48 +01:00
Brett Walker 4a0801b9c0 Fix already initialized constant constant warning 2019-01-03 14:37:35 -06:00
Brett Walker 496c6165d1 Move constant definition 2019-01-03 14:37:35 -06:00
Brett Walker a4f2de7964 Refactoring and review comments
including verifying the project_slug
2019-01-03 14:37:35 -06:00
Brett Walker 54eb6260e7 Address review feedback 2019-01-03 14:37:35 -06:00
Brett Walker 2e51431403 Use new issue email address format
We now use `-issue` in order to support catch all email addresses
2019-01-03 14:37:35 -06:00
Brett Walker 34dd6196e3 Use new merge request email address format
We now use `-merge-request` instead of `+merge-request+`
in order to support catch all email addresses
2019-01-03 14:37:35 -06:00
Brett Walker 23d5f4c991 Use new unsubscribe link
We now use `-unsubscribe` instead of `+unsubscribe`
in order to support catch all email addresses
2019-01-03 14:37:35 -06:00
Bob Van Landuyt 6fbdc5ed52 Apply patches when creating MR via email
This allows users to add patches as attachments to merge request
created via email.

When an email to create a merge request is sent, all the attachments
ending in `.patch` will be applied to the branch specified in the
subject of the email. If the branch did not exist, it will be created
from the HEAD of the repository.

When the patches could not be applied, the error message will be
replied to the user.

The patches can have a maximum combined size of 2MB for now.
2018-11-07 16:27:55 +01:00
Yorick Peterse 2039c8280d
Disable existing offenses for the CodeReuse cops
This whitelists all existing offenses for the various CodeReuse cops, of
which most are triggered by the CodeReuse/ActiveRecord cop.
2018-09-11 17:32:00 +02:00
Sean McGivern 55465747aa Add frozen_string_literal: true to email handlers 2018-09-03 10:33:48 +01:00
Yorick Peterse 9e29408ee6
Don't expose project names in various counters
Various counters would expose either project names, or full project
paths (e.g. "gitlab-org/gitlab-ce"). This commit changes various places
where we use "add_event" so we no longer expose (potentially) private
information.
2018-06-21 16:56:40 +02:00
Cameron Crockett 421dbb1746 skip email trim when email is creating new issue
Updates from MR discussion

1. Added test for ReplyParser
2. Changed param to trim_reply with default set as true

Removed keyword param in favor of normal options param

updates for MR discussion

Resolutions for code review comments

more code review fixes
2018-05-22 23:05:51 -05:00
Mario de la Ossa 02741ca4c5
Backport 5480-epic-notifications from EE 2018-05-07 12:58:47 -06:00
Bob Van Landuyt 71ccfde322 Correct permissions for creating merge requests from issues
This could only be possible for users that can create merge requests
within a project.

So they need to be a allowed to create a branch and create a merge request.
2018-04-11 10:51:17 +02:00
Riccardo Padovani f68aab1945 Make email handler clearer 2018-04-09 09:39:03 +00:00
🙈 jacopo beschi 🙉 729f05f0e3 Adds Rubocop rule for line break around conditionals 2018-01-11 16:34:01 +00:00
Jan Provaznik b39b5524f2 Use message body for merge request description
When a merge request is created from email, use message body
as merge request description. If message body is empty then
merge request description is still created from the source
branch commit (if there is only single commit in the merge
request).

If message body is empty and there are multiple commits in
the source branch, then merge request description is left empty.

Closes #40968
2017-12-11 11:46:21 +01:00
Jan Provaznik 8cce70730c Create merge request from email
* new merge request can be created by sending an email to the specific
email address (similar to creating issues by email)
* for the first iteration, source branch must be specified in the mail
subject, other merge request parameters can not be set yet
* user should enable "Receive notifications about your own activity" in
user settings to receive a notification about created merge request

Part of #32878
2017-12-05 08:41:58 +01:00
Jacopo 181cd299f9 Adds Rubocop rule for line break after guard clause
Adds a rubocop rule (with autocorrect) to ensure line break after guard clauses.
2017-11-16 17:58:29 +01:00
Lin Jen-Shin f097e4dbcd Don't send rejection mails for all auto-generated mails
Also make it easier to have mailer helper
2017-08-03 00:40:10 +08:00
Sean McGivern 7af4c0c4f7 Fix email receiver metrics events
`Project#inspect` isn't very useful for examining usage of these features.
2017-05-05 10:37:54 +01:00
Sean McGivern 0bb31e54d1 Make handler metric params more explicit 2017-04-21 16:11:21 +01:00
Sean McGivern 19970e1dba Store projects in metrics for email replies 2017-04-20 13:19:16 +01:00
Douwe Maan 79889a6aa3
Add specs 2017-04-05 17:44:14 +01:00
Douwe Maan 08bbb9fce6
Add option to start a new discussion on an MR 2017-04-05 17:44:14 +01:00
Adam Pahlevi a0586dbc16 replace `find_with_namespace` with `find_by_full_path`
add complete changelog for !8949
2017-02-03 07:14:04 +07:00
Pawel Chojnacki c3a940000e Handles unsubscribe from notifications via email
- allows unsubscription processing of email in format "reply+%{key}+unsubscribe@acme.com" (example)
- if config.address includes %{key} and replies are enabled every unsubscriable message will include mailto: link in its List-Unsubscribe header
2017-01-13 10:11:46 -05:00
Douwe Maan 9d51421346 Use separate email-friendly token for incoming email and let incoming
email token be reset
2016-11-07 15:55:42 +00:00
Lin Jen-Shin a4ef4244d4 Preserve note_type and position for notes from emails
Closes #23208
2016-10-20 16:18:53 +08:00
Rémy Coutable 0eea8c8857 Support slash commands in noteable description and notes
Some important things to note:

- commands are removed from noteable.description / note.note
- commands are translated to params so that they are treated as normal
  params in noteable Creation services
- the logic is not in the models but in the Creation services, which is
  the right place for advanced logic that has nothing to do with what
  models should be responsible of!
- UI/JS needs to be updated to handle notes which consist of commands
  only
- the `/merge` command is not handled yet

Other improvements:

- Don't process commands in commit notes and display a flash is note is only commands
- Add autocomplete for slash commands
- Add description and params to slash command DSL methods
- Ensure replying by email with a commands-only note works
- Use :subscription_event instead of calling noteable.subscribe
- Support :todo_event in IssuableBaseService

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:05:57 +02:00
Lin Jen-Shin 176fa21cb7 raise UnknownIncomingEmail when there's no mail_key:
So that we don't have to pretend that CreateNoteHandler
could handle a nil mail_key. Also, since NilClass#=~ would
just return nil for any regular expression, we could just
match it without checking nilness.

Feedback:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3363#note_12566407
2016-06-20 19:15:54 +08:00
Lin Jen-Shin 0671db52a8 Use keyword args to be more clear:
Feedback:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3363#note_12566374
2016-06-20 19:11:42 +08:00
Lin Jen-Shin c491f66952 Use a separate line for separate actions:
Feedback from:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3363#note_12420487
2016-06-20 17:58:05 +08:00
Lin Jen-Shin 09c38e46e5 Only pass item name 2016-06-15 20:10:16 +08:00
Lin Jen-Shin 9417814970 More space for private concern 2016-06-15 19:41:31 +08:00
Lin Jen-Shin fcc6a59247 Blank line for private 2016-06-15 16:18:31 +08:00
Lin Jen-Shin 3b64c4f9d6 A blank line to separate exception raising 2016-06-15 16:16:44 +08:00
Lin Jen-Shin 4c09871450 Avoid using bang bang 2016-06-15 16:15:49 +08:00
Lin Jen-Shin 72184c16ab Rename to project_path which is more accurate 2016-06-15 15:54:04 +08:00
Lin Jen-Shin cb168c347a Remove empty lines at the beginning of files 2016-06-15 15:47:40 +08:00