drone-line alternatives and similar packages
Based on the "Messaging" category.
Alternatively, view drone-line alternatives based on common mentions on social networks and blogs.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Set up once and forever. -
machinery
Machinery is an asynchronous task queue/job queue based on distributed message passing. -
Confluent Kafka Golang Client
Confluent's Apache Kafka Golang client -
NATS Go Client
Golang client for NATS, the cloud native messaging system. -
APNs2
⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol. -
Mercure
Server-sent live updates: protocol and reference implementation -
Uniqush-Push
Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices. -
Chanify
Chanify is a safe and simple notification tools. This repository is command line tools for Chanify. -
mangos
mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols" -
PingMe
PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email. -
amqp
An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp` -
emitter
Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins -
Bus
🔊Minimalist message bus implementation for internal communication with zero-allocation magic on Emit -
redisqueue
redisqueue provides a producer and consumer of a queue that uses Redis streams -
go-mq
Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ. -
nsq-event-bus
A tiny wrapper around NSQ topic and channel :rocket: -
go-events
:mega: Pure nodejs EventEmmiter for the Go Programming Language. -
RapidMQ
RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue -
go-notify
Package notify provides an implementation of the Gnome DBus Notifications Specification. -
Commander
Build event-driven and event streaming applications with ease -
structured pubsub
Publish and subscribe functionality within a single process in Go. -
go-longpoll
Parked: PubSub queuing with long-polling subscribers (not bound to http) -
go-vitotrol
golang client library to Viessmann Vitotrol web service -
jazz
Abstraction layer for simple rabbitMQ connection, messaging and administration
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
Do you think we are missing an alternative of drone-line or a related project?
README
drone-line
[drone-line](./images/line.png)
Sending line notifications using a binary, docker or Drone CI.
Register Line BOT API Trial
Please refer to LINE Business Center.
Feature
- [x] Send multiple Message.
- [x] Send Text Message.
- [x] Send Video Message.
- [x] Send Audio Message.
- [x] Send Sticker Message.
- [x] Send Location Message.
- [x] Support prometheus metrics API.
- [x] Automatically install TLS certificates from Let's Encrypt.
- [x] Support Localtunnel for webhook tunnel.
- [x] Support Line Notify.
Localtunnel allows you to easily share a web service on your local development machine without messing with DNS and firewall settings.
Memory Usage:
[Memory Usage](./screenshots/memory_usage.png)
Notification Count Usage:
[Notification Count Usage](./screenshots/notification.png)
Build or Download a binary
The pre-compiled binaries can be downloaded from release page. Support the following OS type.
- Windows amd64/386
- Linux amd64/386
- Darwin amd64/386
With Go
installed
go get -u -v github.com/appleboy/drone-line
or build the binary with the following command:
make build
Docker
Build the docker image with the following commands:
make docker
Usage
There are three ways to send notification.
Usage from binary
Setup Webhook service
Setup Webhook service as default port 8088
.
drone-line \
--secret xxxx \
--token xxxx \
webhook
Change default webhook port to 8089
.
drone-line \
--port 8089 \
--secret xxxx \
--token xxxx \
webhook
Use localtunnel to tunnel your locally running bot so that Line can reach the webhook.
drone-line \
-s secret \
-t token \
--tunnel \
--port 2002 \
webhook
Use Let's Encrypt. Please make sure you have permission to listen on 443
port.
drone-line \
-s secret \
-t token \
-autotls \
-host example.com \
-cache /var/www/.cache \
--port 443 \
webhook
Tips: Another way to use ngrok to tunnel your locally running bot so that Line can reach the webhook.
Send Notification
Setup the --to
flag after fetch user id from webhook service.
drone-line \
--secret xxxx \
--token xxxx \
--to xxxx \
--message "Test Message"
Send LINE Notify
If you connect your service with LINE Notify, LINE users can easily receive notifications from it. See the documentation.
drone-line \
--token xxxx \
--message "Test Message" \
notify
Usage from docker
Setup Webhook service as default port 8088
.
docker run --rm \
-e LINE_CHANNEL_SECRET=xxxxxxx \
-e LINE_CHANNEL_TOKEN=xxxxxxx \
appleboy/drone-line webhook
Change default webhook port to 8089
.
docker run --rm \
-e LINE_CHANNEL_SECRET=xxxxxxx \
-e LINE_CHANNEL_TOKEN=xxxxxxx \
-e LINE_PORT=8089 \
appleboy/drone-line webhook
Tips: Use ngrok to tunnel your locally running bot so that Line can reach the webhook.
Send Notification
docker run --rm \
-e LINE_CHANNEL_SECRET=xxxxxxx \
-e LINE_CHANNEL_TOKEN=xxxxxxx \
-e LINE_TO=xxxxxxx \
-e LINE_MESSAGE=test \
-e LINE_IMAGES=https://example.com/1.png \
-e LINE_VIDEOS=https://example.com/1.mp4 \
-e LINE_AUDIOS=https://example.com/1.mp3::1000 \
-e LINE_STICKERS=1::1 \
-e LINE_LOCATIONS=title::address::latitude::longitude \
-e LINE_DELIMITER=:: \
appleboy/drone-line
Usage from drone ci
Execute from the working directory:
docker run --rm \
-e PLUGIN_CHANNEL_SECRET=xxxxxxx \
-e PLUGIN_CHANNEL_TOKEN=xxxxxxx \
-e PLUGIN_TO=xxxxxxx \
-e PLUGIN_MESSAGE=test \
-e PLUGIN_IMAGES=https://example.com/1.png \
-e PLUGIN_VIDEOS=https://example.com/1.mp4 \
-e PLUGIN_AUDIOS=https://example.com/1.mp3::1000 \
-e PLUGIN_STICKERS=1::1 \
-e PLUGIN_LOCATIONS=title::address::latitude::longitude \
-e PLUGIN_DELIMITER=:: \
-e PLUGIN_ONLY_MATCH_EMAIL=false \
-e DRONE_REPO_OWNER=appleboy \
-e DRONE_REPO_NAME=go-hello \
-e DRONE_COMMIT_SHA=e5e82b5eb3737205c25955dcc3dcacc839b7be52 \
-e DRONE_COMMIT_BRANCH=master \
-e DRONE_COMMIT_AUTHOR=appleboy \
-e [email protected] \
-e DRONE_COMMIT_MESSAGE=Test_Your_Commit \
-e DRONE_BUILD_NUMBER=1 \
-e DRONE_BUILD_STATUS=success \
-e DRONE_BUILD_LINK=http://github.com/appleboy/go-hello \
-e DRONE_JOB_STARTED=1477550550 \
-e DRONE_JOB_FINISHED=1477550750 \
-v $(pwd):$(pwd) \
-w $(pwd) \
appleboy/drone-line
You can get more [information](DOCS.md) about how to use scp plugin in drone.
Testing
Test the package with the following command:
make test