GitHub Actions
使用 steps 範本,在 Lock Screen 上即時追蹤 CI/CD 工作流程的進度。

How It Works
The pushward-github bridge container polls the GitHub Actions API for in-progress workflow runs and maps workflow progress to Live Activities using the steps template.
- Idle polling -- checks all configured repos every 60s for in-progress workflows
- Active tracking -- when a run is detected, polls jobs every 5s and updates progress
- Cleanup -- after the workflow completes, the activity is cleaned up after a configurable delay (default 15 min)
Setup
1. Get Your Integration Key
開啟 PushWard App → 設定 → 整合金鑰,即可找到您的預設 hlk_ 金鑰。
若要為此整合建立專屬金鑰:
- 前往 設定 → 管理金鑰
- 點按 +
- 設定名稱(例如「GitHub Actions」),選擇 , 範圍,並可選擇性限定於activity slug
- 複製產生的
hlk_金鑰
2. Create a GitHub Personal Access Token
Create a fine-grained PAT with actions:read permission on the repos you want to track.
3. Deploy the Bridge
docker-compose.yml
services:
pushward-github:
image: ghcr.io/mac-lucky/pushward-github:latest
environment:
PUSHWARD_URL: https://api.pushward.app
PUSHWARD_API_KEY: hlk_YOUR_INTEGRATION_KEY
PUSHWARD_GITHUB_TOKEN: ghp_YOUR_GITHUB_TOKEN
PUSHWARD_GITHUB_OWNER: your-username # auto-discovers all repos
# OR specify repos explicitly:
# PUSHWARD_GITHUB_REPOS: owner/repo1,owner/repo2
restart: unless-stoppedConfiguration
| 環境變數 | 說明 | 預設值 |
|---|---|---|
PUSHWARD_URL | PushWard server URL | -- |
PUSHWARD_API_KEY | Integration key (hlk_ prefix) | -- |
PUSHWARD_GITHUB_TOKEN | GitHub PAT with actions:read | -- |
PUSHWARD_GITHUB_OWNER | GitHub username for auto-discovery | -- |
PUSHWARD_GITHUB_REPOS | Comma-separated owner/repo list | -- |
PUSHWARD_PRIORITY | Activity priority (0-10) | 1 |
PUSHWARD_POLL_IDLE | Idle poll interval | 60s |
PUSHWARD_POLL_ACTIVE | Active poll interval | 5s |
PUSHWARD_CLEANUP_DELAY | Delay before cleanup after ended | 15m |
提示
Use PUSHWARD_GITHUB_OWNER to auto-discover all your repos. The bridge refreshes the repo list every 5 minutes, skipping archived and disabled repos.
Activity Slug Format
Activities are created with the slug gh-{repo-name} (e.g. gh-pushward-server). One run is tracked per repository at a time.