Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vermiculus/ghub-plus
Wrappers for GitHub API resources built on ghub
https://github.com/vermiculus/ghub-plus
api-wrapper emacs github
Last synced: 3 months ago
JSON representation
Wrappers for GitHub API resources built on ghub
- Host: GitHub
- URL: https://github.com/vermiculus/ghub-plus
- Owner: vermiculus
- Created: 2017-02-23T04:38:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-12-29T17:48:22.000Z (almost 5 years ago)
- Last Synced: 2024-04-26T01:32:14.008Z (7 months ago)
- Topics: api-wrapper, emacs, github
- Language: Emacs Lisp
- Homepage:
- Size: 101 KB
- Stars: 20
- Watchers: 3
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+Title: GHub+ [[https://travis-ci.org/vermiculus/ghub-plus][https://travis-ci.org/vermiculus/ghub-plus.svg?branch=master]] [[https://melpa.org/#/ghub%2B][file:https://melpa.org/packages/ghub+-badge.svg]]
GHub+ is a thick GitHub API client built using =API-Wrap.el= on =ghub=,
[[https://github.com/tarsius/ghub][the minuscule GitHub API client]].* Tour by Example
#+BEGIN_SRC elisp
;;; 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")))
#+END_SRC* Contributing
:PROPERTIES:
:ID: 1F4644C5-72AC-49DA-A83C-443AA7F9651E
:END:
Contributions should be made via pull-request. When it makes sense,
be sure your addition works when passing around object-alists.* Introduction
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.Since =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 [[id:7208D9BD-1524-4701-A061-70861C5376DA][Extending]] for details. If you find your
function to be particularly helpful or believe it to be a common use
case, please consider [[id:1F4644C5-72AC-49DA-A83C-443AA7F9651E][contributing]] it to the library!* Extending
:PROPERTIES:
:ID: 7208D9BD-1524-4701-A061-70861C5376DA
:END:
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.** ~(ghubp-unpaginate &rest BODY)~
Wraps the form in a let-binding where ~ghub-unpaginate~ is ~t~. Forms
executed here will continue to poll the API until all output has been
received.** ~(defapi{get,put,head,post,patch,delete}-ghubp ...)~
These wonderful macros super-charge the standard ~ghub-{get,put,...}~
functions into documentation-generating, resource-wrapping machines.
Refer to their documentation or see [[https://github.com/vermiculus/apiwrap.el#using-the-generated-macros][apiwrap.el]] for a short tutorial in
using these macros.
# Local Variables:
# org-id-link-to-org-use-id: t
# End: