Files
telegram-bot/action.yml
Kirill Chikalin e7a5755848 remove \n
2025-06-02 08:00:34 +03:00

109 lines
3.2 KiB
YAML

name: 'Telegram Bot'
description: 'Telegram Bot API'
inputs:
message:
description: "Text"
required: false
default: ''
caption:
description: "Text"
required: false
default: |
<a href='${{ github.event.repository.html_url }}/actions/runs/${{ github.run_number }}'>#${{ github.run_number }}</a> <b>${{ github.event.repository.name }}</b>: ${{ github.workflow }}
on: <a href='${{ github.server_url }}/-/admin/actions/runners'>${{ env.GITEA_RUNNER_NAME }}</a>
button_url:
description: "Button URL"
required: false
default: ''
button_title:
description: "Button title"
required: false
default: ''
message_id:
description: "Message ID"
required: false
default: ''
# update:
# description: "Update message by ID"
# required: false
# default: 'false'
delete:
description: "Message ID to delete"
required: false
default: ''
status:
description: "Status message"
required: false
default: ${{ job.status }}
chat_id:
description: "Chat ID"
required: true
default: ${{ secrets.TELEGRAM_TO }}
bot_token:
description: "Message ID"
required: false
default: ${{ secrets.TELEGRAM_TOKEN }}
outputs:
message_id:
description: "Message ID"
value: ${{ env.OUTPUT_MESSAGE_ID }}
runs:
using: "composite"
steps:
- name: Setup
run: echo "OUTPUT_MESSAGE_ID=" >> $GITHUB_ENV
shell: bash
# - name: Random Number Generator
# id: random-number-generator
# run: echo "random-number=$(echo $RANDOM)" >> $GITHUB_OUTPUT
# shell: bash
- name: Set GitHub Path
run: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH
shell: bash
env:
GITHUB_ACTION_PATH: ${{ github.action_path }}
- name: Send message
run: |
button_url=${{ inputs.button_url }}
STATUS=${{ inputs.status }}
if [[ "$STATUS" == "success" ]]; then
STATUS="✅"
elif [[ "$STATUS" == "failure" ]]; then
STATUS="❌"
button_url=""
elif [[ "$STATUS" == "cancelled" ]]; then
STATUS="⚠️"
button_url=""
fi
if [[ "$STATUS" != '' ]]; then
STATUS="$STATUS "
fi
CAPTION="$STATUS${{ inputs.caption }}"
echo "Caption: $CAPTION"
PARSED_TEXT=$(echo -e "$CAPTION${{ inputs.message }}")
echo "PARSED_TEXT: $PARSED_TEXT"
sendMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} "$PARSED_TEXT" "${{ inputs.button_title }}" "$button_url"
shell: bash
- name: Delete message
if: inputs.delete != ''
run: deleteMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} ${{ inputs.delete }}
shell: bash
# - name: Send job status
# if: inputs.status != ''
# run: |
# if [[ "${{ job.status }}" == "success" ]]; then
# STATUS="✅"
# elif [[ "${{ job.status }}" == "failure" ]]; then
# STATUS="❌"
# elif [[ "${{ job.status }}" == "cancelled" ]]; then
# STATUS="⚠️"
# else
# STATUS="❓"
# fi
# sendMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} "$STATUS ${{ inputs.status }}"
# shell: bash