GHub+ is a thick GitHub API client built using
the minuscule GitHub API client.
Tour by Example
;;; GET /issues (ghubp-get-issues) ;;; GET /issues?state=closed (ghubp-get-issues :state 'closed) (let ((repo (ghub-get "/repos/magit/magit"))) (list ;; Magit's issues ;; GET /repos/magit/magit/issues (ghubp-get-repos-owner-repo-issues repo) ;; Magit's closed issues labeled 'easy' ;; GET /repos/magit/magit/issues?state=closed&labels=easy (ghubp-get-repos-owner-repo-issues repo :state 'closed :labels "easy")))
Contributions should be made via pull-request. When it makes sense, be sure your addition works when passing around object-alists. Contributing
This package is a thick client built on
ghub, the miniscule GitHub
client. Its aim is to provide the common functionality most helpful
for application development.
ghub+ is built on
ghub, any and all features you find lacking in
ghub+ can be done with
ghub without needing to dig into either
package’s internals. However,
ghub+ provides some macros you may find
helpful in development; see Extending for details. If you find your
function to be particularly helpful or believe it to be a common use
case, please consider contributing it to the library!
To simplify application development, tools have been developed to shorten repetitive syntax and provide useful syntax for common problems that might not otherwise have good, succinct solutions. Extending
(ghubp-unpaginate &rest BODY)
Wraps the form in a let-binding where
executed here will continue to poll the API until all output has been
These wonderful macros super-charge the standard
functions into documentation-generating, resource-wrapping machines.
Refer to their documentation or see apiwrap.el for a short tutorial in
using these macros.