No description
|
||
---|---|---|
.forgejo/workflows | ||
.yamllint.yaml | ||
action.yml | ||
Dockerfile | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt |
push-status-to-discord-action
Overview
Posts build statuses to Discord via webhooks. If a message ID is provided when invoking, the specified message will be edited instead of creating a new one, keeping reporting channels tidy.
Inputs & outputs
inputs:
webhook-url:
description: "Discord webhook url messages should be sent to."
required: true
title:
description: "Discord message title."
default: "${{github.repository}} (Build #${{github.run_number}})"
status:
description: "Status to report."
required: true
variant:
# See main.py for pre-defined variants.
description: "Style to attach to the message element."
default: "info"
message-id:
description: "Message ID to post to. If specified, the message will be updated instead of creating a new one."
outputs:
message-id:
description: "ID of the message created or edited."
Usage
Unless a message-id
input is provided, new messages are created on every invocation. The message ID can be passed around between jobs using the @actions/upload-artifact
and @actions/download-artifact
actions:
jobs:
job1:
- uses: https://forge.karnov.club/marc/push-status-to-discord@main
id: post-message
- run: echo "${{ steps.post-message.outputs.message-id }}" >> /tmp/some-file
- uses: @actions/upload-artifact
with:
path: /tmp/some-file
name: some-name
job2:
- uses: @actions/download-artifact
with:
path: /tmp
name: some-name
- run: echo "message-id=$(cat /tmp/some-file)" >> $GITHUB_OUTPUT
id: get-message-id
- uses: https://forge.karnov.club/marc/push-status-to-discord@main
with:
message-id: ${{ steps.get-message-id.outputs.message-id }}