slacknotifpy is a Python CLI tool that sends notifications to a specified Slack channel on job completion. This can be especially useful for tracking automated job results, such as success or failure, directly in Slack.
- Runs a Python script or shell command and sends a Slack notification upon completion.
- Customizable success and failure messages.
- Simple configuration for Slack tokens and channel IDs.
Install slacknotifpy from PyPI:
pip install slacknotifpyTo use slacknotifpy, you need to configure it with your Slack token and channel ID. These settings will be saved in a .slacknotif_config file.
- Run the following command to set up the configuration:
slacknotif init- Follow the prompts to enter:
- Slack Token
- Slack Channel ID
- Custom success and failure messages (optional)
You can find the Slack token and channel ID in your Slack app settings.
To update the success and failure messages for a project, use:
slacknotif config setmessagesThe initialized config file can be reset using the command:
slacknotif config setconfigand following the prompts.
After configuring slacknotifpy, you can use it to run scripts and send notifications:
slacknotif run <script_path> [job_name]script_path: The path to the Python script you want to run.job_name(optional): A name for the job, used in the Slack message. Defaults to the script filename.
Example:
slacknotif run my_script.py "Data Processing Job"A shell command can be run instead of a Python script by using the --cmd or -c flag:
slacknotif run -c "<SHELL COMMAND>" [job_name]Example:
slacknotif run -c "ls -l /tmp" "My Shell Comand Job"- Success: "Data Processing Job completed successfully"
- Failure: "Data Processing Job failed"
You can customize these messages using {job_name} as a placeholder in the config.
You can also tag users using thier real or display names using {@John Doe} or {@JohnDoe42}
- Configure SlackNotifPy:
slacknotif init - Re-Configure SlackNotifPy:
slacknotif config setconfig - Set Custom Messages:
slacknotif config setmessages - Run Script and Notify:
slacknotif run <script_path> [job_name] - Run Shell Command and Notify:
slacknotif run -c "<SHELL COMMAND>" [job_name]
This project is licensed under the MIT License.