import { Headers, Response, BaseApiCore, ErrorStrategyOptionType, PlatformImplementation } from '@managed-api/commons-core'; import { AdditionalErrorTypes, CommonError, ErrorStrategyHandlers, ErrorStrategyOption } from './errorStrategy'; import { ErrorStrategyBuilder } from './builders/errorStrategy'; import { AddChangelogRequest, AddChangelogResponseOK, CompareRequest, CompareResponseOK, GenerateChangelogRequest, GenerateChangelogResponseOK, GetBlobRequest, GetBlobResponseOK, GetContributorsRequest, GetContributorsResponseOK, GetFileArchiveRequest, GetFileArchiveResponseOK, GetRawBlobContentRequest, GetRawBlobContentResponseOK, GetRepositoryTreeRequest, GetRepositoryTreeResponseOK, MergeBaseRequest, MergeBaseResponseOK } from './types/repository'; import { CreateFileRequest, CreateFileResponseOK, DeleteFileRequest, DeleteFileResponseOK, GetFileBlameRequest, GetFileBlameResponseOK, GetFileRequest, GetFileResponseOK, GetRawFileRequest, GetRawFileResponseOK, UpdateFileRequest, UpdateFileResponseOK } from './types/repository/file'; import { CherryPickCommitRequest, CherryPickCommitResponseOK, CreateCommentRequest, CreateCommentResponseOK, CreateCommitRequest, CreateCommitResponseOK, GetCommentsRequest, GetCommentsResponseOK, GetCommitDiffRequest, GetCommitDiffResponseOK, GetCommitReferencesRequest, GetCommitReferencesResponseOK, GetCommitRequest, GetCommitResponseOK, GetCommitsRequest, GetCommitsResponseOK, GetDiscussionsRequest, GetDiscussionsResponseOK, GetGPGSignatureRequest, GetGPGSignatureResponseOK, GetMergeRequestsRequest, GetMergeRequestsResponseOK, RevertCommitRequest, RevertCommitResponseOK } from './types/commit'; import { CreateBuildStatusRequest, CreateBuildStatusResponseOK, GetStatusesRequest, GetStatusesResponseOK } from './types/commit/status'; import { CreateEpicRequest, CreateEpicResponseOK, CreateTodoItemRequest, CreateTodoItemResponseOK, DeleteEpicRequest, DeleteEpicResponseOK, GetEpicRequest, GetEpicResponseOK, GetEpicsForGroupRequest, GetEpicsForGroupResponseOK, UpdateEpicRequest, UpdateEpicResponseOK } from './types/epic'; import { CloneIssueRequest, CloneIssueResponseOK, CreateIssueRequest, CreateIssueResponseOK, DeleteIssueRequest, DeleteIssueResponseOK, EditIssueRequest, EditIssueResponseOK, GetGroupIssuesRequest, GetGroupIssuesResponseOK, GetIssueRequest, GetIssueResponseOK, GetIssuesRequest, GetIssuesResponseOK, GetProjectIssueRequest, GetProjectIssueResponseOK, GetProjectIssuesRequest, GetProjectIssuesResponseOK, MoveIssueRequest, MoveIssueResponseOK, ReorderIssueRequest, ReorderIssueResponseOK, SubscribeToIssueRequest, SubscribeToIssueResponseOK, UnsubscribeFromIssueRequest, UnsubscribeFromIssueResponseOK, CreateTodoItemResponseOK as CreateTodoItemResponseOKIssue, CreateTodoItemRequest as CreateTodoItemRequestIssue, PromoteToEpicResponseOK, PromoteToEpicRequest, SetTimeEstimateForIssueResponseOK, SetTimeEstimateForIssueRequest, AddSpentTimeForIssueResponseOK, AddSpentTimeForIssueRequest, ResetSpentTimeForIssueResponseOK, ResetSpentTimeForIssueRequest, GetTimeTrackingStatsForIssueResponseOK, GetTimeTrackingStatsForIssueRequest, GetMergeRequestsRelatedToIssueResponseOK, GetMergeRequestsRelatedToIssueRequest, GetMergeRequestsThatClosedAnIssueResponseOK, GetMergeRequestsThatClosedAnIssueRequest, GetParticipantsResponseOK, GetParticipantsRequest, GetUserAgentDetailsResponseOK, GetUserAgentDetailsRequest, ResetTimeEstimateForIssueResponseOK, ResetTimeEstimateForIssueRequest } from './types/issue'; import { CreateLinkRequest, CreateLinkResponseOK, DeleteLinkRequest, DeleteLinkResponseOK, GetRelationsRequest, GetRelationsResponseOK } from './types/link/issue'; import { CreateBranchRequest, CreateBranchResponseOK, DeleteBranchRequest, DeleteBranchResponseOK, DeleteMergedBranchesRequest, DeleteMergedBranchesResponseOK, GetBranchesRequest, GetBranchesResponseOK, GetBranchRequest, GetBranchResponseOK } from './types/branch'; export interface GitlabApiCoreOptions extends ErrorStrategyOption { } declare type GetGlobalErrorStrategy = () => ErrorStrategyOptionType | undefined; export declare abstract class GitlabApiCore extends BaseApiCore { private options?; All: AllGroup; Repository: RepositoryGroup; Commit: CommitGroup; Epic: EpicGroup; Issue: IssueGroup; Link: LinkGroup; Branch: BranchGroup; constructor(options?: GitlabApiCoreOptions | undefined); setGlobalErrorStrategy(errorStrategy: ErrorStrategyOptionType): void; protected buildResponse(url: string, status: number, statusText: string, headers: Headers, body?: string | ArrayBuffer): Response; private getGlobalErrorStrategy; } declare class AllGroup { private Repository; private Commit; private Epic; private Issue; private Link; private Branch; constructor(Repository: RepositoryGroup, Commit: CommitGroup, Epic: EpicGroup, Issue: IssueGroup, Link: LinkGroup, Branch: BranchGroup); /** * Get a list of repository branches from a project, sorted by name alphabetically. * Alternative usage: Branch.getBranches * Documentation: https://docs.gitlab.com/ee/api/branches.html#list-repository-branches * @param options Request options. */ getBranches(options: GetBranchesRequest): Promise; /** * Get a single project repository branch. * Alternative usage: Branch.getBranch * Documentation: https://docs.gitlab.com/ee/api/branches.html#get-single-repository-branch * @param options Request options. */ getBranch(options: GetBranchRequest): Promise; /** * Create a new branch in the repository. * Alternative usage: Branch.createBranch * Documentation: https://docs.gitlab.com/ee/api/branches.html#create-repository-branch * @param options Request options. */ createBranch(options: CreateBranchRequest): Promise; /** * Delete a branch from the repository. * Alternative usage: Branch.deleteBranch * Documentation: https://docs.gitlab.com/ee/api/branches.html#delete-repository-branch * @param options Request options. */ deleteBranch(options: DeleteBranchRequest): Promise; /** * Deletes all branches that are merged into the project’s default branch. * Alternative usage: Branch.deleteMergedBranches * Documentation: https://docs.gitlab.com/ee/api/branches.html#delete-merged-branches * @param options Request options. */ deleteMergedBranches(options: DeleteMergedBranchesRequest): Promise; /** * Get a list of a given issue’s linked issues, sorted by the relationship creation datetime (ascending). Issues are filtered according to the user authorizations. * Alternative usage: Link.Issue.getRelations * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#list-issue-relations * @param options Request options. */ getIssueLinkRelations(options: GetRelationsRequest): Promise; /** * Creates a two-way relation between two issues. The user must be allowed to update both issues to succeed. * Alternative usage: Link.Issue.createLink * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#create-an-issue-link * @param options Request options. */ createIssueLink(options: CreateLinkRequest): Promise; /** * Deletes an issue link, thus removes the two-way relationship. * Alternative usage: Link.Issue.deleteLink * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#delete-an-issue-link * @param options Request options. */ deleteIssueLink(options: DeleteLinkRequest): Promise; /** * Get all issues the authenticated user has access to. By default it returns only issues created by the current user. To get all issues, use parameter scope=all. * Alternative usage: Issue.getIssues * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-issues * @param options Request options. */ getIssues(options?: GetIssuesRequest): Promise; /** * Get a list of a group’s issues. If the group is private, credentials need to be provided for authorization. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-group-issues * @param options Request options. */ getGroupIssues(options: GetGroupIssuesRequest): Promise; /** * Get a list of a project’s issues. If the project is private, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-project-issues * @param options Request options. */ getProjectIssues(options: GetProjectIssuesRequest): Promise; /** * Only for administrators. Get a single issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#single-issue * @param options Request options. */ getIssue(options: GetIssueRequest): Promise; /** * Get a single project issue. If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#single-project-issue * @param options Request options. */ getProjectIssue(options: GetProjectIssueRequest): Promise; /** * Creates a new project issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#new-issue * @param options Request options. */ createIssue(options: CreateIssueRequest): Promise; /** * Updates an existing project issue. This call is also used to mark an issue as closed. * At least one of the following parameters is required for the request to be successful: * :assignee_id * :assignee_ids * :confidential * :created_at * :description * :discussion_locked * :due_date * :issue_type * :labels * :milestone_id * :state_event * :title * Documentation: https://docs.gitlab.com/ee/api/issues.html#new-issue * @param options Request options. */ editIssue(options: EditIssueRequest): Promise; /** * Only for administrators and project owners. Deletes an issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#delete-an-issue * @param options Request options. */ deleteIssue(options: DeleteIssueRequest): Promise; /** * Reorders an issue, you can see the results when sorting issues manually. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reorder-an-issue * @param options Request options. */ reorderIssue(options: ReorderIssueRequest): Promise; /** * Moves an issue to a different project. * If the target project is the source project or the user has insufficient permissions, an error message with status code 400 is returned. * If a given label or milestone with the same name also exists in the target project, it’s then assigned to the issue being moved. * Documentation: https://docs.gitlab.com/ee/api/issues.html#move-an-issue * @param options Request options. */ moveIssue(options: MoveIssueRequest): Promise; /** * Clone the issue to given project. If the user has insufficient permissions, an error message with status code 400 is returned. * Copies as much data as possible as long as the target project contains equivalent labels, milestones, and so on. * Documentation: https://docs.gitlab.com/ee/api/issues.html#clone-an-issue * @param options Request options. */ cloneIssue(options: CloneIssueRequest): Promise; /** * Subscribes the authenticated user to an issue to receive notifications. * If the user is already subscribed to the issue, the status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#subscribe-to-an-issue * @param options Request options. */ subscribeToIssue(options: SubscribeToIssueRequest): Promise; /** * Unsubscribes the authenticated user from the issue to not receive notifications from it. * If the user is not subscribed to the issue, the status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#unsubscribe-from-an-issue * @param options Request options. */ unsubscribeFromIssue(options: UnsubscribeFromIssueRequest): Promise; /** * Manually creates a to-do item for the current user on an issue. * If there already exists a to-do item for the user on that issue, status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#create-a-to-do-item * @param options Request options. */ createIssueTodoItem(options: CreateTodoItemRequestIssue): Promise; /** * Promotes an issue to an epic by adding a comment with the /promote quick action. * Documentation: https://docs.gitlab.com/ee/api/issues.html#promote-an-issue-to-an-epic * @param options Request options. */ promoteToEpic(options: PromoteToEpicRequest): Promise; /** * Sets an estimated time of work for this issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#set-a-time-estimate-for-an-issue * @param options Request options. */ setTimeEstimateForIssue(options: SetTimeEstimateForIssueRequest): Promise; /** * Resets the estimated time for this issue to 0 seconds. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reset-the-time-estimate-for-an-issue * @param options Request options. */ resetTimeEstimateForIssue(options: ResetTimeEstimateForIssueRequest): Promise; /** * Adds spent time for this issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#add-spent-time-for-an-issue * @param options Request options. */ addSpentTimeForIssue(options: AddSpentTimeForIssueRequest): Promise; /** * Resets the total spent time for this issue to 0 seconds. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reset-spent-time-for-an-issue * @param options Request options. */ resetTimeSpentForIssue(options: ResetSpentTimeForIssueRequest): Promise; /** * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#get-time-tracking-stats * @param options Request options. */ getTimeTrackingStatsForIssue(options: GetTimeTrackingStatsForIssueRequest): Promise; /** * Get all the merge requests that are related to the issue. * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-related-to-issue * @param options Request options. */ getMergeRequestsRelatedToIssue(options: GetMergeRequestsRelatedToIssueRequest): Promise; /** * Get all merge requests that close a particular issue when merged. * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-that-close-a-particular-issue-on-merge * @param options Request options. */ getMergeRequestsThatClosedAnIssue(options: GetMergeRequestsThatClosedAnIssueRequest): Promise; /** * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#participants-on-issues * @param options Request options. */ getIssueParticipants(options: GetParticipantsRequest): Promise; /** * Available only for administrators. * Documentation: https://docs.gitlab.com/ee/api/issues.html#get-user-agent-details * @param options Request options. */ getIssueUserAgentDetails(options: GetUserAgentDetailsRequest): Promise; /** * Gets all epics of the requested group and its subgroups. * Alternative usage: Epic.getEpicsForGroup * Documentation: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group * @param options Request options. */ getEpicsForGroup(options: GetEpicsForGroupRequest): Promise; /** * Gets a single epic. * Alternative usage: Epic.getEpic * Documentation: https://docs.gitlab.com/ee/api/epics.html#single-epic * @param options Request options. */ getEpic(options: GetEpicRequest): Promise; /** * Creates a new epic. * Alternative usage: Epic.createEpic * Documentation: https://docs.gitlab.com/ee/api/epics.html#new-epic * @param options Request options. */ createEpic(options: CreateEpicRequest): Promise; /** * Updates an epic. * Alternative usage: Epic.updateEpic * Documentation: https://docs.gitlab.com/ee/api/epics.html#update-epic * @param options Request options. */ updateEpic(options: UpdateEpicRequest): Promise; /** * Deletes an epic. * Alternative usage: Epic.deleteEpic * Documentation: https://docs.gitlab.com/ee/api/epics.html#delete-epic * @param options Request options. */ deleteEpic(options: DeleteEpicRequest): Promise; /** * Manually creates a to-do item for the current user on an epic. * If there already exists a to-do item for the user on that epic, status code 304 is returned. * Alternative usage: Epic.createTodoItem * Documentation: https://docs.gitlab.com/ee/api/epics.html#create-a-to-do-item * @param options Request options. */ createEpicTodoItem(options: CreateTodoItemRequest): Promise; /** * Get a list of repository commits in a project. * Alternative usage: Commit.getCommits * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-repository-commits * @param options Request options. */ getCommits(options: GetCommitsRequest): Promise; /** * Create a commit by posting a JSON payload. * Alternative usage: Commit.createCommit * Documentation: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * @param options Request options. */ createCommit(options: CreateCommitRequest): Promise; /** * Get a specific commit identified by the commit hash or name of a branch or tag. * Alternative usage: Commit.getCommit * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-a-single-commit * @param options Request options. */ getCommit(options: GetCommitRequest): Promise; /** * Get all references (from branches or tags) a commit is pushed to. * The pagination parameters page and per_page can be used to restrict the list of references. * Alternative usage: Commit.getCommitReferences * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-references-a-commit-is-pushed-to * @param options Request options. */ getCommitReferences(options: GetCommitReferencesRequest): Promise; /** * Cherry-picks a commit to a given branch. * Alternative usage: Commit.cherryPickCommit * Documentation: https://docs.gitlab.com/ee/api/commits.html#cherry-pick-a-commit * @param options Request options. */ cherryPickCommit(options: CherryPickCommitRequest): Promise; /** * Reverts a commit in a given branch. * Alternative usage: Commit.revertCommit * Documentation: https://docs.gitlab.com/ee/api/commits.html#revert-a-commit * @param options Request options. */ revertCommit(options: RevertCommitRequest): Promise; /** * Get the diff of a commit in a project. * Alternative usage: Commit.getCommitDiff * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-diff-of-a-commit * @param options Request options. */ getCommitDiff(options: GetCommitDiffRequest): Promise; /** * Get the comments of a commit in a project. * Alternative usage: Commit.getComments * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-comments-of-a-commit * @param options Request options. */ getCommitComments(options: GetCommentsRequest): Promise; /** * Adds a comment to a commit. * To post a comment in a particular line of a particular file, you must specify the full commit SHA, the path, the line, and line_type should be new. * Alternative usage: Commit.createComment * Documentation: https://docs.gitlab.com/ee/api/commits.html#post-comment-to-commit * @param options Request options. */ createCommitComment(options: CreateCommentRequest): Promise; /** * Get the discussions of a commit in a project. * Alternative usage: Commit.getDiscussions * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-discussions-of-a-commit * @param options Request options. */ getCommitDiscussions(options: GetDiscussionsRequest): Promise; /** * Get a list of merge requests related to the specified commit. * Alternative usage: Commit.getMergeRequests * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-merge-requests-associated-with-a-commit * @param options Request options. */ getCommitMergeRequests(options: GetMergeRequestsRequest): Promise; /** * Get the GPG signature from a commit, if it is signed. * For unsigned commits, it results in a 404 response: https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/index.html * Alternative usage: Commit.getGPGSignature * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-gpg-signature-of-a-commit * @param options Request options. */ getCommitGPGSignature(options: GetGPGSignatureRequest): Promise; /** * List the statuses of a commit in a project. * The pagination parameters page and per_page can be used to restrict the list of references. * Alternative usage: Commit.Status.getStatuses * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-the-statuses-of-a-commit * @param options Request options. */ getCommitStatuses(options: GetStatusesRequest): Promise; /** * Adds or updates a build status of a commit. * Alternative usage: Commit.Status.createBuildStatus * Documentation: https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit * @param options Request options. */ createCommitBuildStatus(options: CreateBuildStatusRequest): Promise; /** * Allows you to receive information about file in repository like name, size, content. File content is Base64 encoded. * Alternative usage: Repository.File.getFile * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository * @param options Request options. */ getFileFromRepository(options: GetFileRequest): Promise; /** * Allows you to receive blame information. * Each blame range contains lines and corresponding commit information. * Alternative usage: Repository.File.getFileBlame * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-file-blame-from-repository * @param options Request options. */ getFileBlameFromRepository(options: GetFileBlameRequest): Promise; /** * Get raw file from repository. * Alternative usage: Repository.File.getRawFile * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository * @param options Request options. */ getRawFileFromRepository(options: GetRawFileRequest): Promise; /** * This allows you to create a single file. * For creating multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Alternative usage: Repository.File.createFile * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository * @param options Request options. */ createFileInRepository(options: CreateFileRequest): Promise; /** * This allows you to update a single file. * For updating multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Alternative usage: Repository.File.updateFile * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository * @param options Request options. */ updateFileInRepository(options: UpdateFileRequest): Promise; /** * This allows you to delete a single file. * For deleting multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Alternative usage: Repository.File.deleteFile * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#delete-existing-file-in-repository * @param options Request options. */ deleteFileInRepository(options: DeleteFileRequest): Promise; /** * Get a list of repository files and directories in a project. * Alternative usage: Repository.getRepositoryTree * Documentation: https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree * @param options Request options. */ getRepositoryTree(options: GetRepositoryTreeRequest): Promise; /** * Allows you to receive information about blob in repository like size and content. Blob content is Base64 encoded. * Alternative usage: Repository.getBlob * Documentation: https://docs.gitlab.com/ee/api/repositories.html#get-a-blob-from-repository * @param options Request options. */ getBlobFromRepository(options: GetBlobRequest): Promise; /** * Get the raw file contents for a blob by blob SHA. * Alternative usage: Repository.getRawBlobContent * Documentation: https://docs.gitlab.com/ee/api/repositories.html#raw-blob-content * @param options Request options. */ getRawBlobContentFromRepository(options: GetRawBlobContentRequest): Promise; /** * Get an archive of the repository. This endpoint has a rate limit threshold of 5 requests per minute for GitLab.com users. * Alternative usage: Repository.getFileArchive * Documentation: https://docs.gitlab.com/ee/api/repositories.html#get-file-archive * @param options Request options. */ getFileArchiveFromRepository(options: GetFileArchiveRequest): Promise; /** * Compare branches, tags or commits. Diffs can have an empty diff string if diff limits are reached. * Alternative usage: Repository.compare * Documentation: https://docs.gitlab.com/ee/api/repositories.html#compare-branches-tags-or-commits * @param options Request options. */ repositoryCompare(options: CompareRequest): Promise; /** * Get repository contributors list. * Alternative usage: Repository.getContributors * Documentation: https://docs.gitlab.com/ee/api/repositories.html#contributors * @param options Request options. */ getRepositoryContributors(options: GetContributorsRequest): Promise; /** * Get the common ancestor for 2 or more refs (commit SHAs, branch names or tags). * Alternative usage: Repository.mergeBase * Documentation: https://docs.gitlab.com/ee/api/repositories.html#merge-base * @param options Request options. */ mergeRepositoryBase(options: MergeBaseRequest): Promise; /** * Generate changelog data based on commits in a repository, without committing them to a changelog file. * Alternative usage: Repository.generateChangelog * Documentation: https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data * @param options Request options. */ generateRepositoryChangelog(options: GenerateChangelogRequest): Promise; /** * Generate changelog data based on commits in a repository. * The output of this process is a new section in a changelog file in the Git repository of the given project. * The output format is in Markdown, and can be customized. * Alternative usage: Repository.addChangelog * Documentation: https://docs.gitlab.com/ee/api/repositories.html#add-changelog-data-to-a-changelog-file * @param options Request options. */ addRepositoryChangelog(options: AddChangelogRequest): Promise; } declare class RepositoryGroup { private implementation; private getGlobalErrorStrategy; File: RepositoryFileGroup; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Get a list of repository files and directories in a project. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree * @param options Request options. */ getRepositoryTree(options: GetRepositoryTreeRequest): Promise; /** * Allows you to receive information about blob in repository like size and content. Blob content is Base64 encoded. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#get-a-blob-from-repository * @param options Request options. */ getBlob(options: GetBlobRequest): Promise; /** * Get the raw file contents for a blob by blob SHA. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#raw-blob-content * @param options Request options. */ getRawBlobContent(options: GetRawBlobContentRequest): Promise; /** * Get an archive of the repository. This endpoint has a rate limit threshold of 5 requests per minute for GitLab.com users. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#get-file-archive * @param options Request options. */ getFileArchive(options: GetFileArchiveRequest): Promise; /** * Compare branches, tags or commits. Diffs can have an empty diff string if diff limits are reached. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#compare-branches-tags-or-commits * @param options Request options. */ compare(options: CompareRequest): Promise; /** * Get repository contributors list. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#contributors * @param options Request options. */ getContributors(options: GetContributorsRequest): Promise; /** * Get the common ancestor for 2 or more refs (commit SHAs, branch names or tags). * Documentation: https://docs.gitlab.com/ee/api/repositories.html#merge-base * @param options Request options. */ mergeBase(options: MergeBaseRequest): Promise; /** * Generate changelog data based on commits in a repository, without committing them to a changelog file. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data * @param options Request options. */ generateChangelog(options: GenerateChangelogRequest): Promise; /** * Generate changelog data based on commits in a repository. * The output of this process is a new section in a changelog file in the Git repository of the given project. * The output format is in Markdown, and can be customized. * Documentation: https://docs.gitlab.com/ee/api/repositories.html#add-changelog-data-to-a-changelog-file * @param options Request options. */ addChangelog(options: AddChangelogRequest): Promise; } declare class RepositoryFileGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Allows you to receive information about file in repository like name, size, content. File content is Base64 encoded. * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository * @param options Request options. */ getFile(options: GetFileRequest): Promise; /** * Allows you to receive blame information. * Each blame range contains lines and corresponding commit information. * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-file-blame-from-repository * @param options Request options. */ getFileBlame(options: GetFileBlameRequest): Promise; /** * Get raw file from repository. * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository * @param options Request options. */ getRawFile(options: GetRawFileRequest): Promise; /** * This allows you to create a single file. * For creating multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository * @param options Request options. */ createFile(options: CreateFileRequest): Promise; /** * This allows you to update a single file. * For updating multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository * @param options Request options. */ updateFile(options: UpdateFileRequest): Promise; /** * This allows you to delete a single file. * For deleting multiple files with a single request see the commits API: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * Documentation: https://docs.gitlab.com/ee/api/repository_files.html#delete-existing-file-in-repository * @param options Request options. */ deleteFile(options: DeleteFileRequest): Promise; } declare class CommitGroup { private implementation; private getGlobalErrorStrategy; Status: CommitStatusGroup; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Get a list of repository commits in a project. * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-repository-commits * @param options Request options. */ getCommits(options: GetCommitsRequest): Promise; /** * Create a commit by posting a JSON payload. * Documentation: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions * @param options Request options. */ createCommit(options: CreateCommitRequest): Promise; /** * Get a specific commit identified by the commit hash or name of a branch or tag. * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-a-single-commit * @param options Request options. */ getCommit(options: GetCommitRequest): Promise; /** * Get all references (from branches or tags) a commit is pushed to. * The pagination parameters page and per_page can be used to restrict the list of references. * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-references-a-commit-is-pushed-to * @param options Request options. */ getCommitReferences(options: GetCommitReferencesRequest): Promise; /** * Cherry-picks a commit to a given branch. * Documentation: https://docs.gitlab.com/ee/api/commits.html#cherry-pick-a-commit * @param options Request options. */ cherryPickCommit(options: CherryPickCommitRequest): Promise; /** * Reverts a commit in a given branch. * Documentation: https://docs.gitlab.com/ee/api/commits.html#revert-a-commit * @param options Request options. */ revertCommit(options: RevertCommitRequest): Promise; /** * Get the diff of a commit in a project. * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-diff-of-a-commit * @param options Request options. */ getCommitDiff(options: GetCommitDiffRequest): Promise; /** * Get the comments of a commit in a project. * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-comments-of-a-commit * @param options Request options. */ getComments(options: GetCommentsRequest): Promise; /** * Adds a comment to a commit. * To post a comment in a particular line of a particular file, you must specify the full commit SHA, the path, the line, and line_type should be new. * Documentation: https://docs.gitlab.com/ee/api/commits.html#post-comment-to-commit * @param options Request options. */ createComment(options: CreateCommentRequest): Promise; /** * Get the discussions of a commit in a project. * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-the-discussions-of-a-commit * @param options Request options. */ getDiscussions(options: GetDiscussionsRequest): Promise; /** * Get a list of merge requests related to the specified commit. * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-merge-requests-associated-with-a-commit * @param options Request options. */ getMergeRequests(options: GetMergeRequestsRequest): Promise; /** * Get the GPG signature from a commit, if it is signed. For unsigned commits, it results in a 404 response: https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/index.html * Documentation: https://docs.gitlab.com/ee/api/commits.html#get-gpg-signature-of-a-commit * @param options Request options. */ getGPGSignature(options: GetGPGSignatureRequest): Promise; } declare class CommitStatusGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * List the statuses of a commit in a project. * The pagination parameters page and per_page can be used to restrict the list of references. * Documentation: https://docs.gitlab.com/ee/api/commits.html#list-the-statuses-of-a-commit * @param options Request options. */ getStatuses(options: GetStatusesRequest): Promise; /** * Adds or updates a build status of a commit. * Documentation: https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit * @param options Request options. */ createBuildStatus(options: CreateBuildStatusRequest): Promise; } declare class EpicGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Gets all epics of the requested group and its subgroups. * Documentation: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group * @param options Request options. */ getEpicsForGroup(options: GetEpicsForGroupRequest): Promise; /** * Gets a single epic. * Documentation: https://docs.gitlab.com/ee/api/epics.html#single-epic * @param options Request options. */ getEpic(options: GetEpicRequest): Promise; /** * Creates a new epic. * Documentation: https://docs.gitlab.com/ee/api/epics.html#new-epic * @param options Request options. */ createEpic(options: CreateEpicRequest): Promise; /** * Updates an epic. * Documentation: https://docs.gitlab.com/ee/api/epics.html#update-epic * @param options Request options. */ updateEpic(options: UpdateEpicRequest): Promise; /** * Deletes an epic. * Documentation: https://docs.gitlab.com/ee/api/epics.html#delete-epic * @param options Request options. */ deleteEpic(options: DeleteEpicRequest): Promise; /** * Manually creates a to-do item for the current user on an epic. * If there already exists a to-do item for the user on that epic, status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/epics.html#create-a-to-do-item * @param options Request options. */ createTodoItem(options: CreateTodoItemRequest): Promise; } declare class IssueGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Get all issues the authenticated user has access to. By default it returns only issues created by the current user. To get all issues, use parameter scope=all. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-issues * @param options Request options. */ getIssues(options?: GetIssuesRequest): Promise; /** * Get a list of a group’s issues. If the group is private, credentials need to be provided for authorization. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-group-issues * @param options Request options. */ getGroupIssues(options: GetGroupIssuesRequest): Promise; /** * Get a list of a project’s issues. If the project is private, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-project-issues * @param options Request options. */ getProjectIssues(options: GetProjectIssuesRequest): Promise; /** * Only for administrators. Get a single issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#single-issue * @param options Request options. */ getIssue(options: GetIssueRequest): Promise; /** * Get a single project issue. If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#single-project-issue * @param options Request options. */ getProjectIssue(options: GetProjectIssueRequest): Promise; /** * Creates a new project issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#new-issue * @param options Request options. */ createIssue(options: CreateIssueRequest): Promise; /** * Updates an existing project issue. This call is also used to mark an issue as closed. * At least one of the following parameters is required for the request to be successful: * :assignee_id * :assignee_ids * :confidential * :created_at * :description * :discussion_locked * :due_date * :issue_type * :labels * :milestone_id * :state_event * :title * Documentation: https://docs.gitlab.com/ee/api/issues.html#new-issue * @param options Request options. */ editIssue(options: EditIssueRequest): Promise; /** * Only for administrators and project owners. Deletes an issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#delete-an-issue * @param options Request options. */ deleteIssue(options: DeleteIssueRequest): Promise; /** * Reorders an issue, you can see the results when sorting issues manually. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reorder-an-issue * @param options Request options. */ reorderIssue(options: ReorderIssueRequest): Promise; /** * Moves an issue to a different project. * If the target project is the source project or the user has insufficient permissions, an error message with status code 400 is returned. * If a given label or milestone with the same name also exists in the target project, it’s then assigned to the issue being moved. * Documentation: https://docs.gitlab.com/ee/api/issues.html#move-an-issue * @param options Request options. */ moveIssue(options: MoveIssueRequest): Promise; /** * Clone the issue to given project. If the user has insufficient permissions, an error message with status code 400 is returned. * Copies as much data as possible as long as the target project contains equivalent labels, milestones, and so on. * Documentation: https://docs.gitlab.com/ee/api/issues.html#clone-an-issue * @param options Request options. */ cloneIssue(options: CloneIssueRequest): Promise; /** * Subscribes the authenticated user to an issue to receive notifications. * If the user is already subscribed to the issue, the status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#subscribe-to-an-issue * @param options Request options. */ subscribeToIssue(options: SubscribeToIssueRequest): Promise; /** * Unsubscribes the authenticated user from the issue to not receive notifications from it. * If the user is not subscribed to the issue, the status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#unsubscribe-from-an-issue * @param options Request options. */ unsubscribeFromIssue(options: UnsubscribeFromIssueRequest): Promise; /** * Manually creates a to-do item for the current user on an issue. * If there already exists a to-do item for the user on that issue, status code 304 is returned. * Documentation: https://docs.gitlab.com/ee/api/issues.html#create-a-to-do-item * @param options Request options. */ createTodoItem(options: CreateTodoItemRequestIssue): Promise; /** * Promotes an issue to an epic by adding a comment with the /promote quick action. * Documentation: https://docs.gitlab.com/ee/api/issues.html#promote-an-issue-to-an-epic * @param options Request options. */ promoteToEpic(options: PromoteToEpicRequest): Promise; /** * Sets an estimated time of work for this issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#set-a-time-estimate-for-an-issue * @param options Request options. */ setTimeEstimateForIssue(options: SetTimeEstimateForIssueRequest): Promise; /** * Resets the estimated time for this issue to 0 seconds. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reset-the-time-estimate-for-an-issue * @param options Request options. */ resetTimeEstimateForIssue(options: ResetTimeEstimateForIssueRequest): Promise; /** * Adds spent time for this issue. * Documentation: https://docs.gitlab.com/ee/api/issues.html#add-spent-time-for-an-issue * @param options Request options. */ addSpentTimeForIssue(options: AddSpentTimeForIssueRequest): Promise; /** * Resets the total spent time for this issue to 0 seconds. * Documentation: https://docs.gitlab.com/ee/api/issues.html#reset-spent-time-for-an-issue * @param options Request options. */ resetSpentTimeForIssue(options: ResetSpentTimeForIssueRequest): Promise; /** * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#get-time-tracking-stats * @param options Request options. */ getTimeTrackingStatsForIssue(options: GetTimeTrackingStatsForIssueRequest): Promise; /** * Get all the merge requests that are related to the issue. * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-related-to-issue * @param options Request options. */ getMergeRequestsRelatedToIssue(options: GetMergeRequestsRelatedToIssueRequest): Promise; /** * Get all merge requests that close a particular issue when merged. * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-that-close-a-particular-issue-on-merge * @param options Request options. */ getMergeRequestsThatClosedAnIssue(options: GetMergeRequestsThatClosedAnIssueRequest): Promise; /** * If the project is private or the issue is confidential, you need to provide credentials to authorize. * Documentation: https://docs.gitlab.com/ee/api/issues.html#participants-on-issues * @param options Request options. */ getParticipants(options: GetParticipantsRequest): Promise; /** * Available only for administrators. * Documentation: https://docs.gitlab.com/ee/api/issues.html#get-user-agent-details * @param options Request options. */ getUserAgentDetails(options: GetUserAgentDetailsRequest): Promise; } declare class LinkGroup { private implementation; private getGlobalErrorStrategy; Issue: LinkIssueGroup; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); } declare class LinkIssueGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Get a list of a given issue’s linked issues, sorted by the relationship creation datetime (ascending). Issues are filtered according to the user authorizations. * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#list-issue-relations * @param options Request options. */ getRelations(options: GetRelationsRequest): Promise; /** * Creates a two-way relation between two issues. The user must be allowed to update both issues to succeed. * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#create-an-issue-link * @param options Request options. */ createLink(options: CreateLinkRequest): Promise; /** * Deletes an issue link, thus removes the two-way relationship. * Documentation: https://docs.gitlab.com/ee/api/issue_links.html#delete-an-issue-link * @param options Request options. */ deleteLink(options: DeleteLinkRequest): Promise; } declare class BranchGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Get a list of repository branches from a project, sorted by name alphabetically. * Documentation: https://docs.gitlab.com/ee/api/branches.html#list-repository-branches * @param options Request options. */ getBranches(options: GetBranchesRequest): Promise; /** * Get a single project repository branch. * Documentation: https://docs.gitlab.com/ee/api/branches.html#get-single-repository-branch * @param options Request options. */ getBranch(options: GetBranchRequest): Promise; /** * Create a new branch in the repository. * Documentation: https://docs.gitlab.com/ee/api/branches.html#create-repository-branch * @param options Request options. */ createBranch(options: CreateBranchRequest): Promise; /** * Delete a branch from the repository. * Documentation: https://docs.gitlab.com/ee/api/branches.html#delete-repository-branch * @param options Request options. */ deleteBranch(options: DeleteBranchRequest): Promise; /** * Deletes all branches that are merged into the project’s default branch. * Documentation: https://docs.gitlab.com/ee/api/branches.html#delete-merged-branches * @param options Request options. */ deleteMergedBranches(options: DeleteMergedBranchesRequest): Promise; } export {}; //# sourceMappingURL=index.d.ts.map