Skip to main content

Get notified on your desktop when your drone.io build finishes.

Project description

dronedesktopnotifier

dronedesktopnotifier is a Python library to get notifications from a drone.io-server on your desktop, it filters for names and can be used to only notify in command line or with balloon notifications (windows and mac supported).

Installation

Use the package manager pip to install dronedesktopnotifier.

pip install dronedesktopnotifier
  • For mac and balloon notifications, install terminal-notifier
brew install terminal-notifier

Usage

  • Format
python -m dronedesktopnotifier https://drone.<yourdomain>.com/api <drone.io access token> --names <your github username(s)>
  • Example
python -m dronedesktopnotifier https://drone.mycompany.io/api jsgjijgjgojJGJISGJSGOSG.jtkjfjafkGSJGJOSGJOJSOGI.jksgoafjHGJAJGJKAGJ --names AlxndrJhn

Arguments

  • url this is the base url of the api of your drone.ai system, something like https://drone.mycompany.io/api, it will get all active repositories automatically

  • drone-api-token is your personal token from your drone.io system. You can find it at something like https://drone.mycompany.io/account/token

Optional parameters

  • -n or --names list of space separated names (your GitHub name for example) that should trigger the notification, if not given, all builds will trigger the alarm.

  • -d or --delay delay in seconds (integer) between drone.ai api request batches.

  • --balloon/--no-balloon in case you only want the terminal notification, the balloon is on by default.

  • --terminal-unicode/--no-terminal-unicode in case you only want the terminal notifications in ascii, unicode is used by default.

  • --terminal-color/--no-terminal-color in case you want colors in your terminal (requires termcolor package. Colors are on by default.

Output

The terminal output

Fri 12:08:59 Checking 14 repositories for activity (last 30 days)
Fri 12:09:01 Active repositories found: ['mycompany/some-service', 'mycompany/some-ai', 'mycompany/labelstuff', 'mycompany/inspect_stuff', 'mycompany/cnn-stuff']
Fri 12:09:02 got information for 250 builds from https://drone.mycompany.io/api, 48 are related to ['AlxndrJhn']
Fri 12:09:02 🔄  `running` https://drone.mycompany.io/company/some-service/2506 `My pull request title` https://github.com/company/some-service/pull/23 (AlxndrJhn)

There is one start-up message, it might be an error or as shown above, a success message. If some build is pending or running, it will output it immediatly.

The balloon output

  1. For windows, it appears in to bottom right corner. popup example windows

  2. For mac, it appears in the top left corner, clicking it opens the default webbrowser to the build log directly.

Known issues

none yet

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dronedesktopnotifier-0.4.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file dronedesktopnotifier-0.4.tar.gz.

File metadata

  • Download URL: dronedesktopnotifier-0.4.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for dronedesktopnotifier-0.4.tar.gz
Algorithm Hash digest
SHA256 48c2d4d47cf5b344f3d078335c70a0de8ba21578a50eca514aea7e0e3ea0e705
MD5 ec074c340122f74bfba6cedfc14ccac4
BLAKE2b-256 1a4c2c128841a434c3d2d4857fa47587c3caff5f97074d3e848c655fd7aa1e61

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page