Options
All
  • Public
  • Public/Protected
  • All
Menu

GitLab API

Hierarchy

  • Api

Index

Constructors

constructor

  • new Api(rootUrl: string, privateToken: string): Api
  • Instantiate new GitLab API

    Parameters

    • rootUrl: string

      Root URL of the GitLab API

    • privateToken: string

      Private token for the GitLab API

    Returns Api

Properties

Private privateToken

privateToken: any

Private token

Private rootUrl

rootUrl: any

Root url

Methods

addMember

  • Add member to a group or a project

    Parameters

    • scope: MembershipScope

      MembershipScope of the ID

    • id: number

      ID of the group or project

    • userId: number

      ID of the user

    • accessLevel: AccessLevel

      Access level for the new member in the scope

    Returns Promise<Member>

createIssue

  • createIssue(projectId: number, title: string, description: string): Promise<Issue>
  • Create an issue in GitLab

    Parameters

    • projectId: number

      ID of the project to create the issue in

    • title: string

      Title of the issue

    • description: string

      Description of the issue (can contain slash commands)

    Returns Promise<Issue>

createLabel

  • createLabel(projectId: number, name: string, description?: undefined | string, color?: undefined | string): Promise<Label>
  • Create a new label

    Parameters

    • projectId: number

      ID of the project to create the label in

    • name: string

      Name of the label to create

    • Optional description: undefined | string

      Description of the label to create

    • Optional color: undefined | string

      Color of the label to create

    Returns Promise<Label>

createMilestone

  • createMilestone(projectId: number, title: string): Promise<void>
  • Create a milestone in a project

    Parameters

    • projectId: number

      Project ID to create milestone in

    • title: string

      Title of the milestone to create

    Returns Promise<void>

createNote

  • createNote(projectId: number, scope: Scope, iid: number, body: string): Promise<void>
  • Create a note (comment) in an issue/merge request

    Parameters

    • projectId: number

      Project ID, the issue belongs to

    • scope: Scope

      Scope of the note

    • iid: number

      IID of the issue/merge request to create the note in

    • body: string

      Body of the note to create

    Returns Promise<void>

deleteLabel

  • deleteLabel(projectId: number, name: string): Promise<void>
  • Delete a label

    Parameters

    • projectId: number

      ID of the project to delete the label from

    • name: string

      Name of the label to delete

    Returns Promise<void>

deleteMember

  • deleteMember(scope: MembershipScope, id: number, userId: number): Promise<void>
  • Delete a member from a group or a project

    Parameters

    • scope: MembershipScope

      MembershipScope of the ID

    • id: number

      ID of the group or project

    • userId: number

      ID of the user

    Returns Promise<void>

editLabel

  • editLabel(projectId: number, name: string, newValues: Partial<Label>): Promise<Label>
  • Edit an existing label

    Parameters

    • projectId: number

      ID of the project to edit the label in

    • name: string

      Name of the label to edit

    • newValues: Partial<Label>

      New values for the label

    Returns Promise<Label>

editMember

  • Edit member in a group or a project

    Parameters

    • scope: MembershipScope

      MembershipScope of the ID

    • id: number

      ID of the group or project

    • userId: number

      ID of the user

    • accessLevel: AccessLevel

      Access level for the member in the scope

    Returns Promise<Member>

getBranchesForProject

  • getBranchesForProject(projectId: number): Promise<Branch[]>
  • Get branches for a project

    Parameters

    • projectId: number

      Project ID to get branches for

    Returns Promise<Branch[]>

getFile

  • getFile(projectId: number, filePath: string, commitish: string): Promise<any>
  • Get a file from GitLab

    Parameters

    • projectId: number

      ID of the project the file belongs to

    • filePath: string

      Path to the file - url encoded

    • commitish: string

      Commitish of the file

    Returns Promise<any>

getFileList

  • getFileList(projectId: number): Promise<TreeFile[]>
  • Get a list of files

    Parameters

    • projectId: number

      ID of the project

    Returns Promise<TreeFile[]>

getIssues

  • Get issues

    Parameters

    Returns Promise<Issue[]>

getLabels

  • getLabels(projectId: number): Promise<Label[]>
  • Get labels of a project

    Parameters

    • projectId: number

      ID of the project to get the labels for

    Returns Promise<Label[]>

getMembers

  • Get members of a group or a project

    Parameters

    • scope: MembershipScope

      MembershipScope of the ID

    • id: number

      ID of the group or project

    Returns Promise<Member[]>

getMergeRequestApproval

  • getMergeRequestApproval(projectId: number, mergeRequestIid: number): Promise<MergeRequestApproval>
  • Get a merge request approval

    Parameters

    • projectId: number

      ID of the project the merge request belongs to

    • mergeRequestIid: number

      IID of the merge request

    Returns Promise<MergeRequestApproval>

getMergeRequestDiscussions

  • getMergeRequestDiscussions(projectId: number, mergeRequestIid: number): Promise<Discussion[]>
  • Get discussions of a merge request

    Parameters

    • projectId: number

      ID of the project the merge request belongs to

    • mergeRequestIid: number

      IID of the merge request

    Returns Promise<Discussion[]>

getMergeRequests

  • Get merge requests of a group or a project

    Parameters

    Returns Promise<MergeRequest[]>

getMilestonesForProject

  • getMilestonesForProject(projectId: number): Promise<Milestone[]>
  • Get milestones for a project

    Parameters

    • projectId: number

      Project ID to get milestones for

    Returns Promise<Milestone[]>

getProjectsForGroup

  • getProjectsForGroup(groupId: number): Promise<Project[]>
  • Get projects for a group

    Parameters

    • groupId: number

      Group ID to get projects for

    Returns Promise<Project[]>

getSubGroupsForGroup

  • getSubGroupsForGroup(groupId: number): Promise<Group[]>
  • Get sub groups of a group

    Parameters

    • groupId: number

      Group ID to get subgroups for

    Returns Promise<Group[]>

getTags

  • getTags(projectId: number): Promise<Tag[]>
  • Get tags of a project

    Parameters

    • projectId: number

      ID of the project to get the tags for

    Returns Promise<Tag[]>

makeGitLabAPIRequest

  • Query a GitLab API URL

    Parameters

    • url: string

      GitLab API URL to query

    • Optional _options: ApiRequestOptions

      HTTP method/verb

    Returns Promise<any>

protectBranch

  • protectBranch(projectId: number, branch: string): Promise<Branch>
  • Protect a branch

    Parameters

    • projectId: number

      ID of the project the branch belongs to

    • branch: string

      Branch to protect

    Returns Promise<Branch>

setAssigneeForIssue

  • setAssigneeForIssue(issue: Issue, userId: number): Promise<Issue>
  • Set assignee for an issue

    Parameters

    • issue: Issue

      Issue to set milestone for

    • userId: number

      ID of the milestone to set for the issue

    Returns Promise<Issue>

setMilestoneForIssue

  • setMilestoneForIssue(issue: Issue, milestoneId: number): Promise<Issue>
  • Set milestone for an issue

    Parameters

    • issue: Issue

      Issue to set milestone for

    • milestoneId: number

      ID of the milestone to set for the issue

    Returns Promise<Issue>

Generated using TypeDoc