gitlab-haskell-0.3.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.API.Projects

Description

 
Synopsis

Documentation

allProjects :: GitLab [Project] Source #

gets all projects.

projectForks Source #

Arguments

:: Text

name or namespace of the project

-> GitLab (Either Status [Project]) 

gets all forks of a project. Supports use of namespaces.

projectForks "project1"
projectForks "group1/project1"

searchProjectId Source #

Arguments

:: Int

project ID

-> GitLab (Either Status (Maybe Project)) 

searches for a Project with the given project ID, returns Nothing if a project with the given ID is not found.

projectsWithName Source #

Arguments

:: Text

project name being searched for.

-> GitLab [Project] 

gets all projects with the given project name.

projectsWithName "project1"

projectsWithNameAndUser :: Text -> Text -> GitLab (Either Status (Maybe Project)) Source #

gets a project with the given name for the given username. E.g.

projectsWithNameAndUser "user1" "project1"

looks for "user1/project1"

multipleCommitters :: Project -> GitLab Bool Source #

returns True if a project has multiple committers, according to the email addresses of the commits.

commitsEmailAddresses :: Project -> GitLab [Text] Source #

gets the email addresses in the author information in all commit for a project.

commitsEmailAddresses' :: Int -> GitLab (Either Status [Text]) Source #

gets the email addresses in the author information in all commit for a project defined by the project's ID.

userProjects' :: Text -> GitLab (Maybe [Project]) Source #

gets all projects for a user given their username.

userProjects "harry"

userProjects :: User -> GitLab (Maybe [Project]) Source #

gets all projects for a user.

userProjects myUser

projectOfIssue :: Issue -> GitLab Project Source #

gets the Project against which the given Issue was created.

issuesCreatedByUser :: Text -> GitLab (Maybe (User, [Project])) Source #

finds all issues created by a user.

issuesCreatedByUser "user1"

returns a (user,projects) tuple, where user is the User found for the given searched username, and a list of Projects that the user has created issues for.

issuesOnForks Source #

Arguments

:: Text

name or namespace of the project

-> GitLab [(Project, [Issue], [User])] 

searches for all projects with the given name, and returns a list of triples of: 1) the found project, 2) the list of issues for the found projects, and 3) a list of users who've created issues.

projectMemebersCount :: Project -> GitLab (Text, [(Text, Text)]) Source #

returns a (namespace,members) tuple for the given Project, where namespace is the namespace of the project e.g. "user1/project1", and members is a list of (username,name) tuples about all members of the project.

projectCISuccess Source #

Arguments

:: Project

the name or namespace of the project

-> GitLab Bool 

returns True is the last commit for a project passes all continuous integration tests.

namespacePathToUserId Source #

Arguments

:: Text

name or namespace of project

-> GitLab (Maybe Int) 

searches for a username, and returns a user ID for that user, or Nothing if a user cannot be found.

projectDiffs :: Project -> Text -> GitLab (Either Status [Diff]) Source #

gets all diffs in a project for a given commit SHA.

projectDiffs' :: Int -> Text -> GitLab (Either Status [Diff]) Source #

gets all diffs in a project for a given project ID, for a given commit SHA.

addGroupToProject Source #

Arguments

:: Int

group ID

-> Int

project ID

-> AccessLevel

level of access granted

-> GitLab (Either Status (Maybe GroupShare)) 

add a group to a project.