hubcaps 0.1.0

Rust interface for Github
docs.rs failed to build hubcaps-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: hubcaps-0.6.2

hubcaps

Build Status Coverage Status Software License

a rust interface for github

docs

Find them here

usage

Basic usage requires a user-defined useragent string, a hyper::Client instance and optionally a personal access token.

extern crate hyper;
extern crate hubcaps;

use hyper::Client;
use hubcaps::Github;

fn main() {
  let client = Client::new();
  let github = Github::new(
    "my-cool-user-agent/0.1.0",
    &client,
    Some("personal-access-token")
  );
}

Github instances define functions for accessing api services that map closely to their url structure.

As a convention, api methods that expect arguments are represented as functions that accept a struct representing those arguments with an optional builder interface for convenience.

repositories

Typically the reference point of most github services is a repository

let repo = github.repo("user", "repo");

With a repo instance on hand, you can access a number of sub services, like labels, deployments, pulls, issues, and releases. Each of this are named functions exported from the repo interface.

labels

Labels is a service for tagging resources like issues and pulls with names which you can later group and filter on.

use hubcaps::LabelOptions;

let labels = repo.labels();

// create new labels
println!(
  "{:?}", labels.create(
    &LabelOptions::new(
      "rustic", "ccc"
    )
  ).unwrap()
);

// list labels
for l in labels.list().unwrap() {
  println!("{:?}", l)
}

// delete labels
labels.delete("rustic").unwrap();

deployments

Deployments is a service for orchestating deployments of applications sourced from github repositories

let deployments = repo.deployments();

pulls

Pulls is a service for issuing code change requests against a repository

let pulls = repo.pulls();

issues

Issues is a service for tracking bugs for a repository

let issues = repo.issues();

releases

Releases is a service for tracking changes for a stable releases of a versioned library or application

let releases = repo.releases();

gists

Gists is a service for micro repositories

let gists = github.gists();

Doug Tangren (softprops) 2015-2016