Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: mail master documentation #38

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@
* [Copy Container Image](user-guide/plugins/copy-container-image.md)
* [Cosign](user-guide/plugins/cosign.md)
* [CraneCopy](user-guide/plugins/crane-copy.md)
* [GKE Provisioner](user-guide/plugins/gke-provisioner.md)
* [Dependency track - Maven & Gradle](user-guide/plugins/dependency-track-maven-gradle.md)
* [Dependency track - NodeJS](user-guide/plugins/dependency-track-nodejs.md)
* [Dependency track - Python](user-guide/plugins/dependency-track-python.md)
Expand All @@ -151,11 +150,13 @@
* [EKS Create Cluster](user-guide/plugins/eks-create-cluster.md)
* [GCS Create Bucket](user-guide/plugins/gcs-create-bucket.md)
* [GitHub Pull Request Updater](user-guide/plugins/github-pull-request-updater.md)
* [GKE Provisioner](user-guide/plugins/gke-provisioner.md)
* [GoLang-migrate](user-guide/plugins/golang-migrate.md)
* [Jenkins](user-guide/plugins/jenkins.md)
* [Jira Issue Validator](user-guide/plugins/jira-validator.md)
* [Jira Issue Updater](user-guide/plugins/jira-updater.md)
* [K6 Load Testing](user-guide/plugins/k6-load-testing.md)
* [Mail Master](user-guide/plugins/mail-master.md)
* [Pull images from container repository](user-guide/plugins/pull-images-from-container-repository.md)
* [Semgrep](user-guide/plugins/semgrep.md)
* [SonarQube](user-guide/plugins/sonarqube.md)
Expand Down
68 changes: 68 additions & 0 deletions docs/user-guide/plugins/mail-master.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Mail Master

## Introduction
The Mail Master plugin by Devtron streamlines email communication by enabling automated bulk email notifications through your configured SMTP server. It helps keep all stakeholders informed throughout the application lifecycle, ensuring seamless communication for workflow events. When integrated into Devtron's post-CD stage, this plugin can automatically notify multiple team members, project managers, clients, and other stakeholders about new application deployments. To ensure that everyone stays informed about the latest changes and features.

### Prerequisites
Before integrating the **Mail Master** plugin, you must ensure that you have properly configured SMTP notifications in your Devtron setup.

---

## Steps
1. Go to **Applications** → **Devtron Apps**.
2. Click your application.
3. Go to **App Configuration** → **Workflow Editor**.
4. Click **New Workflow** and navigate to the **Build and Deploy from Source Code**.
5. Fill the required fields in the **Create deploy pipeline** window and navigate to the **Post-deploy stage**.

{% hint style="warning" %}
If you have already configured workflow, edit deployment pipeline, and navigate to **Post-deploy stage**.
{% endhint %}

6. Under 'TASKS', click the **+ Add task** button.
7. Click the **Mail Master** plugin.
8. Enter the following [user inputs](#user-inputs) with appropriate values.

---

## User Inputs

### Task Name
Enter the name of your task

e.g., `Mail Master`

### Description
Add a brief explanation of the task and the reason for choosing the plugin. Include information for someone else to understand the purpose of the task.

e.g., `The Mail Master plugin is integrated for sending bulk automated email notifications to relevant stakeholders.`

### Input Variables
| Variable | Format | Description | Sample Value |
| ------------------------ | ------------ | ----------- | ------------ |
| SmtpServer | STRING | The host name of SMTP server | smtp.gmail.com |
| SmtpUsername | STRING | The username of SMTP connection | [email protected] |
| SmtpPassword | STRING | Password of SMTP connection | mysecretpassword |
| SenderEmail | STRING | Sender's email address | [email protected] |
| EmailContentFile | STRING | Provide path of email content file | /path/to/emailContent.html |
| SmtpPort | NUMBER | Port that will be used for SMTP connection. Default port is 587 | 433 |
| RecipientConfigFile | STRING | Provide path of config.json, that contains list of recipients | /path/to/recipientsConfig.json |
| EmailSubject | STRING | Provide subject for the email. Subject can also be provided in `EmailContentFile` after "Subject" | "Monthly Release" |
| BatchSize | NUMBER | Number of emails that should be sent per batch. The default number is 10 | 200 |
| BatchDelayTime | NUMBER | Time to wait in two batch (in seconds) | 15 |
| SenderName | STRING | Name of sender | John Doe |
| RecipientsGroupName | STRING | Group id for selecting recipients from config.json | "ReleaseTeam" |
| RecipientsSubGroupName | STRING | The Sub-group id for selecting recipients from config.json | "NorthRegion" |
| Recipients | STRING | Emails of recipients seprated by "," if user is not specified in config.json file | [email protected],[email protected] |


### Trigger/Skip Condition
Here you can set conditions to execute or skip the task. You can select `Set trigger conditions` for the execution of a task or `Set skip conditions` to skip the task.

### Output Variables
Mail Master will not be generating an output variable.

Click **Update Pipeline**.