Skip to main content

Notifications

Vortex provides a flexible notification system that sends updates across multiple channels when deployments occur.

Notifications are triggered automatically during deployment to a hosting environment.

Channels

Configure notification channels in your .env file:

.env
# Enable notification channels (comma-separated list)
VORTEX_NOTIFY_CHANNELS=email,slack,github

Available channels: email, github, jira, newrelic, slack, webhook

Global environment variables

These variables apply to all notification channels unless overridden by channel-specific settings.

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_CHANNELSNoemail.envNotification channels (comma-separated)
VORTEX_NOTIFY_PROJECTNoVORTEX_PROJECT.envNotification project name
VORTEX_NOTIFY_SKIPNoHostingSet to 1 to skip notifications

Deployment context variables

These variables provide deployment context information used by notification channels. They must be set by the hosting environment before calling the notification script.

VariableRequiredDescription
VORTEX_NOTIFY_BRANCHYesGit branch name
VORTEX_NOTIFY_SHAYesGit commit SHA
VORTEX_NOTIFY_PR_NUMBERNoPull request number (empty for branch deployments)
VORTEX_NOTIFY_LABELYesHuman-readable deployment label

Message templates and tokens

Most notification channels support customizable message templates using replacement tokens:

TokenDescriptionExample
%project%Project nameMy Project
%label%Deployment labelmain or PR-123
%timestamp%Current timestamp15/11/2025 14:30:45 UTC
%environment_url%Environment URLhttps://example.com
%login_url%Login URLhttps://example.com/user/login

Default message template:

## This is an automated message ##

Site %project% %label% has been deployed at %timestamp% and is available at %environment_url%.

Login at: %login_url%

Email

Send deployment notification via email.

Setup

  1. Add VORTEX_NOTIFY_EMAIL_FROM variable to .env file with the sender email address.
  2. Add VORTEX_NOTIFY_EMAIL_RECIPIENTS variable to .env file with recipients in format email|name (comma-separated for multiple).

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_EMAIL_FROMYes.envSender email address
VORTEX_NOTIFY_EMAIL_RECIPIENTSYes.envRecipients (format: email|name)
VORTEX_NOTIFY_EMAIL_PROJECTNoVORTEX_NOTIFY_PROJECT.envProject name for email
VORTEX_NOTIFY_EMAIL_MESSAGENoDefault template.envCustom message template

GitHub

Post deployment status to GitHub pull requests.

Setup

  1. Create a GitHub personal access token.
  2. Add VORTEX_NOTIFY_GITHUB_TOKEN to your hosting provider's environment variables.
  3. Add VORTEX_NOTIFY_GITHUB_REPOSITORY to your hosting provider's environment variables.

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_GITHUB_TOKENYesHostingGitHub personal access token
VORTEX_NOTIFY_GITHUB_REPOSITORYYesHostingRepository in owner/repo format
VORTEX_NOTIFY_GITHUB_ENVIRONMENT_TYPENo${VORTEX_NOTIFY_LABEL}.envEnvironment name (defaults to label, e.g. PR-123)

Example

The pull request page shows deployment status with a View deployment button to quickly access the deployed environment.

notification-github-after.png


JIRA

Post a deployment comment and optionally update issue status and assignee.

Setup

  1. Create a JIRA API token.
  2. Add VORTEX_NOTIFY_JIRA_TOKEN to your hosting provider's environment variables.
  3. Add VORTEX_NOTIFY_JIRA_USER_EMAIL to your .env file.

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_JIRA_TOKENYesHostingJIRA API token
VORTEX_NOTIFY_JIRA_USER_EMAILYes.envJIRA user email
VORTEX_NOTIFY_JIRA_PROJECTNoVORTEX_NOTIFY_PROJECT.envProject name
VORTEX_NOTIFY_JIRA_MESSAGENoDefault template.envCustom message template
VORTEX_NOTIFY_JIRA_ASSIGNEE_EMAILNo.envAssignee email after deployment
VORTEX_NOTIFY_JIRA_TRANSITIONNo.envTransition name (e.g., "In Review")
VORTEX_NOTIFY_JIRA_ENDPOINTNohttps://jira.atlassian.com.envJIRA API endpoint

