Skip to content

AntoineAugusti/updown

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Travis CI Software License GoDoc Coverage Status

Updown Go client

This is a Go client for updown.io. Updown lets you monitor websites and online services for an affordable price.

Installation

Once you have a working Go installation locally, you can grab this package with the following command:

go get github.com/antoineaugusti/updown

Documentation

Head over to the Go documentation to see available methods and models and to https://updown.io/api for the Updown API.

Creating a client

The client will be required to perform all actions against the API.

package main

import (
    "github.com/antoineaugusti/updown"
)

func main() {
    // Your API key can be retrieved at https://updown.io/settings/edit
    // You can give a custom HTTP client
    client := updown.NewClient("your-api-key", nil)
}

Listing all checks

result, HTTPResponse, err := client.Check.List()

Getting an Updown token for a check's alias

name := "Google"
token, err := client.Check.TokenForAlias(name)

This method returns results from a memory cache by default if it's available. The first time, a request against the API will be performed.

Getting a check by its token

token := "foo"
result, HTTPResponse, err := client.Check.Get(token)

Getting downtimes for a check

token, page := "foo", 1 // 100 results per page
result, HTTPResponse, err := client.Downtime.List(token, page)

Adding a new check

// See the struct for additional parameters
item := updown.CheckItem{URL: "https://google.fr"}
result, HTTPResponse, err := client.Check.Add(item)

Updating a check

token := "foo"
// See the struct for additional parameters
updated := updown.CheckItem{URL: "https://google.com"}
result, HTTPResponse, err := client.Check.Update(token, updated)

Removing a check

token := "foo"
result, HTTPResponse, err := client.Check.Remove(token)

Getting metrics for a check

token, group := "foo", "host"
from, to := "2016-04-01 00:00:00 +0200", "2016-04-15 00:00:00 +0200"
result, HTTPResponse, err := client.Metric.List(token, group, from, to)