Sha256: 05d95732adb23ae4db4fa242ed67c458e112843c9e767a8c5a599f1811afb9c7

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

# drone-ci - A Ruby Interface to the Drone CI API

## Overview

`drone-ci` is a Ruby Gem that provides a client for Drone CI servers.

## Why does this exist?

Because I couldn't find one that existed. There's Go and JavaScript libraries, but Ruby deserves some love too.

## How do I obtain this majestic tool?

If you're using `bundler`, add the following to your `Gemfile`:

```ruby
gem 'drone-ci', '~> 0.1'
```

Otherwise, install it the usual way:

```shell
gem install drone-ci
```

## How do I use it?

`drone-ci` is primarily intended as a library, so you'll probably want to use it that way.

```ruby
#! /usr/bin/env ruby

require 'drone-ci'
require 'json'

drone = DroneCI::Client.new(server: "https://drone-server-goes-here", token: "access token goes here")
STDOUT.puts JSON.pretty_generate drone.user_info.body
```

Which would output something this this:

```json
{
  "id": 191,
  "login": "colstrom",
  "email": "chris@olstrom.com",
  "machine": false,
  "admin": true,
  "active": true,
  "avatar": "https://avatars.githubusercontent.com/u/469456?v=4",
  "syncing": false,
  "synced": 1662068210,
  "created": 1659728463,
  "updated": 1659728463,
  "last_login": 1660781210
}
```

If you don't pass in a server or a token, `drone-ci` will read `DRONE_SERVER` and `DRONE_TOKEN` from the environment. These are the same environment variables used by the Drone CLI.

### Exploration Mode

If you simply run the `drone-ci` command (installed with the gem), it will drop you into an interactive session where you can explore the API of your Drone server.

## License

`drone-ci` is available under the [MIT License](https://tldrlegal.com/license/mit-license). See `LICENSE.txt` for the full text.

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
drone-ci-0.2.0 README.md
drone-ci-0.1.1 README.md
drone-ci-0.1.0 README.md