Copyright | (c) Rob Stewart Heriot-Watt University 2019 |
---|---|
License | BSD3 |
Maintainer | robstewart57@gmail.com |
Stability | stable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- allProjects :: GitLab [Project]
- projectForks :: Text -> GitLab (Either Status [Project])
- searchProjectId :: Int -> GitLab (Either Status (Maybe Project))
- projectsWithName :: Text -> GitLab [Project]
- projectsWithNameAndUser :: Text -> Text -> GitLab (Either Status (Maybe Project))
- multipleCommitters :: Project -> GitLab Bool
- commitsEmailAddresses :: Project -> GitLab [Text]
- commitsEmailAddresses' :: Int -> GitLab (Either Status [Text])
- userProjects' :: Text -> GitLab (Maybe [Project])
- userProjects :: User -> GitLab (Maybe [Project])
- projectOfIssue :: Issue -> GitLab Project
- issuesCreatedByUser :: Text -> GitLab (Maybe (User, [Project]))
- issuesOnForks :: Text -> GitLab [(Project, [Issue], [User])]
- projectMemebersCount :: Project -> GitLab (Text, [(Text, Text)])
- projectCISuccess :: Project -> GitLab Bool
- namespacePathToUserId :: Text -> GitLab (Maybe Int)
- projectDiffs :: Project -> Text -> GitLab (Either Status [Diff])
- projectDiffs' :: Int -> Text -> GitLab (Either Status [Diff])
- addGroupToProject :: Int -> Int -> AccessLevel -> GitLab (Either Status (Maybe GroupShare))
Documentation
allProjects :: GitLab [Project] Source #
gets all projects.
gets all forks of a project. Supports use of namespaces.
projectForks "project1" projectForks "group1/project1"
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
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.
returns True
is the last commit for a project passes all
continuous integration tests.
namespacePathToUserId Source #
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.
:: Int | group ID |
-> Int | project ID |
-> AccessLevel | level of access granted |
-> GitLab (Either Status (Maybe GroupShare)) |
add a group to a project.