File: ghub.el.html

Ghub provides basic support for using the APIs of various Git forges from Emacs packages. Originally it only supported the Github REST API, but now it also supports the Github GraphQL API as well as the REST APIs of Gitlab, Gitea, Gogs and Bitbucket.

Ghub abstracts access to API resources using only a handful of basic functions such as ghub-get. These are convenience wrappers around ghub-request.

When accessing Github, then Ghub handles the creation and storage of access tokens using a setup wizard to make it easier for users to get started. The tokens for other forges have to be created manually.

Ghub is intentionally limited to only provide these two essential features — basic request functions and guided setup — to avoid being too opinionated, which would hinder wide adoption. It is assumed that wide adoption would make life easier for users and maintainers alike, because then all packages that talk to forge APIs could be configured the same way.

Please consult the manual (info "ghub") for more information.

Defined variables (5)

ghub-debugRecord additional debug information.
ghub-default-host-alistAlist of default hosts used when the respective ‘FORGE.host’ is not set.
ghub-github-token-scopesThe Github API scopes that your private tools need.
ghub-insecure-hostsList of hosts that use http instead of https.
ghub-response-headersThe headers returned in response to the last request.

Defined functions (70)

auth-source-netrc-parse@handle-symlink(FN &rest ARGS)
ghub--auth(HOST AUTH &optional USERNAME FORGE)
ghub--auth-source-get(KEYS &rest SPEC)
ghub--basic-auth(HOST USERNAME)
ghub--decode-payload(&optional STATUS)
ghub--encode-payload(PAYLOAD)
ghub--encode-url(HOST RESOURCE &optional QUERY)
ghub--errorback(ERR HEADERS STATUS REQ)
ghub--git-get(VAR)
ghub--handle-response(STATUS REQ)
ghub--handle-response-error(STATUS PAYLOAD REQ)
ghub--handle-response-headers(STATUS REQ)
ghub--handle-response-payload(REQ)
ghub--handle-response-value(PAYLOAD REQ)
ghub--headers(HEADERS HOST AUTH USERNAME FORGE)
ghub--host(ARG &rest ARGS)
ghub--ident(USERNAME PACKAGE)
ghub--make-req
ghub--make-req--cmacro
ghub--read-json-payload(STATUS &optional JSON-TYPE-ARGS)
ghub--req-buffer(ghub--req-buffer X)
ghub--req-buffer--inliner(INLINE--FORM X)
ghub--req-callback(ghub--req-callback X)
ghub--req-callback--inliner(INLINE--FORM X)
ghub--req-errorback(ghub--req-errorback X)
ghub--req-errorback--inliner(INLINE--FORM X)
ghub--req-extra(ghub--req-extra X)
ghub--req-extra--inliner(INLINE--FORM X)
ghub--req-forge(ghub--req-forge X)
ghub--req-forge--inliner(INLINE--FORM X)
ghub--req-handler(ghub--req-handler X)
ghub--req-handler--inliner(INLINE--FORM X)
ghub--req-headers(ghub--req-headers X)
ghub--req-headers--inliner(INLINE--FORM X)
ghub--req-method(ghub--req-method X)
ghub--req-method--inliner(INLINE--FORM X)
ghub--req-noerror(ghub--req-noerror X)
ghub--req-noerror--inliner(INLINE--FORM X)
ghub--req-p(X)
ghub--req-p--inliner(INLINE--FORM X)
ghub--req-reader(ghub--req-reader X)
ghub--req-reader--inliner(INLINE--FORM X)
ghub--req-silent(ghub--req-silent X)
ghub--req-silent--inliner(INLINE--FORM X)
ghub--req-synchronous(ghub--req-synchronous X)
ghub--req-synchronous--inliner(INLINE--FORM X)
ghub--req-unpaginate(ghub--req-unpaginate X)
ghub--req-unpaginate--inliner(INLINE--FORM X)
ghub--req-url(ghub--req-url X)
ghub--req-url--inliner(INLINE--FORM X)
ghub--req-value(ghub--req-value X)
ghub--req-value--inliner(INLINE--FORM X)
ghub--retrieve(PAYLOAD REQ)
ghub--signal-error(ERR &optional PAYLOAD REQ)
ghub--token(HOST USERNAME PACKAGE &optional NOCREATE FORGE)
ghub--url-encode-params(PARAMS)
ghub--username(ARG &rest ARGS)
ghub-clear-caches()
ghub-continue(REQ)
ghub-delete
ghub-get
ghub-head
ghub-patch
ghub-post
ghub-put
ghub-repository-id
ghub-req-extra(ghub--req-extra X)
ghub-request
ghub-response-link-relations(REQ &optional HEADERS PAYLOAD)
ghub-wait

Defined faces (0)