Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/masterlittle/Prinder
Free Pull Request reminder for Github. Has configurations to post reminders to Slack and email along with jinja templating
https://github.com/masterlittle/Prinder
github jinja2 pull-requests python slack templating yaml
Last synced: 2 months ago
JSON representation
Free Pull Request reminder for Github. Has configurations to post reminders to Slack and email along with jinja templating
- Host: GitHub
- URL: https://github.com/masterlittle/Prinder
- Owner: masterlittle
- License: mit
- Created: 2018-06-20T11:10:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T02:09:34.000Z (about 2 years ago)
- Last Synced: 2024-09-19T14:13:05.013Z (5 months ago)
- Topics: github, jinja2, pull-requests, python, slack, templating, yaml
- Language: Python
- Homepage:
- Size: 233 KB
- Stars: 22
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prinder
Pull Request reminder for Github with numerous configurations and templating feature using the powerful Jinja2## Installation and Configuration
On *nix systems:-1. Install Prinder using pip.
```bash
pip install prinder
```
2. Create a configuration file. The default filename is **prinder_config.yaml** but you can name it whatever you want. Fill in all the fields or leave them empty if you don't need them. Copy the config template from here - [prinder_config.yaml.template](https://github.com/masterlittle/Prinder/blob/master/prinder_config.yaml.template)3. Get a github auth token with relevant access and assign it to the environment variable **PRINDER_GITHUB_API_TOKEN** or assign it in the configuration file to **github_api_token**. (Copying the token to the file is not recommended)![token](https://github.com/masterlittle/Prinder/blob/master/github_token_permissions.png)
4. Run the command with the file name as argument if required. If no argument is passed, it will try to find prinder_config.yaml in the working directory. The debug parameter can be passed to turn on detailed logging.
```bash
prinder --config_file=
eg -
1. prinder
2. prinder --config_file=prinder_config.yml
3. prinder --debug
```5. The logs of the service can be found at prinder.log in the working directory.
### Prinder has a number of configurations using which you can configure hooks to Slack or Email. Some important ones are:
1. *organization_name*: The organization name for which to get pull requests.
2. *list_of_repos*: Provide a list of repos for which to get pending pull requests.
3. *topics*: Provide a list of topics attached to repositories for which to get pending pull requests.
4. *ignore_repos*: List of repos which should be ignored.
5. *ignore_labels*: List of labels assigned to pull requests to be ignored.
6. *slack:post_as_user*: The name which will be shown on Slack.
7. *initial_message*: The text that will appear at the the top in the notification hooks.### Formatting the notifications
You can set your own look and feel of notifications and override the default using the templating files. The templating uses Jinja2 so everything is highly configurable.**For Slack**
1. Create a template file. You can have a look at slack_template.template which is the default.
2. Give the path to the template file in your configuration file.**For Mail**
1. Create a template file. You can have a look at mail_template.html which is the default.
2. Give the path to the template file in your configuration file.List of available information is :-
1. Owner
2. Initial Message
3. List of pull request object
4. A dictionary having pull requests with the repository name as the key
5. *time_delta* function to calculate the number of days since pull request created### Send pull request reminders to Slack
Get a slack token and assign it to the environment variable **PRINDER_SLACK_API_TOKEN** or assign it in the configuration file to **slack_api_token**. (Copying the token to the file is not recommended)### Send pull request reminders in email
Configure a SMTP on your host and provide the details in the configuration file.# CONTRIBUTING
This started as a side project for a requirement that I had and as a way to improve my Python skills. I would warmly welcome any Pull requests and feature requests that you may have. Thanks