I've added github action that sends a message on our slack channel on every release.
I've managed to get repo name and tag from github context (https://docs.github.com/en/actions/learn-github-actions/contexts#github-context), but I'm also trying and failing to get release title and release notes in that message.
I've tried these combinations: ${{ github.event.payload.release.name || github.event.payload.release || github.event.payload }}.
Does anyone know how to resolve this problem?
EDIT:
name: Release
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Sbt
uses: olafurpg/setup-scala@v10
- name: Set library version
run: ./sbt dynver
- name: Publish stable version
run: ./sbt publish
env:
JFROG_PASSWORD: ${{ secrets.JFROG_PASSWORD }}
- name: Post to a Slack channel
id: slack
uses: slackapi/[email protected]
with:
channel-id: 'releases'
slack-message: "Release result: ${{ job.status }}\n${{ github.repository }}: ${{ github.ref_name }}\nRelease info: ${{ github.event.payload.release.name }}, ${{ github.event.payload.release }} ${{ github.event.payload }}"
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
CodePudding user response:
Instead of triggering on the tag, trigger on the release creation. That way the release information will be present.
on:
release:
types: [published]
The tag will be under github.event.release.tag_name, the release under github.event.release.name.
Tags can be created independently of releases, that's why.
See:
