Slack
A message in your Slack channel when a CI run finishes - set up per project with an incoming webhook.
What it sends
Section titled “What it sends”One message per finished CI run:
🔴 Failed — Acme Web (main)Run #128 · 64 passed · 2 flaky · 1 failed · 0 skippedFix the coupon roundingView run #128 in SquallyThe first line starts with how the run ended:
- 🔴 Failed - at least one test failed;
- 🟡 Flaky - nothing failed, but at least one test passed only after retries;
- 🟢 Passed - every test passed on its first try;
- ⚪ Incomplete - the run did not complete (see below).
Then the project and the branch, the run’s number and its four counts - always all four, in this order, zeros included, counted like the run page: each test once, by its final attempt, flaky for a test that passed only after a retry - then the commit message and a link to the run. A sharded run sends one message once all of its shards are in.
-
Only CI runs. A local run sends nothing.
-
A run that did not complete sends one message when it settles - once the run timeout has passed - with the results its shards reported and a line under the counts: “Incomplete — counted with the results its shards reported.” When the monthly result limit stopped it, the line says so.
-
A cancelled run sends nothing - with cancel-in-progress workflows, most cancels are a superseded push.
-
A re-run on GitHub Actions counts only the shards that ran again. When the attempt it re-ran reported to Squally too, a line under the counts says which attempt it re-ran - linked to it in Squally - and which shards ran:
Run #28 · 43 passed · 0 flaky · 3 failed · 1 skippedRe-run of #27 (shards 1, 2)An unsharded re-run’s line is “Re-run of #27”. See GitHub Actions.
Admins can switch off the run summary message in the project’s Slack settings; then no message is sent.
Setting it up
Section titled “Setting it up”- In Slack, create an incoming webhook for the channel - see Slack’s guide, Sending messages using incoming webhooks.
- An organization admin opens Settings › Integrations › Slack in the
project, pastes the webhook URL into the Webhook row and clicks
Save. Only
https://hooks.slack.com/…URLs are accepted. - Send test message posts a test message right away.
The Slack page is the same card as on the Integrations tab: Webhook, Run summary with its switch, and Status, with Save, Send test message and Disconnect Slack under them.
Each project has its own webhook, so different projects can post to different channels. Admins can disconnect it at any time.
When Slack does not answer
Section titled “When Slack does not answer”Squally gives a webhook 5 seconds to answer. A message that times out or is refused is not sent again - there is no retry. Squally’s own error tracking is told, with the run’s ids and the failure code only; never the webhook URL. See Hosting and data.
Plans and data
Section titled “Plans and data”Slack works on every plan. The webhook URL is stored encrypted (AES-256-GCM).