gitlab-haskell: A Haskell library for the GitLab web API
This Haskell library queries and updates the database of a GitLab instance using the GitLab web API: https://docs.gitlab.com/ee/api/
It also features an API for writing Gitlab file hook applications
Run all GitLab actions with runGitLab
:
runGitLab :: => GitLabServerConfig -- ^ the GitLab server details -> GitLab a -- ^ the GitLab action -> IO a
For example:
myProjects <- runGitLab (defaultGitLabServer { url = "https://gitlab.example.com" , token="my_token"} ) (searchUser "joe" >>= userProjects . fromJust)
Which uses the functions:
searchUser :: Text -> GitLab (Maybe User) userProjects :: User -> GitLab (Maybe [Project]) projectCommits :: Project -> GitLab [Commit]
This library can also be used to develop rule based GitLab file hooks that react in real time to GitLab events with:
receive :: [Rule] -> GitLab ()
class (FromJSON a) => SystemHook a where match :: String -> (a -> GitLab ()) -> Rule matchIf :: String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule
For more details about the file hooks support: https://www.macs.hw.ac.uk/~rs46/posts/2020-06-06-gitlab-system-hooks.html
Unsurprisingly, this library is maintained on GitLab: https://gitlab.com/robstewart57/gitlab-haskell
[Skip to Readme]
Downloads
- gitlab-haskell-0.2.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3.0, 0.3.0.1, 0.3.0.2, 0.3.1, 0.3.1.1, 0.3.2.0, 1.0.0.0, 1.0.0.1, 1.0.0.3, 1.0.0.4, 1.0.0.5, 1.0.1.0, 1.0.2.0, 1.0.2.1, 1.0.2.2, 1.1.0.0 |
---|---|
Dependencies | aeson (>=1.4.4.0), base (>=4.7 && <5), bytestring, connection, http-conduit, http-types, temporary, text, time, transformers, unix, unliftio, unliftio-core [details] |
License | BSD-3-Clause |
Copyright | 2020 Rob Stewart, Heriot-Watt University |
Author | Rob Stewart |
Maintainer | robstewart57@gmail.com |
Category | Git |
Home page | https://gitlab.com/robstewart57/gitlab-haskell |
Bug tracker | https://gitlab.com/robstewart57/gitlab-haskell/issues |
Source repo | head: git clone https://gitlab.com/robstewart57/gitlab-haskell |
Uploaded | by RobStewart at 2021-01-15T22:57:15Z |
Distributions | LTSHaskell:1.0.2.2, Stackage:1.1.0.0 |
Downloads | 7893 total (7 in the last 30 days) |
Rating | 2.5 (votes: 3) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2021-01-15 [all 1 reports] |