Github Action to send xUnit results to Slack.
This action will:
- Parse a xUnit-style XML report.
- Send summary to Slack workspace & channel of your choice.
- Supports paths and globs (i.e.
**/*.xml
)! - (Optional) Only send notifications if errors or failures are found.
- (Optional) Fail the build if errors or failures are found.
- A token for a Slack bot user. I recommend setting up the token as a secret.
- The channel ID to notify.
The following environment variables are supported:
Environment Variable | Example | Description | Required? |
---|---|---|---|
XUNIT_PATH | ./results.xml | Path (relative to workspce directory) to xUnit report | Y* |
XUNIT_GLOB | **/*.xml | Glob (relative to workspace directory) to xUnit reports | Y* |
SLACK_TOKEN | (See Slack documentation) | Slack bot user token | Y |
SLACK_CHANNEL | CKQ7C7KJN | Unique ID of slack channel to notify | Y |
SLACK_MESSAGE_TITLE | Test Result reporter | The title of the message posted in Slack | N |
EXIT_CODE_FROM_REPORT | True/False | If present, will fail workflow if errors or failures are in the report | N |
ONLY_NOTIFY_ON_ISSUES | True/False | If present, will only send notifications if errors or failures are found | N |
* = Either XUNIT_PATH or XUNIT_GLOB must be provided.
Sample Workflow section:
- name: notify-tests
uses: ivanklee86/[email protected]
env:
EXIT_CODE_FROM_REPORT: "True"
SLACK_CHANNEL: CKQ7C7KJN
SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}
XUNIT_PATH: ./results.xml
- name: notify-tests
uses: ivanklee86/[email protected]
env:
ONLY_NOTIFY_ON_ISSUES: "True"
SLACK_CHANNEL: CKQ7C7KJN
SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}
SLACK_MESSAGE_TITLE: Core Unit Test Report
XUNIT_PATH: **/*.xml