Appearance
Tell your team in Slack or Teams, and raise bugs in GitHub
In plain words
When a round of testing finishes, StepTrails can post a short message in your team's Slack or Microsoft Teams channel: how many tests passed, which failed, and a link to the results. And when a test fails, it can create a bug in GitHub with the steps to repeat the problem. You run each one with a command, and StepTrails only does what you ask.
You need test tracking set up and a terminal.
Tell your team in Slack
- In Slack, create an incoming webhook for the channel you want. A webhook is a secret web address. Anyone who has it can post in that channel. Slack's own help explains how: look for "Sending messages using incoming webhooks" on api.slack.com.
- Give StepTrails the address. Set it in the terminal window where you run the commands, and never put it in a file in your project:
| Setting | What to put |
|---|---|
STEPTRAILS_SLACK_WEBHOOK | The webhook address from Slack |
STEPTRAILS_RESULTS_URL | Optional. The address of your results page, so the message has an Open the results link |
- Send the message for a round of testing:
bash
node bin/manage.js notify --run RUN-20261025-1You will see slack: sent, and the message appears in the channel.
Tell your team in Microsoft Teams
- In Teams, open the channel's menu and choose Workflows. Pick the template Post to a channel when a webhook request is received. Teams gives you a web address. It is a secret, like Slack's. (Microsoft stopped the older "connector" webhooks, so this is the current way. Microsoft may rename the screens.)
- Set it:
| Setting | What to put |
|---|---|
STEPTRAILS_TEAMS_WEBHOOK | The web address from the Teams workflow |
- Send the message:
bash
node bin/manage.js notify --run RUN-20261025-1 --teamsWhat the message says
- The round's name and place, for example
RUN-20261025-1 Regression (staging). - How many tests passed, failed, were blocked, skipped or not run.
- Needs attention: the tests that failed, the step where they failed and their bug numbers (up to ten).
- How many requirements a passing test covers, if you use requirements.
- A link to your results page, if you set one.
The names of your tests are sent. The notes you wrote on results are never sent.
Handy options
--dry-runshows what would be sent and sends nothing.--only-failuresstays quiet when nothing failed. This is useful in an automatic job, so the channel only hears about problems.- With no
--slackor--teams, StepTrails uses every webhook you have set. With one of them, only that one. - If one place fails, the other is still tried, and you are told which one failed and why.
Raise a bug in GitHub
- In GitHub, create a fine-grained personal access token (Settings, Developer settings). Limit it to the one repository where bugs should go, and give it only Issues: read and write. A token works like a password for programs.
- Set:
| Setting | What to put |
|---|---|
STEPTRAILS_GITHUB_TOKEN | The token |
STEPTRAILS_GITHUB_REPO | The repository, written owner/name, for example my-team/shop |
STEPTRAILS_GITHUB_API_URL | Only if you use GitHub Enterprise Server: its API address, starting with https:// |
- When a test fails:
bash
node bin/manage.js github bug --run RUN-20261025-1 --case TC-0002StepTrails creates an issue with the steps to repeat the problem, the step that failed, the requirements it affects and the label steptrails. The issue is saved on the result as my-team/shop#12, so your reports show it. Add --dry-run to see the issue first.
Run it again for the same round and test, and StepTrails sees the issue already exists and does not make a second one.
Good to know
- Webhook addresses and tokens are secrets. StepTrails reads them only from settings, accepts only
https://addresses, and never prints them, even in an error. - Only an issue is created in GitHub, and only a message is posted in chat. Nothing is changed or deleted.
- The token only needs to see issues. If GitHub says "may not do that", check the token's access to the repository.
- Prefer Jira for bugs? See Connect your tests to Jira.