GitHub - appleboy/drone-line: Sending line notifications using a binary, docker or Drone CI. (original) (raw)

drone-line

drone-line

GoDoc Build Status codecov Go Report Card Docker Pulls microbadger Release Build status

Sending line notifications using a binary, docker or Drone CI.

Register Line BOT API Trial

Please refer to LINE Business Center.

Feature

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

Notification Count Usage:

Notification Count Usage

Build or Download a binary

The pre-compiled binaries can be downloaded from release page. Support the following OS type.

With Go installed

go get -u -v github.com/appleboy/drone-line

or build the binary with the following command:

Docker

Build the docker image with the following commands:

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 DRONE_COMMIT_AUTHOR_EMAIL=appleboy@gmail.com
-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):(pwd):(pwd)
-w $(pwd)
appleboy/drone-line

You can get more information about how to use scp plugin in drone.

Testing

Test the package with the following command: