gitlab-haskell-0.3.2.0: A Haskell library for the GitLab web API
Copyright(c) Rob Stewart Heriot-Watt University 2019
LicenseBSD3
Maintainerrobstewart57@gmail.com
Stabilitystable
Safe HaskellNone
LanguageHaskell2010

GitLab

Description

 
Synopsis

Documentation

runGitLab :: GitLabServerConfig -> GitLab a -> IO a Source #

runs a GitLab action.

Internally, this creates a single Manager, whichs keeps track of open connections for keep-alive and which is shared between multiple threads and requests.

An example of its use is:

projectsWithIssuesEnabled :: IO [Project]
projectsWithIssuesEnabled =
  runGitLabyConfig $ filter (issueEnabled . issues_enabled) <$> allProjects
  where
    myConfig = defaultGitLabServer
        { url = "https://gitlab.example.com"
        , token = "my_access_token" }
    issueEnabled Nothing = False
    issueEnabled (Just b) = b

runGitLabPassPrompt :: GitLabServerConfig -> GitLab a -> IO a Source #

The same as runGitLab, except that it prompts for a GitLab access token before running the GitLab action.

In this case you can just use defaultGitLabServer with no modification of the record field values, because these values will be asked for at runtime:

runGitLabPassPrompt defaultGitLabServer myGitLabProgram

runGitLabDbg :: GitLab a -> IO a Source #

Only useful for testing GitLab actions that lift IO actions with liftIO. Cannot speak to a GitLab server. Only useful for the gitlab-haskell tests.

runGitLabWithManager :: Manager -> GitLabServerConfig -> GitLab a -> IO a Source #

The same as runGitLab, except that it also takes a connection manager as an argument.