Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vindarel/cl-gitlab
Common Lisp interface to Gitlab's api - mirror of https://gitlab.com/vindarel/cl-gitlab (staling repository, I don't use it)
https://github.com/vindarel/cl-gitlab
common-lisp
Last synced: about 1 month ago
JSON representation
Common Lisp interface to Gitlab's api - mirror of https://gitlab.com/vindarel/cl-gitlab (staling repository, I don't use it)
- Host: GitHub
- URL: https://github.com/vindarel/cl-gitlab
- Owner: vindarel
- Created: 2017-01-31T02:50:20.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-13T02:14:08.000Z (about 7 years ago)
- Last Synced: 2024-10-31T13:17:58.592Z (3 months ago)
- Topics: common-lisp
- Language: Common Lisp
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
¡ don't look ! it's ugly.
* Minimalistic interface to Gitlab's api
A work in progress.
** Authentication
There is no need to authenticate to query public projects.
Otherwise, you will need to manually set the =*private-token*= (until
we implement a better way).Create a token on your Gitlab profile:
[[https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html][https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html]]
and then:: (setf gitlab:access-token "secret")
** Using query params
- Note taken on [2018-01-13 sam. 03:08] \\
room for improvement. It's flexible right now.You can give query parameters as an alist to any request with the
=:params= keyword argument. For example:: (project-issues "user/project" :params '(("state" . "opened")))
** Endpoints
*** Base function: request
With =request method "path" :params (alist) :data= you can access all
the api.: (gitlab:request :GET "/projects")
The other functions are only helpers.
*** Getting a project
: (gitlab:project "username/project")
[[https://docs.gitlab.com/ce/api/projects.html#get-single-project][endpoint documentation]].
*** Getting a project's issues
: (project-issues "user/project" :params '(("state" . "opened")))
See the api documentation for the possible parameters.
Inspired by [[https://gitlab.com/tarsius/glab][glab.el]].
It follows a minimalistic approach so you better read Gitlab's API
documentation: https://docs.gitlab.com/ce/api/ The goal is
that if their API changes, our library doesn't break.