Capture a Vercel preview URL and feed it into your next GitHub action.
- Runs when an edit is made to a pull request comment (see
example
below).
- Wish to capture the preview URL on
push
orpull_request
? Check out zentered/vercel-preview-url
- Wish to capture the preview URL on
- Checks whether the editor of the comment is Vercel's bot account on GitHub.
- Attempts to extract the preview URL from the comment and sets it as the action's output so you can forward it your next action.
Notes
- This action only succeeds when a preview URL was found, it either gets
cancelled if
GITHUB_TOKEN
is passed or fails if the token is not passed. - This action keeps executing for every edit (if following
issue_comment.edited
trigger). When a new commit is pushed, Vercel may edit the comment again, triggering this action. Ensure you're building in logic into your next action to handle this.
Name | Description |
---|---|
cancel_on_strings |
Cancel the action when any of these (comma separated) strings appear in the edited comment. |
GITHUB_TOKEN |
Pass this (as ${{secrets.GITHUB_TOKEN}} ) to cancel actions instead of failing them. |
preview_url_regexp |
Regular expression pattern (without delimiters!) to capture the preview URL. Ensure one of the capture groups captures the preview URL. |
vercel_bot_name |
The name of the Vercel account commenting on pull requests. (default: vercel[bot] ) |
Name | Description |
---|---|
vercel_preview_url |
The preview URL which can be accessed through the steps context. |
The example below captures the Vercel preview URL and comments with it on the pull request.
name: Capture Vercel preview URL
on:
issue_comment:
types: [edited]
jobs:
capture_vercel_preview_url:
name: Capture Vercel preview URL
runs-on: "ubuntu-latest"
steps:
- uses: aaimio/[email protected]
id: vercel_preview_url
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Below is but an example of what you could do with the preview URL.
# The preview URL is accessed through ${{ steps.<step_id>.outputs.vercel_preview_url }}
- uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'The preview URL is: ${{ steps.vercel_preview_url.outputs.vercel_preview_url }}.'
});