Coder Social home page Coder Social logo

ghub's Introduction

Minuscule client for the Github API

This library just provides the HTTP methods. See https://developer.github.com/v3 for valid requests.

Initial configuration

$ git config --global github.user <username>
$ emacs ~/.authinfo.gpg
# -*- epa-file-encrypt-to: ("[email protected]") -*-
machine api.github.com login <login> password <token>

To acquire a token, go to https://github.com/settings/tokens. Note that currently the same token is shared by all Emacs packages that use ghub.el.

Usage examples

  • Getting details about a repository:

    (ghub-get "/repos/tarsius/ghub")
  • Listing names of all repositories of a user:

    (--keep (cdr (assq 'name it))
            (let ((ghub-unpaginate t))
               (ghub-get "/users/tarsius/repos")))
  • Making an unauthenticated request:

    (let ((ghub-authenticate nil))
      (ghub-get "/orgs/magit/repos"))
  • Making a request using basic authentication:

    (let ((ghub-authenticate 'basic))
      (ghub-get "/orgs/magit/repos"))

Github Enterprise support

  • Initial configuration:

    $ git config --global github.gh.example.com.user employee
    $ emacs ~/.authinfo.gpg
    # -*- epa-file-encrypt-to: ("[email protected]") -*-
    machine gh.example.com login employee password <token>
    
  • Making a request:

    (let ((ghub-base-url "https://gh.example.com"))
      (ghub-get "/users/employee/repos"))

Alternatives

  • ghub+ is a wrapper around ghub, which provides functions for accessing specific end-points.

  • gh is a more heavy weight implementation which uses Eieio.

  • glab is to Gitlab what ghub is to Github.

ghub's People

Contributors

tarsius avatar vermiculus avatar basil-conto avatar

Watchers

Paul Hankes Drielsma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.