cypress-slack-video-upload-action
cypress-slack-video-upload-action copied to clipboard
Upload screencasts from Cypress directly to Slack
Upload Cypress videos and screenshots directly 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.
Inputs
token
Required Slack app token. See Internal app tokens
- Create an app
- Under Bot Token Scopes, add
files:writeandchat:writepermissions - 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 User OAuth Tokenfrom theOAuth & Permissionspage - Add that token as a secret to your Github repo's
Actions Secretsfound underSettings -> Secrets(in the examples below we call itSLACK_TOKEN)
channels
Required Slack channels to upload to
workdir
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!)
message-text
Optional Custom Slack message text.
Default: A Cypress test just finished. I've placed the screenshots and videos in this thread. Good pie!
Examples
Upload results after every push
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'
Only upload when open PRs fail
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'
message-text: 'Cypress tests failed! They have been placed in this thread, good luck.'