https://github.com/anthonynguyen/preminder
Create reminders about Github pull requests
https://github.com/anthonynguyen/preminder
github reminders rust
Last synced: 10 months ago
JSON representation
Create reminders about Github pull requests
- Host: GitHub
- URL: https://github.com/anthonynguyen/preminder
- Owner: anthonynguyen
- License: mit
- Created: 2017-08-11T20:52:43.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-24T18:19:00.000Z (almost 9 years ago)
- Last Synced: 2025-05-19T18:18:18.773Z (about 1 year ago)
- Topics: github, reminders, rust
- Language: Rust
- Homepage:
- Size: 132 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `preminder`
preminder is a Rust program that creates reminders about Github pull requests.
## Configuration
Configuration is done via JSON/YAML/TOML. A sample YAML configuration file could
look like this:
```yaml
github:
token: secret!
host: github.organization.org
subjects:
- user1
- user2
recent: 6h
stale: 12h
outputs:
- type: stdout
disable: true
```
## Outputs
Every output has an optional `disable` boolean option to disable the output.
### STDOUT
The `stdout` output takes no configuration.
### Hipchat
`hipchat` output configuration options:
+ `url` - address to Hipchat instance
+ `room` - room number to send messages to
+ `token` - API token with at least a scope of `send_notification`
+ `from` - *optional* string to include next to the username
+ `colour` - *optional* colour to use as message background
+ `notify` - *optional* whether or not a desktop notification should be
triggered
+ `template` - *optional* custom Handlebars template to format the message
+ `max_results` - *optional* limit results for each of the three lists
Template variables:
+ `now` - current time (in the following format: `Jan 12, 8:52pm`)
+ `recent_period` - human-friendly formatting of the `recent` option
+ `stale_period` - human-friendly formatting of the `stale` option
+ `num_total` - total open PRs
+ `num_opened` - number of PRs recently opened
+ `num_updated` - number of PRs recently updated
+ `num_stale` - number of old PRs
+ `opened` - list of recently opened PRs
+ `updated` - list of recently updated PRs
+ `stale` - list of old PRs
The structure of a PR object, as found in the `opened`, `updated`, or `stale`
lists can be found in `src/types.rs`.
### Email
`email` output configuration options:
+ `smtp_server` - address of the SMTP server to use for sending emails
+ `smtp_port` - *optional* port of the SMTP server (default: `25`)
+ `smtp_username` - *optional* SMTP username
+ `smtp_password` - *optional* SMTP password
+ `from_address` - email address to use in the `from:` field
+ `from_name` - *optional* name to use in the `from:` field
+ `to_address` - email address to send reminder to
+ `subject_template` - *optional* custom Handlebars template to format the
email's subject
+ `body_template` - *optional* custom Handlebars template to format the
email's body
**Note:** `subject_template` and `body_template` use the same variables as
described in the Hipchat output.
## License
preminder is licensed under the MIT license. Please see the `LICENSE` file for
more details.