18 Commits
Author SHA1 Message Date
Bo-Yi Wu dd9f2d9fa7 docs(readme): reference the floating v1 tag in examples 2026-08-16 10:57:44 +08:00
Bo-Yi Wu 4023d256c8 ci: restrict tag triggers to full semver
- Prevent the floating v1 major tag from cutting a goreleaser release
  or a docker image build
2026-08-16 10:57:44 +08:00
Bo-Yi Wu 214f06cfa3 chore(release): pin action image and docs to 1.1.1 2026-08-16 10:54:18 +08:00
Bo-Yi Wu 2608c6db39 fix(entrypoint): drop empty thread id workaround
- drone-telegram 1.5.1 handles empty INPUT_MESSAGE_THREAD_ID itself
2026-08-16 10:54:18 +08:00
Bo-Yi Wu c078210187 chore(docker): bump drone-telegram base image to 1.5.1
- Upstream now treats empty numeric env vars as unset
2026-08-16 10:54:18 +08:00
Bo-Yi Wu 7f612b977e chore: ignore .DS_Store files 2026-08-16 10:33:52 +08:00
Bo-Yi Wu c18c95644a docs(readme): pin examples to v1.1.0 and sync input tables
- Replace mutable @master references with the v1.1.0 tag
- Add required to/token rows to all input tables
- Add missing message_thread_id row to both Chinese translations
- Reword the default-message note to reference message instead of the
  removed args mechanism
2026-08-16 10:33:52 +08:00
Bo-Yi Wu 6753faf1d2 feat(action): mark to and token inputs as required
- Surface missing credentials before the container runs
2026-08-16 10:33:52 +08:00
Bo-Yi Wu 53d62f6c74 ci: add working-tree image test and drop dead args step
- Build and smoke-test the local Dockerfile/entrypoint since the action
  now runs the published ghcr image instead of the working tree
- Exercise the empty INPUT_MESSAGE_THREAD_ID guard in the smoke test
- Remove the args step which silently sent the default message
2026-08-16 10:33:52 +08:00
Bo-Yi Wu e9e9d8fda7 fix(entrypoint): remove dead args passthrough
- Container args were never wired up in action.yml (no runs.args), so
  the positional-argument branch could never fire
2026-08-16 10:33:52 +08:00
Bo-Yi Wu 16657635b3 fix(action): pin prebuilt image to versioned tag
- Replace the mutable latest tag with the immutable 1.1.0 image tag so
  released action versions stay reproducible and a bad master push
  cannot break existing users
2026-08-16 10:27:42 +08:00
Bo-Yi Wu fd541f19b0 fix(entrypoint): unset empty INPUT_MESSAGE_THREAD_ID
- The runner exports every declared input as an env var even when unset,
  and drone-telegram 1.5.0 fails to parse an empty string for the
  integer message.thread.id flag
2026-08-16 10:13:31 +08:00
Bo-Yi Wu f8121d9e5a perf(action): use prebuilt ghcr image instead of building Dockerfile
- Pull ghcr.io/appleboy/telegram-action:latest at runtime instead of
  building the Docker image on every workflow run
