Improve repository config, changelog notifications and API resilience
This commit is contained in:
@@ -65,3 +65,12 @@ through command-line arguments. The state file is read directly by `jq`.
|
||||
This prevents `Argument list too long` for repositories with large release notes.
|
||||
|
||||
Run `bash -n monitor.sh` and `./monitor.sh --dry-run --verbose` to verify.
|
||||
|
||||
### Release notes and retention
|
||||
|
||||
`repos.json` uses `owner/repo` names (legacy full GitHub URLs remain accepted).
|
||||
`TELEGRAM_INCLUDE_CHANGELOG=true` includes a shortened release body in Telegram messages.
|
||||
`TELEGRAM_CHANGELOG_MAX_LENGTH=1800` limits the changelog; Telegram messages are capped at 4096 characters.
|
||||
`STATE_MAX_IDS=500` bounds stored release IDs per repository. Keep this larger than the number of releases that may appear in the fetched pages; old releases returning after pruning may otherwise be notified again.
|
||||
|
||||
GitHub HTTP 403/429 responses log rate-limit headers and fail without changing the repository state. Mid-pagination errors also fail the repository without partially processing it. Tags without GitHub releases are not tracked.
|
||||
|
||||
Reference in New Issue
Block a user