English | 简体中文
An AI-powered GitHub Release Tracker that monitors your favorite repositories, summarizes updates using AI, and delivers them straight to your inbox.
🚀 Quick Start: Try our cloud version - No deployment needed!
GitPush is built on four core Cloudflare services:
- Workers: Serverless runtime environment for the application
- Workflows: Automated pipeline for release monitoring and processing
- Workers AI: AI-powered release summary generation with DeepSeek R1
- Email Routing: Reliable email notification delivery system
Security Note: It is recommended to configure these environment variables through the Cloudflare Workers dashboard instead of storing them in the
wrangler.jsonc
file to prevent sensitive information from being exposed on GitHub.
Variable Name | Description | Example | Notes |
---|---|---|---|
GITHUB_REPOS |
GitHub repositories to monitor | "https://github.com/owner/repo1,https://github.com/owner/repo2" | Use commas to separate multiple repositories |
EMAIL_FROM_ADDRESS |
Notification sender email | "[email protected]" | Must be configured in Cloudflare like this |
EMAIL_TO_ADDRESS |
Notification recipient email,must match your destination_address | "[email protected]" | Must be configured in Cloudflare like this |
GITHUB_TOKEN |
GitHub Personal Access Token | "xxxxxxxxxxxx" | Optional. Not required for personal use (60 unauthenticated requests/hour. You can get More deails here. |
Configuration | Description | Example | Notes |
---|---|---|---|
send_email.destination_address |
Notification recipient email | "[email protected]" | Must match EMAIL_TO_ADDRESS |
triggers.crons |
Schedule for monitoring repositories | "0 1 * * *" | Cron expression format (e.g., "0 1 * * *" means run at 1 AM daily and check updates from the past 24 hours) |
Note: This project is designed to run on Cloudflare Workers and requires Cloudflare's infrastructure. It cannot be run locally due to its dependencies on Cloudflare-specific features like Email API and AI capabilities.
# Install dependencies
pnpm install
# Deploy to Cloudflare Workers
pnpm run publish
Once deployed, GitPush will automatically:
- Run daily at 1 AM (configurable via
triggers.crons
inwrangler.jsonc
) - Check for new releases in your monitored repositories
- Send email notifications if updates are found
You can manually trigger the workflow in three ways:
- Using Web Interface
The easiest way to use GitPush:
-
Visit your deployed application URL (e.g.,
https://your-worker.workers.dev
) -
Enter the GitHub repository URLs you want to monitor
-
Click "Start Workflow" to trigger the workflow
-
Using API
Create a workflow:
curl -X POST https://your-worker.workers.dev/api/workflow/create \
-H "Content-Type: application/json" \
-d '{
"repo_urls": [
"https://github.com/owner/repo1",
"https://github.com/owner/repo2"
]
}'
Check workflow status:
curl -X POST https://your-worker.workers.dev/api/workflow/status \
-H "Content-Type: application/json" \
-d '{
"instanceId": "your-workflow-instance-id"
}'
- Using Cloudflare Dashboard
- Go to Cloudflare Dashboard
- Navigate to Compute(Workers) > Workflows > Your Workflow
- Click "Trigger" button
- Input your target repositories and trigger the workflow
{
"repo_urls": [
"https://github.com/owner/repo1",
"https://github.com/owner/repo2"
]
}
To monitor the workflow execution:
- Go to Cloudflare Dashboard
- Navigate to Compute(Workers) > Workflows > Your Workflow
- Here you can view:
- Execution history
- Success/failure status
- Detailed logs for each step
- Email delivery status