2026-08-16 10:11:41 +08:00
Bo-Yi Wu b8da483c2e ci(goreleaser): remove unused Go setup step
- goreleaser config skips builds, so the Go toolchain is never used
2026-08-16 10:10:14 +08:00
Bo-Yi Wu 724a55ccf8 chore(docker): drop redundant chmod layer
- entrypoint.sh already carries the executable bit in git
2026-08-16 10:10:14 +08:00
Bo-Yi Wu 8223320a4c chore(deps): add dependabot config for actions and docker
- Enable weekly update checks for GitHub Actions and the Dockerfile base image
2026-08-16 10:10:14 +08:00
Bo-Yi Wu ea12760348 ci(docker): publish prebuilt image to ghcr
- Build and push multi-arch (amd64/arm64) image on master pushes and version tags
- Generate latest and semver tags via docker metadata action
- Build without pushing on pull requests for validation
2026-08-16 10:10:14 +08:00
Bo-Yi Wu d678193671 chore(docker): bump drone-telegram base image to 1.5.0
- Upgrade the base image from 1.4.2 to 1.5.0
2026-08-16 10:00:47 +08:00
11 changed files with 128 additions and 34 deletions
+15
View File
@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore(ci)"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore(docker)"
+23 -7
View File
@@ -1,18 +1,34 @@
name: telegram message
on: [push]
jobs:
# Tests the working-tree Dockerfile and entrypoint.sh; the build job below
# runs against the published image referenced by action.yml instead.
local-image:
name: Test local image build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: build image from working tree
run: docker build -t telegram-action:local .
- name: send message via local image
env:
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
run: |
docker run --rm \
-e INPUT_TO="$TELEGRAM_TO" \
-e INPUT_TOKEN="$TELEGRAM_TOKEN" \
-e INPUT_MESSAGE_THREAD_ID= \
-e INPUT_MESSAGE="ci: local image smoke test for ${{ github.sha }}" \
telegram-action:local
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- 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:
+59
View File
@@ -0,0 +1,59 @@
name: Docker Image
on:
push:
branches:
- master
tags:
# full semver only; the floating major tag (v1) must not trigger builds
- "v[0-9]*.[0-9]*.[0-9]*"
pull_request:
branches:
- master
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
build-docker:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: docker-meta
uses: docker/metadata-action@v6
with:
images: |
ghcr.io/${{ github.repository }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker-meta.outputs.tags }}
labels: ${{ steps.docker-meta.outputs.labels }}
+2 -6
View File
@@ -3,7 +3,8 @@ name: Goreleaser
on:
push:
tags:
- "*"
# full semver only; the floating major tag (v1) must not cut a release
- "v[0-9]*.[0-9]*.[0-9]*"
permissions:
contents: write
@@ -17,11 +18,6 @@ jobs:
with:
fetch-depth: 0
- name: Setup go
uses: actions/setup-go@v7
with:
go-version: "^1"
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v7
with:
+1
View File
@@ -0,0 +1 @@
.DS_Store
+1 -2
View File
@@ -1,7 +1,6 @@
FROM ghcr.io/appleboy/drone-telegram:1.4.2
FROM ghcr.io/appleboy/drone-telegram:1.5.1
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
WORKDIR /github/workspace
+10 -8
View File
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: send telegram message on push
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -37,11 +37,11 @@ jobs:
See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}
```
Remove `args` to send the default message.
Remove the `message` input to send the default message.
```yml
- name: send default message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -53,6 +53,8 @@ Remove `args` to send the default message.
| Variable | Description |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| to | **required**. Unique identifier for the target chat. |
| token | **required**. Telegram authorization token. |
| socks5 | optional. Support socks5 proxy URL |
| photo | optional. Photo message |
| document | optional. Document message |
@@ -75,9 +77,9 @@ Remove `args` to send the default message.
Send photo message:
```yml
- uses: actions/checkout@master
- uses: actions/checkout@v7
- name: send photo message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -90,7 +92,7 @@ Send location message:
```yml
- name: send location message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -102,7 +104,7 @@ Send a message to a specific forum topic (thread):
```yml
- name: send message to forum topic
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -114,7 +116,7 @@ Send message using custom proxy (support `http`, `https`, and `socks5`) like `so
```yml
- name: send message using socks5 proxy URL
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
+7 -4
View File
@@ -16,6 +16,8 @@
| 变量 | 描述 |
| ------------------------ | ------------------------------------------------------------------------------------------------------- |
| to | **必填**。目标聊天的唯一标识符 |
| token | **必填**。Telegram 授权令牌 |
| socks5 | 可选。支持 socks5 代理 URL |
| photo | 可选。照片消息 |
| document | 可选。文档消息 |
@@ -29,6 +31,7 @@
| format | 可选。`markdown` 或 `html`。参见 [MarkdownV2 样式](https://core.telegram.org/bots/api#markdownv2-style) |
| message | 可选。自定义消息 |
| message_file | 可选。用指定文件的内容覆盖默认消息模板。 |
| message_thread_id | 可选。论坛目标消息串(主题)的唯一标识符,仅适用于论坛超级群组。 |
| disable_web_page_preview | 可选。禁用此消息中链接的预览。默认值为 `false`。 |
| disable_notification | 可选。禁用此消息的通知,支持发送无通知的消息。默认值为 `false`。 |
@@ -37,9 +40,9 @@
发送照片消息:
```yml
- uses: actions/checkout@master
- uses: actions/checkout@v7
- name: send photo message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -52,7 +55,7 @@
```yml
- name: send location message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -64,7 +67,7 @@
```yml
- name: send message using socks5 proxy URL
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
+7 -4
View File
@@ -16,6 +16,8 @@
| 變數 | 說明 |
| ------------------------ | ------------------------------------------------------------------------------------------------------- |
| to | **必填**。目標聊天的唯一標識符 |
| token | **必填**。Telegram 授權令牌 |
| socks5 | 選填。支援 socks5 代理 URL |
| photo | 選填。圖片訊息 |
| document | 選填。文件訊息 |
@@ -29,6 +31,7 @@
| format | 選填。`markdown` 或 `html`。參見 [MarkdownV2 格式](https://core.telegram.org/bots/api#markdownv2-style) |
| message | 選填。自訂訊息 |
| message_file | 選填。使用指定檔案的內容覆蓋預設訊息模板 |
| message_thread_id | 選填。論壇目標訊息串(主題)的唯一標識符,僅適用於論壇超級群組 |
| disable_web_page_preview | 選填。停用此訊息中連結的預覽。預設為 `false` |
| disable_notification | 選填。停用此訊息的通知,支援發送無通知的訊息。預設為 `false` |
@@ -37,9 +40,9 @@
發送圖片訊息:
```yml
- uses: actions/checkout@master
- uses: actions/checkout@v7
- name: send photo message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -52,7 +55,7 @@
```yml
- name: send location message
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
@@ -64,7 +67,7 @@
```yml
- name: send message using socks5 proxy URL
uses: appleboy/telegram-action@master
uses: appleboy/telegram-action@v1
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
+3 -1
View File
@@ -4,8 +4,10 @@ author: 'Bo-Yi Wu'
inputs:
to:
description: 'telegram user'
required: true
token:
description: 'telegram token'
required: true
message:
description: 'telegram message'
message_file:
@@ -40,7 +42,7 @@ inputs:
description: 'unique identifier for the target message thread (topic) of the forum; for forum supergroups only'
runs:
using: 'docker'
image: 'Dockerfile'
image: 'docker://ghcr.io/appleboy/telegram-action:1.1.1'
branding:
icon: 'message-square'
-2
View File
@@ -4,6 +4,4 @@ set -eu
export GITHUB="true"
[ -n "$*" ] && export TELEGRAM_MESSAGE="$*"
/bin/drone-telegram