!      !"#$%&'()*+,-./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_7.gitlab-haskellTODOs. gitlab-haskell TODO states.gitlab-haskellURL is a synonym for .gitlab-haskell TODO targets.gitlab-haskell TODO actions.gitlab-haskellproject merge requests.Hgitlab-haskellfiles in a repository.Tgitlab-haskellcode branches.^gitlab-haskell+response to sharing a project with a group.egitlab-haskellgroups.tgitlab-haskell artifacts.zgitlab-haskelljobs.gitlab-haskell repositories.gitlab-haskelldiff between two commits.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-haskellmilestone state.gitlab-haskellregistered users.gitlab-haskellproject statistics.gitlab-haskell projects..gitlab-haskell permissions.2gitlab-haskellowners.:gitlab-haskelllinks.Cgitlab-haskell namespaces.Kgitlab-haskellmember of a project.Ugitlab-haskell7archive format for file archives of repositories. See  in .Vgitlab-haskell ".tar.gz"Wgitlab-haskell ".tar.bz2"Xgitlab-haskell".tbz"Ygitlab-haskell".tbz2"Zgitlab-haskell".tb2"[gitlab-haskell".bz2"\gitlab-haskell".tar"]gitlab-haskell".zip"^gitlab-haskell/configuration data specific to a GitLab server.agitlab-haskellpersonal access token, see Chttps://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlbgitlab-haskell millisecondscgitlab-haskellOhow many times to retry a HTTP request before giving up and returning an error.dgitlab-haskell.state used by GitLab actions, used internally.hgitlab-haskell$type synonym for all GitLab actions.igitlab-haskelldefault settings, the ` and a$ values will need to be overwritten.j  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuwvxyz{|}~      !"#$%&'()*+,-./0123745689:;<=>?@ABCDEFGHIJKLMNOPQRSTU]VWXYZ[\^_ba`cdefghijhdefg^_ba`ciU]VWXYZ[\KLMNOPQRSTCDEFGHIJ:;<=>?@AB23745689./01      !"#$%&'()*+,-z{|}~tuwvxyefghijklmnopqrs^_`abcdTUVWXYZ[\]HIJKLMNOPQRS !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG  NoneXHgitlab-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 met     Queries about registered users-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXOgitlab-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 forQueries about todos for users.-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneSgitlab-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.comstableNone]'gitlab-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.comstableNonejgitlab-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-haskell8get a file archive of the repository files. For example: 6getFileArchive myProject TarGz "/tmp/myProject.tar.gz"gitlab-haskellRget a file archive of the repository files using the project's ID. For example: -getFileArchive' 3453 Zip "/tmp/myProject.zip"gitlab-haskell the projectgitlab-haskellthe project IDgitlab-haskellprojectgitlab-haskell file formatgitlab-haskellfile path to store the archivegitlab-haskell project IDgitlab-haskell file formatgitlab-haskellfile path to store the archiveQueries about project pipelines-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneogitlab-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.comstableNonegitlab-haskell)returns the merge requests for a project.gitlab-haskell>returns the merge requests for a project given its project ID.gitlab-haskellCreates a merge request.gitlab-haskellCreates a merge request.gitlab-haskellAccepts a merge request.gitlab-haskellAccepts a merge request.gitlab-haskell the projectgitlab-haskell project IDgitlab-haskellprojectgitlab-haskell source branchgitlab-haskell target branchgitlab-haskelltarget project IDgitlab-haskellmerge request titlegitlab-haskellmerge request descriptiongitlab-haskell project IDgitlab-haskell source branchgitlab-haskell target branchgitlab-haskelltarget project IDgitlab-haskellmerge request titlegitlab-haskellmerge request descriptiongitlab-haskellprojectgitlab-haskellmerge request IIDgitlab-haskell project IDgitlab-haskellmerge request IID0Queries about and updates to members of projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXQgitlab-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.comstableNonegitlab-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.comstableNoneX gitlab-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.comstableNoneXjgitlab-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.comstableNone~gitlab-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 hash Queries about projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneX@gitlab-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-haskell2gets all projects for a user given their username. userProjects "harry"gitlab-haskellgets all projects for a user. userProjects myUsergitlab-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.comstableNone4gitlab-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.comstableNonegitlab-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[\]^_`abcdefghijklmnopqrstuwvxyz{|}~      !"#$%&'()*+,-./0123745689:;<=>?@ABCDEFGHIJKLMNOPQRSTU]VWXYZ[\^_ba`cdefghi !"#$%&'()*+,-../0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]^_`abcdeefghijklmnnopqrsttuvwxyz{|}~      !"#$%&'()*+,-.//0123456789::;<=>?@ABBCDEFGHIIJKLMNOPQRSTUVWXYZ[[\]^_``abcdefghijklmnopqrstuvwxyz{|}~2                                       +gitlab-haskell-0.1.5-9r1zRclkZIP120H0sy6GXK GitLab.TypesGitLab.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.BranchesGitLabgetFileArchive GitLab.API Repositories!GitLab.WebRequests.GitLabWebCallsTodotodo_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_branch!merge_request_allow_collaboration&merge_request_allow_maintainer_to_pushmerge_request_web_urlmerge_request_time_statsmerge_request_squashmerge_request_changes_countmerge_request_pipeline$merge_request_diverged_commits_count merge_request_rebase_in_progressmerge_request_has_conflicts+merge_request_blocking_discussions_resolved$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 deletionstotal CommitTodotodo_commit_idtodo_commit_short_idtodo_commit_created_attodo_parent_idsCommit 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_at ArchiveFormatTarGzTarBz2TbzTbz2Tb2Bz2TarZipGitLabServerConfigurltokentimeoutretries GitLabState serverCfg httpManagerdefaultGitLabServer$fShowArchiveFormat$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 $fShowTodoallUsers searchUser orderedUserstodosrepositoryFilesrepositoryFiles'repositoryFileBlob repositories repositories'getFileArchive' pipelines pipelines' mergeRequestsmergeRequests'createMergeRequestcreateMergeRequest'acceptMergeRequestacceptMergeRequest' AccessLevelGuestReporter Developer MaintainermembersOfProjectmembersOfProject'addMemberToProjectaddMemberToProject'addMembersToProjectaddMembersToProject'$fShowAccessLeveljobsjobs'projectOpenedIssuesprojectOpenedIssues' userIssuesgroupsWithNameOrPathaddAllUsersToGroupaddUserToGroupaddUserToGroup'addUsersToGroupaddUsersToGroup'projectCommitsprojectCommits' commitDetailscommitDetails' allProjects projectForkssearchProjectIdprojectsWithNameprojectsWithNameAndUsermultipleCommitterscommitsEmailAddressescommitsEmailAddresses' userProjects' userProjectsprojectOfIssueissuesCreatedByUser issuesOnForksprojectMemebersCountprojectCISuccessnamespacePathToUserId projectDiffs projectDiffs'shareProjectWithGroupbranches branches' runGitLab text-1.2.3.1Data.Text.InternalTextMilestoneState gitlabPost tryGitLab gitlabReqTextgitlabReqByteStringgitlab gitlabOnegitlabWithAttrsgitlabWithAttrsOnebase GHC.MaybeNothingghc-prim GHC.TypesTrue(http-client-0.6.4-7AJzgbMg6dwDfhGgHOM8UTNetwork.HTTP.Client.TypesManager