You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pingme/README.md

159 lines
5.3 KiB

<h2 align="center">
<br>
<p align="center"><img width=30% src="https://raw.githubusercontent.com/kha7iq/pingme/master/.github/img/logo.png"></p>
</h2>
<h4 align="center">PingMe CLI</h4>
<p align="center">
<a href="https://github.com/kha7iq/pingme/releases">
<img alt="Release" src="https://img.shields.io/github/v/release/kha7iq/pingme">
<a href="https://goreportcard.com/report/github.com/kha7iq/pingme">
<img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/kha7iq/pingme">
<a href="#">
<img alt="Build" src="https://img.shields.io/github/workflow/status/kha7iq/pingme/goreleaser">
<a href="https://github.com/kha7iq/pingme/issues">
<img alt="GitHub issues" src="https://img.shields.io/github/issues/kha7iq/pingme?style=flat-square&logo=github&logoColor=white">
<a href="https://github.com/kha7iq/pingme/blob/master/LICENSE.md">
<img alt="License" src="https://img.shields.io/github/license/kha7iq/pingme">
<a href="#">
<img alt="Go Version" src="https://img.shields.io/github/go-mod/go-version/kha7iq/pingme">
<a href="https://pkg.go.dev/github.com/kha7iq/pingme">
<img alt="Go Dev Reference" src="https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat">
</p>
<p align="center">
<a href="#about">About</a>
<a href="https://kha7iq.github.io/docs-pingme/#/">Documentation</a>
<a href="#supported-services">Supported Services</a>
<a href="#install">Install</a>
<a href="#github-action">Github Action</a>
<a href="#configuration">Configuration</a>
<a href="#contributing">Contributing</a>
<a href="#show-your-support">Show Your Support</a>
</p>
---
## About
**PingMe** is a personal project to satisfy my needs of having alerts, most major platforms have integration to send alerts
but its not always useful, either you are stuck with one particular platform, or you have to do alot of integrations. I needed a small app
which i can just call from my backup scripts, cron jobs, CI/CD pipelines or from anywhere to send a message with particular information.
And i can ship it everywhere with ease.
Hence, the birth of PingMe.
Everything is configurable via environment variables, and you can simply export the logs or messages to a variable which will be sent
as message. And most of all this serves as a swiss army knife sort of tool which supports multiple platforms.
## Supported services
- *Discord*
- *Email*
- *Microsoft Teams*
- *RocketChat*
- *Slack*
- *Telegram*
- *Pushover*
- *Mattermost*
## Install
### Linux & MacOs
```bash
brew install kha7iq/tap/pingme
```
### Go Get
```bash
go get -u github.com/kha7iq/pingme
```
### Windows
```powershell
scoop bucket add pingme https://github.com/kha7iq/scoop-bucket.git
scoop install pingme
```
Alternatively you can head over to [release pages](https://github.com/kha7iq/pingme/releases) and download the binary for windows & all other supported platforms.
### Docker
Docker container is also available on both dockerhub and github container registry.
`latest` tage will always pull the latest version avaialbe, you can also download specific version.
Checkout [release](https://github.com/kha7iq/pingme/releases) page for available versions.
Docker Registry
```bash
docker pull khaliq/pingme:latest
```
Gighub Registry
```bash
docker pull ghcr.io/kha7iq/pingme:latest
```
Run
```bash
docker run ghcr.io/kha7iq/pingme:latest
```
## Github Action
A github action is also available now for this app, you can find it on [Github Market Place](https://github.com/marketplace/actions/pingme-action) or from this [repository](https://github.com/kha7iq/pingme-action) on github.
Usage examples for workflow are available in the repo.
## Usage
```bash
pingme
NAME:
PingMe - Send message to multiple platforms
USAGE:
main [global options] command [command options] [arguments...]
DESCRIPTION:
PingMe is a CLI tool which provides the ability to send messages or alerts to multiple
messaging platforms and also email, everything is configurable via environment
variables and command line switches.Currently supported platforms include Slack, Telegram,
RocketChat, Discord, Pushover, Mattermost, Microsoft Teams and email address.
COMMANDS:
telegram Send message to telegram
rocketchat Send message to rocketchat
slack Send message to slack
discord Send message to discord
teams Send message to microsoft teams
pushover Send message to pushover
email Send an email
mattermost Send message to mattermost
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
```
Check [Documentation Page](https://kha7iq.github.io/docs-pingme/#/) for more details.
## Configuration
All the flags have corresponding environment variables associated with it. You can either provide the value with flags
or export to a variable.
View the [Documentation Page](https://kha7iq.github.io/docs-pingme/#/) for more details.
## Contributing
Contributions, issues and feature requests are welcome!<br/>Feel free to check [issues page](https://github.com/kha7iq/pingme/issues). You can also take a look at the [contributing guide](https://github.com/kha7iq/pingme/blob/master/CONTRIBUTING.md).
## Show your support
Give a ⭐️ if you like this project!