mirror of
https://github.com/appleboy/telegram-action.git
synced 2026-05-14 02:42:44 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae54341a85 | |||
| 70b64f5beb | |||
| 7347add3d3 | |||
| 6c7afcc8db | |||
| 372c737013 | |||
| 1b52d8d894 |
@@ -0,0 +1,38 @@
|
||||
workflow "Send Notification" {
|
||||
on = "push"
|
||||
resolves = [
|
||||
"Send Custom Message",
|
||||
"Send Default Message",
|
||||
"Send Photo Message",
|
||||
]
|
||||
}
|
||||
|
||||
action "Send Custom Message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
args = "A new commit has been pushed."
|
||||
}
|
||||
|
||||
action "Send Default Message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
}
|
||||
|
||||
action "Send Photo Message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
env = {
|
||||
PHOTO = "tests/github.png"
|
||||
DOCUMENT = "tests/gophercolor.png"
|
||||
}
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
args = "send photo message."
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
name: telegram message
|
||||
on: [push]
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: send custom message with args
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
args: The ${{ github.event_name }} event triggered first step.
|
||||
|
||||
- name: send message using with
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: |
|
||||
The ${{ github.event_name }} event triggered second step.
|
||||
show the github variable ref: ${{ github.ref }}
|
||||
show the github variable commit: ${{ github.sha }}
|
||||
show the github variable ref: {{ commit.ref }}
|
||||
show the github variable commit: {{ commit.sha }}
|
||||
Commit Message: ${{ github.event.head_commit.message }}
|
||||
|
||||
- name: send default message
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
|
||||
- name: send photo message
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: send photo message
|
||||
photo: './tests/github.png'
|
||||
document: './tests/gophercolor.png'
|
||||
|
||||
- name: send location message
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
location: '24.9163213 121.1424972'
|
||||
venue: '35.661777 139.704051 竹北體育館 新竹縣竹北市'
|
||||
|
||||
- name: send custom message
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: |
|
||||
The ${{ github.event_name }} event triggered final step.
|
||||
echo This event is a pull request that had an assignee removed.
|
||||
|
||||
- name: send message file
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message_file: tests/message.txt
|
||||
|
||||
# - name: send message using socks5 proxy URL
|
||||
# uses: appleboy/telegram-action@master
|
||||
# with:
|
||||
# to: ${{ secrets.TELEGRAM_TO }}
|
||||
# token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
# socks5: "http://222.124.154.19:23500"
|
||||
# message: Send message from socks5 proxy URL.
|
||||
|
||||
# - name: try multiple message
|
||||
# uses: appleboy/telegram-action@master
|
||||
# with:
|
||||
# to: ${{ secrets.TELEGRAM_TO }}
|
||||
# token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
# format: html
|
||||
# message: |
|
||||
# ⚡️ <a href="https://github.com/aszenz/repo/commit/${{ github.event.push.after }}">Commits</a> pushed to master by <em>${{ github.event.push.pusher.name }}</em> ⚡️
|
||||
# ${{ github.actor }}:${{ github.event.head_commit.message }}
|
||||
|
||||
- name: link preview
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: |
|
||||
show link preview https://google.com.tw
|
||||
|
||||
- name: disable link preview
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
disable_web_page_preview: true
|
||||
message: |
|
||||
disable link preview https://google.com.tw
|
||||
|
||||
- name: sending a message without notification
|
||||
uses: ./
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
disable_notification: true
|
||||
message: |
|
||||
disable link preview https://google.com.tw
|
||||
+13
-5
@@ -1,8 +1,16 @@
|
||||
FROM appleboy/drone-telegram:1.3.9-linux-amd64
|
||||
FROM appleboy/drone-telegram:1.4.2-linux-amd64
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
# Github labels
|
||||
LABEL "com.github.actions.name"="Telegram Notify"
|
||||
LABEL "com.github.actions.description"="Sending a Telegram message"
|
||||
LABEL "com.github.actions.icon"="message-square"
|
||||
LABEL "com.github.actions.color"="blue"
|
||||
|
||||
LABEL "repository"="https://github.com/appleboy/telegram-action"
|
||||
LABEL "homepage"="https://github.com/appleboy"
|
||||
LABEL "maintainer"="Bo-Yi Wu <appleboy.tw@gmail.com>"
|
||||
LABEL "version"="0.0.2"
|
||||
|
||||
ADD entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
WORKDIR /github/workspace
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
@@ -1,129 +1,77 @@
|
||||
# 🚀 Telegram for GitHub Actions
|
||||
|
||||
[GitHub Action](https://github.com/features/actions) for sending a Telegram notification message.
|
||||
[GitHub Action](https://developer.github.com/actions/) for sending a Telegram notification message.
|
||||
|
||||

|
||||
|
||||
[](https://github.com/appleboy/telegram-action/actions)
|
||||
<img src="./images/telegram-notification.png">
|
||||
|
||||
## Usage
|
||||
|
||||
**NOTE**: If you are getting "Error: Chat not found", then you need to look at this stackoverflow's answer [here](https://stackoverflow.com/a/41291666).
|
||||
Send custom message as blow
|
||||
|
||||
Send custom message and see the custom variable as below.
|
||||
|
||||
```yml
|
||||
name: telegram message
|
||||
on: [push]
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: send custom message with args
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
args: The ${{ github.event_name }} event triggered first step.
|
||||
```
|
||||
action "Send Custom Message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
args = "A new commit has been pushed."
|
||||
}
|
||||
```
|
||||
|
||||
Remove `args` to send the default message.
|
||||
|
||||
```yml
|
||||
- name: send default message
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
```
|
||||
action "Send Default Message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||

|
||||
<img src="images/telegram-workflow.png">
|
||||
|
||||
## Input variables
|
||||
## Environment variables
|
||||
|
||||
* socks5 - optional. support socks5 proxy URL
|
||||
* photo - optional. photo message
|
||||
* document - optional. document message
|
||||
* sticker - optional. sticker message
|
||||
* audio - optional. audio message
|
||||
* voice - optional. voice message
|
||||
* location - optional. location message
|
||||
* venue - optional. venue message
|
||||
* video - optional. video message
|
||||
* debug - optional. enable debug mode
|
||||
* format - optional. `markdown` or `html`. See [MarkdownV2 style](https://core.telegram.org/bots/api#markdownv2-style)
|
||||
* message - optional. custom message
|
||||
* message_file - optional. overwrite the default message template with the contents of the specified file.
|
||||
* disable_web_page_preview - optional. disables link previews for links in this message. default is `false`.
|
||||
* disable_notification - optional. disables notifications for this message, supports sending a message without notification. default is `false`.
|
||||
* PHOTO - Optional. photo message
|
||||
* DOCUMENT - Optional. document message
|
||||
* STICKER - Optional. sticker message
|
||||
* AUDIO - Optional. audio message
|
||||
* VOICE - Optional. voice message
|
||||
* LOCATION - Optional. location message
|
||||
* VENUE - Optional. venue message
|
||||
* VIDEO - Optional. video message
|
||||
* DEBUG - Optional. enable debug mode
|
||||
|
||||
## Example
|
||||
### Example
|
||||
|
||||
send photo message:
|
||||
|
||||
```yml
|
||||
- uses: actions/checkout@master
|
||||
- name: send photo message
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: send photo message
|
||||
photo: tests/github.png
|
||||
document: tests/gophercolor.png
|
||||
```
|
||||
|
||||
send location message:
|
||||
|
||||
```yml
|
||||
- name: send location message
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
location: '24.9163213 121.1424972'
|
||||
venue: '35.661777 139.704051 竹北體育館 新竹縣竹北市'
|
||||
```
|
||||
|
||||
send custom message:
|
||||
|
||||
```yml
|
||||
- name: send custom message
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
message: |
|
||||
The ${{ github.event_name }} event triggered final step.
|
||||
echo This event is a pull request that had an assignee removed.
|
||||
```
|
||||
|
||||
send message using custom proxy (support `http`, `https`, and `socks5`) like `socks5://127.0.0.1:1080` or `http://222.124.154.19:23500`
|
||||
|
||||
```yml
|
||||
- name: send message using socks5 proxy URL
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_TO }}
|
||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
socks5: "http://222.124.154.19:23500"
|
||||
message: Send message from socks5 proxy URL.
|
||||
action "Send photo message" {
|
||||
uses = "appleboy/telegram-action@master"
|
||||
secrets = [
|
||||
"TELEGRAM_TOKEN",
|
||||
"TELEGRAM_TO",
|
||||
]
|
||||
env = {
|
||||
PHOTO = "tests/github.png"
|
||||
}
|
||||
args = "A new commit has been pushed."
|
||||
}
|
||||
```
|
||||
|
||||
## Secrets
|
||||
|
||||
Getting started with [Telegram Bot API](https://core.telegram.org/bots/api).
|
||||
|
||||
* `token`: Telegram authorization token.
|
||||
* `to`: Unique identifier for this chat.
|
||||
* `TELEGRAM_TOKEN`: Telegram authorization token.
|
||||
* `TELEGRAM_TO`: Unique identifier for this chat.
|
||||
|
||||
How to get unique identifier from telegram api:
|
||||
|
||||
```bash
|
||||
curl https://api.telegram.org/bot<token>/getUpdates
|
||||
```
|
||||
$ curl https://api.telegram.org/bot<token>/getUpdates
|
||||
```
|
||||
|
||||
See the result: (get chat id like `65382999`)
|
||||
@@ -158,17 +106,3 @@ See the result: (get chat id like `65382999`)
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Template variable
|
||||
|
||||
| Github Variable | Telegram Template Variable |
|
||||
|-------------------|----------------------------|
|
||||
| GITHUB_REPOSITORY | repo |
|
||||
| GITHUB_ACTOR | repo.namespace |
|
||||
| GITHUB_SHA | commit.sha |
|
||||
| GITHUB_REF | commit.ref |
|
||||
| GITHUB_WORKFLOW | github.workflow |
|
||||
| GITHUB_ACTION | github.action |
|
||||
| GITHUB_EVENT_NAME | github.event.name |
|
||||
| GITHUB_EVENT_PATH | github.event.path |
|
||||
| GITHUB_WORKSPACE | github.workspace |
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
name: 'Telegram Message Notify'
|
||||
description: 'Sending a Telegram message'
|
||||
author: 'Bo-Yi Wu'
|
||||
inputs:
|
||||
to:
|
||||
description: 'telegram user'
|
||||
token:
|
||||
description: 'telegram token'
|
||||
message:
|
||||
description: 'telegram message'
|
||||
message_file:
|
||||
description: 'overwrite the default message template with the contents of the specified file'
|
||||
socks5:
|
||||
description: 'support socks5 proxy URL'
|
||||
photo:
|
||||
description: 'send the photo message.'
|
||||
document:
|
||||
description: 'send the document message.'
|
||||
sticker:
|
||||
description: 'send the sticker message.'
|
||||
audio:
|
||||
description: 'send the audio message.'
|
||||
voice:
|
||||
description: 'send the voice message.'
|
||||
location:
|
||||
description: 'send the location message.'
|
||||
venue:
|
||||
description: 'send the venue message.'
|
||||
video:
|
||||
description: 'send the video message.'
|
||||
debug:
|
||||
description: 'enable debug mode.'
|
||||
format:
|
||||
description: 'message format: markdown or html'
|
||||
disable_web_page_preview:
|
||||
description: 'disables link previews for links in this message'
|
||||
disable_notification:
|
||||
description: 'disables notifications for this message, supports sending a message without notification,'
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
|
||||
branding:
|
||||
icon: 'message-square'
|
||||
color: 'blue'
|
||||
@@ -1,3 +0,0 @@
|
||||
Sample message loaded from file.
|
||||
|
||||
Commit msg: {{commit.message}}
|
||||
Reference in New Issue
Block a user