@hackage gitlab-haskell0.1.5

A Haskell library for the GitLab web API

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 tokenmy_token.

The gitlab-tools command line tool for bulk GitLab transactions uses this library link.