GitHub Action
Cypress Screenshot & Video Upload to Slack
This Github action enables you to take the screenshots and videos generated by Cypress after a test run and upload them directly to a Slack channel of your choice. All files are contained within a single message thread to minimize noise.
Required Slack app token. See Internal app tokens
- Create an app
- Add
file:write
andchat.postMessage
permissions - Install the app into your workspace
- Invite the bot to whatever channels you want to send the videos and screenshots to
/invite <botname>
- Grab the bot token from
OAuth & Permissions
page
Required Slack channels to upload to
Optional The folder where Cypress stores screenshots and videos on the build machine.
Default: cypress
(this relative path resolves to /home/runner/work/<REPO_NAME>/<REPO_NAME>/cypress
)
If your project uses Cypress from the project root folder, the default value will work for you.
But if your project uses Cypress in a subfolder (like most monorepos), you'll need to provide the relative path to that folder
(i.e. e2e/cypress
).
(Don't include a trailing slash on your path!)
on: [push]
jobs:
test-and-upload-results:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: 'Run tests'
uses: cypress-io/github-action@v2
- name: 'Upload screenshots and videos to Slack'
uses: trymbill/[email protected]
with:
token: ${{ secrets.SLACK_TOKEN }}
channels: 'engineering-ops'
on: [pull_request]
jobs:
test-and-upload-results-on-fail:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: 'Run tests'
uses: cypress-io/github-action@v2
- name: 'Upload screenshots and videos to Slack'
uses: trymbill/[email protected]
if: failure()
with:
token: ${{ secrets.SLACK_TOKEN }}
channels: 'engineering-ops'