Commit 276bcb6b authored by Lin Jen-Shin's avatar Lin Jen-Shin Committed by Marcia Ramos

Introduce common incoming email setup doc and new issue by email doc

parent 0ac89cc0
This diff is collapsed.
...@@ -89,18 +89,24 @@ created in snippets, wikis, and repos. ...@@ -89,18 +89,24 @@ created in snippets, wikis, and repos.
- [Authentication/Authorization](../topics/authentication/index.md#gitlab-administrators): Enforce 2FA, configure external authentication with LDAP, SAML, CAS and additional Omniauth providers. - [Authentication/Authorization](../topics/authentication/index.md#gitlab-administrators): Enforce 2FA, configure external authentication with LDAP, SAML, CAS and additional Omniauth providers.
- **(Starter/Premium)** [Sync LDAP](auth/ldap-ee.md) - **(Starter/Premium)** [Sync LDAP](auth/ldap-ee.md)
- **(Starter/Premium)** [Kerberos authentication](../integration/kerberos.md) - **(Starter/Premium)** [Kerberos authentication](../integration/kerberos.md)
- [Reply by email](reply_by_email.md): Allow users to comment on issues and merge requests by replying to notification emails.
- [Postfix for Reply by email](reply_by_email_postfix_setup.md): Set up a basic Postfix mail
server with IMAP authentication on Ubuntu, to be used with Reply by email.
- **(Starter/Premium)** [Email users](../tools/email.md): Email GitLab users from within GitLab. - **(Starter/Premium)** [Email users](../tools/email.md): Email GitLab users from within GitLab.
- [User Cohorts](../user/admin_area/user_cohorts.md): Display the monthly cohorts of new users and their activities over time. - [User Cohorts](../user/admin_area/user_cohorts.md): Display the monthly cohorts of new users and their activities over time.
- **(Starter/Premium)** [Audit logs and events](audit_events.md): View the changes made within the GitLab server. - **(Starter/Premium)** [Audit logs and events](audit_events.md): View the changes made within the GitLab server.
- **(Premium)** [Auditor users](auditor_users.md): Users with read-only access to all projects, groups, and other resources on the GitLab instance. - **(Premium)** [Auditor users](auditor_users.md): Users with read-only access to all projects, groups, and other resources on the GitLab instance.
- [Reply by email](reply_by_email.md): Allow users to comment on issues and merge requests by replying to notification emails. - [Incoming email](incoming_email.md): Configure incoming emails to allow
- [Postfix for Reply by email](reply_by_email_postfix_setup.md): Set up a basic Postfix mail users to [reply by email], create [issues by email] and
[merge requests by email], and to enable [Service Desk].
- [Postfix for incoming email](reply_by_email_postfix_setup.md): Set up a
basic Postfix mail server with IMAP authentication on Ubuntu for incoming
emails.
server with IMAP authentication on Ubuntu, to be used with Reply by email. server with IMAP authentication on Ubuntu, to be used with Reply by email.
- [User Cohorts](../user/admin_area/user_cohorts.md): Display the monthly cohorts of new users and their activities over time. - [User Cohorts](../user/admin_area/user_cohorts.md): Display the monthly cohorts of new users and their activities over time.
[reply by email]: reply_by_email.md
[issues by email]: ../user/project/issues/create_new_issue.md#new-issue-via-email
[merge requests by email]: ../user/project/merge_requests/index.md#create-new-merge-requests-by-email
[Service Desk]: ../user/project/service_desk.md
## Project settings ## Project settings
- [Container Registry](container_registry.md): Configure Container Registry with GitLab. - [Container Registry](container_registry.md): Configure Container Registry with GitLab.
......
This diff is collapsed.
# Set up Postfix for Reply by email # Set up Postfix for incoming email
This document will take you through the steps of setting up a basic Postfix mail This document will take you through the steps of setting up a basic Postfix mail
server with IMAP authentication on Ubuntu, to be used with [Reply by email]. server with IMAP authentication on Ubuntu, to be used with [incoming email].
The instructions make the assumption that you will be using the email address `incoming@gitlab.example.com`, that is, username `incoming` on host `gitlab.example.com`. Don't forget to change it to your actual host when executing the example code snippets. The instructions make the assumption that you will be using the email address `incoming@gitlab.example.com`, that is, username `incoming` on host `gitlab.example.com`. Don't forget to change it to your actual host when executing the example code snippets.
...@@ -329,10 +329,10 @@ Courier, which we will install later to add IMAP authentication, requires mailbo ...@@ -329,10 +329,10 @@ Courier, which we will install later to add IMAP authentication, requires mailbo
## Done! ## Done!
If all the tests were successful, Postfix is all set up and ready to receive email! Continue with the [Reply by email](./reply_by_email.md) guide to configure GitLab. If all the tests were successful, Postfix is all set up and ready to receive email! Continue with the [incoming email] guide to configure GitLab.
--- ---
_This document was adapted from https://help.ubuntu.com/community/PostfixBasicSetupHowto, by contributors to the Ubuntu documentation wiki._ _This document was adapted from https://help.ubuntu.com/community/PostfixBasicSetupHowto, by contributors to the Ubuntu documentation wiki._
[reply by email]: reply_by_email.md [incoming email]: incoming_email.md
...@@ -18,6 +18,68 @@ See the [Rails guides] for more info. ...@@ -18,6 +18,68 @@ See the [Rails guides] for more info.
[previews]: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/spec/mailers/previews [previews]: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/spec/mailers/previews
[Rails guides]: http://guides.rubyonrails.org/action_mailer_basics.html#previewing-emails [Rails guides]: http://guides.rubyonrails.org/action_mailer_basics.html#previewing-emails
## Incoming email
1. Go to the GitLab installation directory.
1. Find the `incoming_email` section in `config/gitlab.yml`, enable the
feature and fill in the details for your specific IMAP server and email
account:
Configuration for Gmail / Google Apps, assumes mailbox gitlab-incoming@gmail.com
```yaml
incoming_email:
enabled: true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
address: "gitlab-incoming+%{key}@gmail.com"
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
user: "gitlab-incoming@gmail.com"
# Email account password
password: "[REDACTED]"
# IMAP server host
host: "imap.gmail.com"
# IMAP server port
port: 993
# Whether the IMAP server uses SSL
ssl: true
# Whether the IMAP server uses StartTLS
start_tls: false
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox: "inbox"
# The IDLE command timeout.
idle_timeout: 60
```
As mentioned, the part after `+` is ignored, and this will end up in the mailbox for `gitlab-incoming@gmail.com`.
1. Uncomment the `mail_room` line in your `Procfile`:
```yaml
mail_room: bundle exec mail_room -q -c config/mail_room.yml
```
1. Restart GitLab:
```sh
bundle exec foreman start
```
1. Verify that everything is configured correctly:
```sh
bundle exec rake gitlab:incoming_email:check RAILS_ENV=development
```
1. Reply by email should now be working.
--- ---
[Return to Development documentation](README.md) [Return to Development documentation](README.md)
...@@ -37,6 +37,28 @@ It opens a new issue for that project labeled after its respective list. ...@@ -37,6 +37,28 @@ It opens a new issue for that project labeled after its respective list.
![From the issue board](img/new_issue_from_issue_board.png) ![From the issue board](img/new_issue_from_issue_board.png)
## New issue via email
*This feature needs [incoming email](../../../administration/incoming_email.md)
to be configured by a GitLab administrator to be available for CE/EE users, and
it's available on GitLab.com.*
At the bottom of a project's issue page, click
**Email a new issue to this project**, and you will find an email address
which belongs to you. You could add this address to your contact.
This is a private email address, generated just for you.
**Keep it to yourself** as anyone who gets ahold of it can create issues or
merge requests as if they were you. You can add this address to your contact
list for easy access.
Sending an email to this address will create a new issue on your behalf for
this project, where the email subject becomes the issue title, and the email
body becomes the issue description. [Markdown] and [quick actions] are
supported.
![Bottom of a project issues page](img/new_issue_from_email.png)
## New issue via Service Desk ## New issue via Service Desk
Enable [Service Desk](../service_desk.md) to your project and offer email support. Enable [Service Desk](../service_desk.md) to your project and offer email support.
...@@ -60,5 +82,5 @@ create issues for the same project. ...@@ -60,5 +82,5 @@ create issues for the same project.
![Create issue from group-level issue tracker](img/create_issue_from_group_level_issue_tracker.png) ![Create issue from group-level issue tracker](img/create_issue_from_group_level_issue_tracker.png)
[Markdown]: ../../markdown.md
[quick actions]: ../quick_actions.md
...@@ -142,6 +142,10 @@ those conflicts in the GitLab UI. ...@@ -142,6 +142,10 @@ those conflicts in the GitLab UI.
## Create new merge requests by email ## Create new merge requests by email
*This feature needs [incoming email](../../../administration/incoming_email.md)
to be configured by a GitLab administrator to be available for CE/EE users, and
it's available on GitLab.com.*
You can create a new merge request by sending an email to a user-specific email You can create a new merge request by sending an email to a user-specific email
address. The address can be obtained on the merge requests page by clicking on address. The address can be obtained on the merge requests page by clicking on
a **Email a new merge request to this project** button. The subject will be a **Email a new merge request to this project** button. The subject will be
......
...@@ -53,7 +53,7 @@ Service Desk is enabled on GitLab.com. If you're a ...@@ -53,7 +53,7 @@ Service Desk is enabled on GitLab.com. If you're a
[Silver subscriber](https://about.gitlab.com/gitlab-com/), [Silver subscriber](https://about.gitlab.com/gitlab-com/),
you can skip the step 1 below; you only need to enable it per project. you can skip the step 1 below; you only need to enable it per project.
1. [Set up reply by email][reply-by-email] for the GitLab instance. This must 1. [Set up incoming email][incoming-email] for the GitLab instance. This must
support [email sub-addressing][email-sub-addressing]. support [email sub-addressing][email-sub-addressing].
2. Navigate to your project's **Settings** and scroll down to the **Service Desk** 2. Navigate to your project's **Settings** and scroll down to the **Service Desk**
section. section.
...@@ -119,7 +119,7 @@ does not count toward the license limit count. ...@@ -119,7 +119,7 @@ does not count toward the license limit count.
[ee-149]: https://gitlab.com/gitlab-org/gitlab-ee/issues/149 "Service Desk with email" [ee-149]: https://gitlab.com/gitlab-org/gitlab-ee/issues/149 "Service Desk with email"
[ee]: https://about.gitlab.com/products/ "GitLab Enterprise Edition landing page" [ee]: https://about.gitlab.com/products/ "GitLab Enterprise Edition landing page"
[eep-9.1]: https://about.gitlab.com/2017/04/22/gitlab-9-1-released/#service-desk-eep [eep-9.1]: https://about.gitlab.com/2017/04/22/gitlab-9-1-released/#service-desk-eep
[reply-by-email]: ../../administration/reply_by_email.md#set-it-up [incoming-email]: ../../administration/incoming_email.md#set-it-up
[email-sub-addressing]: ../../administration/reply_by_email.md#email-sub-addressing [email-sub-addressing]: ../../administration/reply_by_email.md#email-sub-addressing
[confidential]: ./issues/confidential_issues.md "Confidential issues" [confidential]: ./issues/confidential_issues.md "Confidential issues"
[akismet]: ../../integration/akismet.md [akismet]: ../../integration/akismet.md
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment