# A Haskell library for the GitLab web API This library interacts with a GitLab server's API. It supports queries about and updates to: * Branches * Commits * Groups * Issues * Jobs * Members * Merge requests * Pipelines * Projects * Repositories * Repository files * Users The library parses JSON results into Haskell data types in the `GitLab.Types` module. ## Example Run all GitLab actions with `runGitLab`: runGitLab :: (MonadUnliftIO m, MonadIO m) => GitLabServerConfig -> GitLab m a -> m a For example: myTodos <- runGitLab (defaultGitLabServer { url = "https://gitlab.example.com" , token="my_token"} ) todos Which uses the `todos` function: todos :: MonadIO m => GitLab m [Todo] This returns all GitLab TODO items, as Haskell values of type `Todo` for the user identified with the access token`my_token`. The `gitlab-tools` command line tool for bulk GitLab transactions uses this library [link](https://gitlab.com/robstewart57/gitlab-tools).