Notifications
Vortex announces each deployment on the channels you turn on, so your team hears about a new environment, and gets a link to log in to it, without watching CI.
This page is for the lead or DevOps engineer who sets up deployment notifications. It explains when notifications go out, how to pick the channels, and the settings that every channel shares. Each channel's own page covers its setup and its variables.
The vendor/bin/vortex-notify router script dispatches the
notifications. It checks the shared variables, collects the deployment
logs, and then runs the script of each channel you turn on. The hosting
platform runs the router around a deployment, from the Lagoon
post-rollout tasks or the Acquia Cloud Hooks, and the CI deploy job never
does. The hosting side is where the environment's URL is known: the Lagoon
tasks read it from LAGOON_ROUTE, and the Acquia hook builds it from the
site name.
On Lagoon, the router runs twice per deployment: with the pre_deployment
event before provisioning, and with post_deployment after it. The Acquia
hook runs it once, after the deployment, with the default post_deployment
event.
Channels
Configure notification channels in your .env file:
# Enable notification channels (comma-separated list)
VORTEX_NOTIFY_CHANNELS=email,slack,github
The router supports 7 channels and runs them in the following order, whatever order you list them in:
email- sends an email to a list of recipients.slack- posts a message to a Slack channel.newrelic- records a deployment marker in New Relic APM.github- reports the deployment through the GitHub Deployments API.jira- comments on the Jira issue named in the branch.webhook- sends a JSON payload to a URL you choose.diffy- starts a Diffy visual regression run through GitHub Actions.
The default is email, and an empty value falls back to it, so to turn
notifications off, set VORTEX_NOTIFY_SKIP instead. The installer offers
every channel except diffy, which you add by hand. The router doesn't
validate the names: it matches them as substrings, so a misspelled channel
sends nothing and raises no error.
When a channel fails, the router stops with an error, and the channels
after it don't run. On Lagoon, the failed notification task stops the
post-rollout tasks after it, and Lagoon notifies you about the failure. So
a failure at pre_deployment skips provisioning too. On Acquia, the
notification hook runs last: Acquia marks the deployment task as failed,
and the hook's output appears in the task log.