Copyright | (c) Rob Stewart Heriot-Watt University 2019 |
---|---|
License | BSD3 |
Maintainer | robstewart57@gmail.com |
Stability | stable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- allProjects :: MonadIO m => GitLab m [Project]
- projectForks :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m (Either Status [Project])
- searchProjectId :: MonadIO m => Int -> GitLab m (Either Status (Maybe Project))
- projectsWithName :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m [Project]
- projectsWithNameAndUser :: (MonadUnliftIO m, MonadIO m) => Text -> Text -> GitLab m (Either Status (Maybe Project))
- multipleCommitters :: (MonadUnliftIO m, MonadIO m) => Project -> GitLab m Bool
- commitsEmailAddresses :: (MonadUnliftIO m, MonadIO m) => Project -> GitLab m [Text]
- commitsEmailAddresses' :: (MonadUnliftIO m, MonadIO m) => Int -> GitLab m (Either Status [Text])
- userProjects' :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m (Maybe [Project])
- userProjects :: (MonadUnliftIO m, MonadIO m) => User -> GitLab m (Maybe [Project])
- projectOfIssue :: MonadIO m => Issue -> GitLab m Project
- issuesCreatedByUser :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m (Maybe (User, [Project]))
- issuesOnForks :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m [(Project, [Issue], [User])]
- projectMemebersCount :: MonadIO m => Project -> GitLab m (Text, [(Text, Text)])
- projectCISuccess :: MonadIO m => Project -> GitLab m Bool
- namespacePathToUserId :: MonadIO m => Text -> GitLab m (Maybe Int)
- projectDiffs :: MonadIO m => Project -> Text -> GitLab m (Either Status [Diff])
- projectDiffs' :: MonadIO m => Int -> Text -> GitLab m (Either Status [Diff])
- shareProjectWithGroup :: MonadIO m => Int -> Int -> AccessLevel -> GitLab m (Either Status GroupShare)
Documentation
:: (MonadUnliftIO m, MonadIO m) | |
=> Text | name or namespace of the project |
-> GitLab m (Either Status [Project]) |
gets all forks of a project. Supports use of namespaces.
projectForks "project1" projectForks "group1/project1"
:: (MonadUnliftIO m, MonadIO m) | |
=> Text | project name being searched for. |
-> GitLab m [Project] |
gets all projects with the given project name.
projectsWithName "project1"
projectsWithNameAndUser :: (MonadUnliftIO m, MonadIO m) => Text -> Text -> GitLab m (Either Status (Maybe Project)) Source #
gets a project with the given name for the given username. E.g.
projectsNamespaceName "user1" "project1"
looks for "user1/project1"
multipleCommitters :: (MonadUnliftIO m, MonadIO m) => Project -> GitLab m Bool Source #
returns True
if a project has multiple committers, according to
the email addresses of the commits.
commitsEmailAddresses :: (MonadUnliftIO m, MonadIO m) => Project -> GitLab m [Text] Source #
gets the email addresses in the author information in all commit for a project.
commitsEmailAddresses' :: (MonadUnliftIO m, MonadIO m) => Int -> GitLab m (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' :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m (Maybe [Project]) Source #
gets all projects for a user given their username.
userProjects "harry"
userProjects :: (MonadUnliftIO m, MonadIO m) => User -> GitLab m (Maybe [Project]) Source #
gets all projects for a user.
userProjects myUser
issuesCreatedByUser :: (MonadUnliftIO m, MonadIO m) => Text -> GitLab m (Maybe (User, [Project])) Source #
:: (MonadUnliftIO m, MonadIO m) | |
=> Text | name or namespace of the project |
-> GitLab m [(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 :: MonadIO m => Project -> GitLab m (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 :: MonadIO m => Project -> Text -> GitLab m (Either Status [Diff]) Source #
gets all diffs in a project for a given commit SHA.
projectDiffs' :: MonadIO m => Int -> Text -> GitLab m (Either Status [Diff]) Source #
gets all diffs in a project for a given project ID, for a given commit SHA.
shareProjectWithGroup Source #
:: MonadIO m | |
=> Int | group ID |
-> Int | project ID |
-> AccessLevel | level of access granted |
-> GitLab m (Either Status GroupShare) |
share a project with a group.