!2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                            @Haskell records corresponding to JSON data from GitLab API calls-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone7X_.Pgitlab-haskellproject merge requests.@gitlab-haskellfiles in a repository.Lgitlab-haskellcode branches.Vgitlab-haskell+response to sharing a project with a group.]gitlab-haskellgroups.lgitlab-haskell artifacts.rgitlab-haskelljobs.gitlab-haskell repositories.gitlab-haskell commit stats.gitlab-haskell#summary of a code commit for TODOs.gitlab-haskell code commits.gitlab-haskellproject pipelinesgitlab-haskellproject issues.gitlab-haskell time stats.gitlab-haskell milestones.gitlab-haskellregistered users.gitlab-haskell projects. gitlab-haskell permissions.$gitlab-haskellowners.,gitlab-haskelllinks.5gitlab-haskell namespaces.=gitlab-haskellmember of a project.Ggitlab-haskell/configuration data specific to a GitLab server.Jgitlab-haskellpersonal access token, see Chttps://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlKgitlab-haskell millisecondsLgitlab-haskellOhow many times to retry a HTTP request before giving up and returning an error.Mgitlab-haskell.state used by GitLab actions, used internally.Qgitlab-haskell$type synonym for all GitLab actions.Rgitlab-haskelldefault settings, the I and J$ values will need to be overwritten.S  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmonpqrs{tuvwxyz|}~      !"#$%)&'(*+,-./0123456789:;<=>?@ABCDEFGHKJILMNOPQRSQMNOPGHKJILR=>?@ABCDEF56789:;<,-./01234$%)&'(*+ !"#     rs{tuvwxyz|}~lmonpq]^_`abcdefghijkVWXYZ[\LMNOPQRSTU@ABCDEFGHIJK !"#$%&'()*+,-./0123456789:;<=>?  NoneX=gitlab-haskellthe URL to post togitlab-haskellthe data to postgitlab-haskellthe current retry countgitlab-haskellthe GitLab requestgitlab-haskell#maximum number of retries permittedgitlab-haskell HTTP managergitlab-haskell.the exception to report if maximum retries metQueries about registered users-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXEgitlab-haskellall registered users.gitlab-haskell.searches for a user given a username. Returns  Just User" if the user is found, otherwise Nothing.gitlab-haskellesearches for users given a list of usernames, returns them in alphabetical order of their usernames.gitlab-haskellusername to search forgitlab-haskellusernames to search forNoneG@gitlab-haskellGreturns all pending todos for the user, as defined by the access token.&Queries about project repository files-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneQIgitlab-haskell<Get a list of repository files and directories in a project.gitlab-haskellTGet a list of repository files and directories in a project given the project's ID.gitlab-haskell(Get raw data for a given file blob hash.gitlab-haskell the projectgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitgitlab-haskell project IDgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitgitlab-haskell project IDgitlab-haskellblob SHA"Queries about project repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneW7gitlab-haskell@returns a list of repository files and directories in a project.gitlab-haskellVreturns a list of repository files and directories in a project given its project ID.gitlab-haskell the projectgitlab-haskellthe project IDQueries about project pipelines-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone\-gitlab-haskell$returns the pipelines for a project.gitlab-haskell9returns the pipelines for a project given its project ID.gitlab-haskell the projectgitlab-haskellthe project ID-Queries about merge requests against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneasgitlab-haskell)returns the merge requests for a project.gitlab-haskell>returns the merge requests for a project given its project ID.gitlab-haskell the projectgitlab-haskell project ID 0Queries about and updates to members of projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXygitlab-haskell+the access levels for project members. See Lhttps://docs.gitlab.com/ee/user/permissions.html#project-members-permissionsgitlab-haskellthe members of a project.gitlab-haskell&the members of a project given its ID.gitlab-haskelladds a user to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.gitlab-haskelliadds a user to a project with the given access level, given the project's ID and the user's ID. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.gitlab-haskelladds a list of users to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.gitlab-haskellqadds a list of users to a project with the given access level, given the project's ID and the user IDs. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.gitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellthe usergitlab-haskell project IDgitlab-haskelllevel of accessgitlab-haskelluser IDgitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellusers to add to the projectgitlab-haskell project IDgitlab-haskelllevel of accesgitlab-haskell"IDs of users to add to the project   "Queries about jobs ran on projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone~Ggitlab-haskell"returns all jobs ran on a project.gitlab-haskell7returns all jobs ran on a project given its project ID.gitlab-haskell the projectgitlab-haskellthe project ID -Queries about issues created against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXgitlab-haskell%returns all issues against a project.gitlab-haskell:returns all issues against a project given its project ID.gitlab-haskell!gets all issues create by a user.gitlab-haskell the projectgitlab-haskellthe project IDgitlab-haskellthe user #Queries about and updates to groups-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXgitlab-haskell.gets groups with the given group name or path. projectsWithNameOrPath "group1"gitlab-haskell%adds all registered users to a group.gitlab-haskelladds a user to a group.gitlab-haskell,adds a user with a given user ID to a group.gitlab-haskell adds a list of users to a group.gitlab-haskell adds a list of users to a group.gitlab-haskellgroup name being searched for.gitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskellthe usergitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskelluser IDgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell*list of usernames to be added to the groupgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell*list of usernames to be added to the group %Queries about commits in repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone2gitlab-haskell"returns all commits for a project.gitlab-haskell7returns all commits for a project given its project ID.gitlab-haskellQreturns a commit for the given project and commit hash, if such a commit exists.gitlab-haskellTreturns a commit for the given project ID and commit hash, if such a commit exists.gitlab-haskell the projectgitlab-haskell project IDgitlab-haskell the projectgitlab-haskellthe commit hashgitlab-haskell project IDgitlab-haskellthe commit hashQueries about projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXgitlab-haskellgets all projects.gitlab-haskell8gets all forks of a project. Supports use of namespaces. 6projectForks "project1" projectForks "group1/project1"gitlab-haskellsearches for a % with the given project ID, returns - if a project with the given ID is not found.gitlab-haskell.gets all projects with the given project name. projectsWithName "project1"gitlab-haskell@gets a project with the given name for the given username. E.g.  (projectsNamespaceName "user1" "project1"looks for "user1/project1"gitlab-haskellreturns X if a project has multiple committers, according to the email addresses of the commits.gitlab-haskellQgets the email addresses in the author information in all commit for a project. gitlab-haskellmgets the email addresses in the author information in all commit for a project defined by the project's ID. gitlab-haskell(gets all projects for a user's username. userProjects "harry"gitlab-haskell gets the  against which the given  was created.gitlab-haskell#finds all issues created by a user. issuesCreatedByUser "user1"'returns a (user,projects) tuple, where  is the 7 found for the given searched username, and a list of (s that the user has created issues for.gitlab-haskellsearches 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.gitlab-haskell2returns a (namespace,members) tuple for the given , 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.gitlab-haskellreturns K is the last commit for a project passes all continuous integration tests.gitlab-haskellBsearches for a username, and returns a user ID for that user, or  if a user cannot be found. gitlab-haskell3gets all diffs in a project for a given commit SHA.gitlab-haskellLgets all diffs in a project for a given project ID, for a given commit SHA.gitlab-haskellshare a project with a group.gitlab-haskell name or namespace of the projectgitlab-haskell project IDgitlab-haskell project name being searched for.gitlab-haskell name or namespace of the projectgitlab-haskell$the name or namespace of the projectgitlab-haskellname or namespace of project gitlab-haskellgroup IDgitlab-haskell project IDgitlab-haskelllevel of access granted!Queries about repository branches-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneͺgitlab-haskellQGet a list of repository branches from a project, sorted by name alphabetically.gitlab-haskellfGet a list of repository branches from a project given its project ID, sorted by name alphabetically. Contains the  function to run GitLab actions-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone؞gitlab-haskellruns a GitLab action."Internally, this creates a single t, whichs keeps track of open connections for keep-alive and which is shared between multiple threads and requests.An example of its use is: PprojectsWithIssuesEnabled :: IO [Project] projectsWithIssuesEnabled = runGitLab myConfig $ filter (issueEnabled . issues_enabled) <$> allProjects where myConfig = defaultGitLabServer { url = "https://gitlab.example.com" , token = "my_access_token" } issueEnabled Nothing = False issueEnabled (Just b) = b  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmonpqrs{tuvwxyz|}~      !"#$%)&'(*+,-./0123456789:;<=>?@ABCDEFGHKJILMNOPQR !"#$%&'()*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOOPQRSTUVWXYZZ[\]^_`abccdefghiijklmnopqrstuvwwxyz{||}~      !"#$%&'()**+,-./012234567899:;<=>?@ABBCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      "                      +gitlab-haskell-0.1.3-BtRNaEm4fKHEj4Bgrj1raQ GitLab.Types!GitLab.WebRequests.GitLabWebCallsGitLab.API.UsersGitLab.API.TodosGitLab.API.RepositoryFilesGitLab.API.RepositoriesGitLab.API.PipelinesGitLab.API.MergeRequestsGitLab.API.MembersGitLab.API.JobsGitLab.API.IssuesGitLab.API.GroupsGitLab.API.CommitsGitLab.API.ProjectsGitLab.API.BranchesGitLabTodotodo_id todo_project todo_authortodo_action_name todo_targettodo_target_url todo_body todo_statetodo_created_at TodoState TSPendingTSDoneURL TodoTargetTTIssueTTMergeRequestTTCommit TodoAction TAAssigned TAMentioned TABuildFailedTAMarkedTAApprovalRequired TAUnmergeableTADirectlyAddressed MergeRequestmerge_request_idmerge_request_iidmerge_request_project_idmerge_request_titlemerge_request_descriptionmerge_request_statemerge_request_merged_bymerge_request_merged_atmerge_request_closed_bymerge_request_closed_atmerge_request_created_atmerge_request_updated_atmerge_request_target_branchmerge_request_source_branchmerge_request_upvotesmerge_request_downvotesmerge_request_authormerge_request_assigneemerge_request_source_project_idmerge_request_target_project_idmerge_request_labelsmerge_request_work_in_progressmerge_request_milestone*merge_request_merge_when_pipeline_succeedsmerge_request_merge_statusmerge_request_shamerge_request_merge_commit_shamerge_request_user_notes_countmerge_request_discussion_locked)merge_request_should_remove_source_branch(merge_request_force_remove_source_branchmerge_request_web_urlmerge_request_time_statsmerge_request_squash$merge_request_approvals_before_mergeRepositoryFilerepository_file_file_namerepository_file_file_pathrepository_file_sizeencodingcontentcontent_sha256refblob_idrepository_file_commit_idlast_commit_idBranch branch_namemerged protectedbranch_defaultdevelopers_can_pushdevelopers_can_mergecan_push branch_commit GroupShareshare_idshare_project_idshare_group_idshare_group_accessshare_expires_atGroupgroup_id group_name group_pathgroup_descriptiongroup_visibilitygroup_lfs_enabledgroup_avatar_url group_web_urlgroup_request_access_enabledgroup_full_namegroup_full_pathgroup_file_template_project_idgroup_parent_idArtifact file_typesizefilename file_formatJobcommitcoverage created_at started_at finished_atdurationartifacts_expire_atidnamepipelinejob_ref artifactsstagestatustag job_web_urluser Repository repository_idrepository_namerepository_typerepository_pathmodeDiffdiffnew_pathold_patha_modeb_modenew_file renamed_file deleted_file CommitStatsStats additions deletionstotalCommit commit_idshort_idtitle author_name author_email authored_datecommitter_namecommitter_emailcommitted_datecommit_created_atmessage parent_ids last_pipeline commit_stats commit_statusPipeline pipeline_idsha pipeline_refpipeline_statuspipeline_web_urlIssue issue_stateissue_description issue_author milestoneissue_project_id assigneesassignee updated_at closed_at closed_byissue_id issue_titleissue_created_atiid issue_labelsupvotes downvotesuser_notes_countissue_due_date issue_web_url confidentialweightdiscussion_locked time_stats TimeStats time_estimatetotal_time_spenthumane_time_estimatehuman_total_time_spent Milestonemilestone_project_idmilestone_group_idmilestone_descriptionmilestone_statemilestone_due_date milestone_iidmilestone_created_atmilestone_title milestone_idmilestone_updated_atmilestone_web_urlUseruser_id user_username user_name user_stateuser_avatar_uri user_web_url ProjectStats commit_count storage_sizerepository_size wiki_sizelfs_objects_sizejob_artifacts_size packages_sizeProject project_id description project_namename_with_namespace project_pathpath_with_namespaceproject_created_atdefault_branchtag_listssh_url_to_repohttp_url_to_repoproject_web_url readme_urlproject_avatar_url star_count forks_countlast_activity_at namespace_linksarchived visibilityowner!resolve_outdated_diff_discussionscontainer_registry_enabledissues_enabledmerge_requests_enabled wiki_enabled jobs_enabledsnippets_enabledshared_runners_enabled lfs_enabled creator_idforked_from_project import_statusopen_issues_count public_jobsci_config_pathshared_with_groups%only_allow_merge_if_pipeline_succeedsrequest_access_enabled0only_allow_merge_if_all_discussions_are_resolved#printing_merge_request_link_enabled merge_method permissions project_stats Permissionsproject_access group_accessOwnerOwnwerowner_id owner_nameowner_usernamestateowner_avatar_url owner_web_urlLinksselfissuesmerge_requests repo_branches link_labels link_eventsmembers Namespace namespace_idnamespace_namenamespace_pathkind full_path parent_idMember member_id member_namemember_username member_statemember_avatar_urimember_web_url access_level expires_atGitLabServerConfigurltokentimeoutretries GitLabState serverCfg httpManagerdefaultGitLabServer$fFromJSONMember$fFromJSONNamespace$fFromJSONLinks$fFromJSONOwner$fFromJSONPermissions$fFromJSONProjectStats$fFromJSONProject$fFromJSONUser$fFromJSONMilestoneState$fFromJSONTimeStats$fFromJSONPipeline$fFromJSONCommitTodo$fFromJSONCommitStats$fFromJSONCommit$fFromJSONDiff$fFromJSONRepository$fFromJSONArtifact $fFromJSONJob$fFromJSONGroup$fFromJSONGroupShare$fFromJSONBranch$fFromJSONRepositoryFile$fFromJSONTodoAction$fFromJSONMilestone$fFromJSONMergeRequest$fFromJSONIssue$fFromJSONTodoState$fFromJSONTodoProject$fFromJSONTodo$fGenericMember $fShowMember$fGenericNamespace$fShowNamespace$fGenericLinks $fShowLinks$fGenericOwner $fShowOwner$fGenericPermissions$fShowPermissions$fGenericProjectStats$fShowProjectStats$fGenericProject $fShowProject $fGenericUser $fShowUser$fShowMilestoneState$fGenericTimeStats$fShowTimeStats$fGenericPipeline$fShowPipeline$fGenericCommitTodo$fShowCommitTodo$fGenericCommitStats$fShowCommitStats$fGenericCommit $fShowCommit $fGenericDiff $fShowDiff$fGenericRepository$fShowRepository$fGenericArtifact$fShowArtifact $fGenericJob $fShowJob$fGenericGroup $fShowGroup$fGenericGroupShare$fShowGroupShare$fGenericBranch $fShowBranch$fGenericRepositoryFile$fShowRepositoryFile$fShowTodoAction$fGenericMilestone$fShowMilestone$fGenericMergeRequest$fShowMergeRequest$fGenericIssue $fShowIssue$fShowTodoTarget$fShowTodoState$fGenericTodoProject$fShowTodoProject $fShowTodo gitlabPost gitlabReqTextgitlab gitlabOnegitlabWithAttrsgitlabWithAttrsOneallUsers searchUser orderedUserstodosrepositoryFilesrepositoryFiles'repositoryFileBlob repositories repositories' pipelines pipelines' mergeRequestsmergeRequests' AccessLevelGuestReporter Developer MaintainermembersOfProjectmembersOfProject'addMemberToProjectaddMemberToProject'addMembersToProjectaddMembersToProject'$fShowAccessLeveljobsjobs'projectOpenedIssuesprojectOpenedIssues' userIssuesgroupsWithNameOrPathaddAllUsersToGroupaddUserToGroupaddUserToGroup'addUsersToGroupaddUsersToGroup'projectCommitsprojectCommits' commitDetailscommitDetails' allProjects projectForkssearchProjectIdprojectsWithNameprojectsWithNameAndUsermultipleCommitterscommitsEmailAddressescommitsEmailAddresses' userProjects' userProjectsprojectOfIssueissuesCreatedByUser issuesOnForksprojectMemebersCountprojectCISuccessnamespacePathToUserId projectDiffs projectDiffs'shareProjectWithGroupbranches branches' runGitLab CommitTodoMilestoneState tryGitLabbase GHC.MaybeNothingghc-prim GHC.TypesTrue(http-client-0.6.4-6pVd4gOk5ZgHYfLVoL5eHjNetwork.HTTP.Client.TypesManager