Issue key extraction

The notification system automatically extracts JIRA issue keys from the deployment label using the pattern [A-Za-z0-9]+-[0-9]+:

  • feature/PROJ-123-add-featurePROJ-123
  • feature/PRJ-456-fix-authPRJ-456

New Relic

Create deployment markers in New Relic APM to track code changes alongside performance data.

Setup

  1. Create a New Relic User API Key (format: NRAK-XXXXXXXXXXXXXXXXXXXXXX).
  2. Add NEWRELIC_ENABLED (or VORTEX_NOTIFY_NEWRELIC_ENABLED) to hosting environment variables for environments where New Relic is configured.
  3. Add VORTEX_NOTIFY_NEWRELIC_USER_KEY to your hosting provider's environment variables.
Enable only where needed

Set NEWRELIC_ENABLED=true only in environments where New Relic APM is configured (typically production and staging). This avoids API calls and potential errors in development or feature branch environments.

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_NEWRELIC_ENABLEDYesNEWRELIC_ENABLEDHostingEnable New Relic notifications
VORTEX_NOTIFY_NEWRELIC_USER_KEYYesHostingNew Relic User API Key
VORTEX_NOTIFY_NEWRELIC_PROJECTNoVORTEX_NOTIFY_PROJECT.envProject name
VORTEX_NOTIFY_NEWRELIC_APP_NAMENoAuto-generated.envApplication name
VORTEX_NOTIFY_NEWRELIC_DESCRIPTIONNoDefault template.envDeployment description
VORTEX_NOTIFY_NEWRELIC_CHANGELOGNoDescription.envDeployment changelog
VORTEX_NOTIFY_NEWRELIC_USERNoDeployment robot.envUser performing deployment
VORTEX_NOTIFY_NEWRELIC_ENDPOINTNohttps://api.newrelic.com/v2.envAPI endpoint

Example

New Relic deployment marker

Slack

Post deployment notifications to a Slack channel.

Setup

  1. Create a Slack app and Incoming Webhook.
  2. Add VORTEX_NOTIFY_SLACK_WEBHOOK to your hosting provider's environment variables.

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_SLACK_WEBHOOKYesHostingSlack webhook URL
VORTEX_NOTIFY_SLACK_PROJECTNoVORTEX_NOTIFY_PROJECT.envProject name
VORTEX_NOTIFY_SLACK_MESSAGENoDefault template.envFallback text template
VORTEX_NOTIFY_SLACK_CHANNELNo.envTarget channel (overrides webhook default)
VORTEX_NOTIFY_SLACK_USERNAMENoDeployment Bot.envBot display name
VORTEX_NOTIFY_SLACK_ICON_EMOJINo:rocket:.envBot icon emoji

Event behavior

Slack notifications are sent for both pre_deployment and post_deployment events:

  • Pre-deployment: Gray color with "Deployment Starting" status
  • Post-deployment: Green color with "Deployment Complete" status

Example

Slack notification - Deployment Complete

Webhook

Send HTTP requests to arbitrary webhook URLs.

Setup

  1. Add VORTEX_NOTIFY_WEBHOOK_URL to your .env file or hosting environment variables.

Environment variables

VariableRequiredDefaultLocationDescription
VORTEX_NOTIFY_WEBHOOK_URLYes.env or HostingWebhook endpoint URL
VORTEX_NOTIFY_WEBHOOK_METHODNoPOST.envHTTP method
VORTEX_NOTIFY_WEBHOOK_HEADERSNoContent-Type: application/json.envPipe-separated headers
VORTEX_NOTIFY_WEBHOOK_PAYLOADNoDefault template.envJSON payload
VORTEX_NOTIFY_WEBHOOK_RESPONSE_STATUSNo200.envExpected HTTP status

Default payload template

{
"channel": "Channel 1",
"message": "%message%",
"project": "%project%",
"label": "%label%",
"timestamp": "%timestamp%",
"environment_url": "%environment_url%",
"login_url": "%login_url%"
}

The %message% token expands to the full deployment message with all other tokens replaced.