gitlab-api
See the whole documentation or the coverage report.
Getting started
Install the dependency:
$ npm install @megatherium/gitlab-api
Set up environment variables.
Start using it:
import gitlab from '@megatherium/gitlab-api';
(async() => {
await gitlab.createProject('my-test-project');
})();
Configure an environment variable to give the module access to your GitLab API.
Environment variables
MEGATHERIUM_GITLAB_ACCESS_TOKEN
or GITLAB_TOKEN
- the access token to login to GitLab instanceMEGATHERIUM_GITLAB_BASE_URL
- the base url of the github repository; default: https://gitlab.com/api/v4
API (22)
Exports
- createProject
(pathOrName: string, additionalData?: object): Promise
Creates a new pipeline schedule for a project. - createProjectMember
(projectIdOrName: int | string, userId: int, accessLevel: int, additionalData?: object): Promise<object>
Adds a member to a project. - createProjectPipelineSchedule
(projectIdOrName: int | string, description: string, cron: string, additionalData?: object): Promise
Creates a new project. - createProjectVariable
(projectIdOrName: int | string, variableData: object): Promise
Creates a new variable for a GitLab project. - createProjectVariable
(projectIdOrName: int | string, variableData: object): Promise
Creates a new variable for a GitLab project. - createUserKey
(parameters: object): Promise
Adds a new ssh key to the current user. - getProject
(projectIdOrName: int | string, additionalParameters?: object): Promise
Retrieves the information about a project. - listProjects
(additionalParameters?: object): Promise<Array<object>>
Lists all projects from the current namespace, optionally filtered by parameters. - listProjectMembers
(projectIdOrName: int | string, additionalParameters?: object): Promise<Array<object>>
Lists all the members of a project. - listProjectPipelineSchedules
(projectIdOrName: int | string, additionalParameters?: object): Promise<Array<object>>
Lists the pipeline schedules from a specific project. - listProjectVariables
(projectIdOrName: int | string): Promise<Array<object>>
Lists the variables added to a project. - listUserKeys
(): Promise<Array<object>>
Lists the ssh keys from the current user. - listUsers
(additionalParameters?: object): Promise<Array<object>>
Lists the users. Can be filtered. - request
(method: string, url: string, parameters?: object)
Performs an authenticated API request on the GitLab API. - removeProject
(pathIdOrName: string): Promise
Deletes a project permanently. - removeProjectMember
(projectIdOrName: int | string, userId: int, additionalParameters?: object): Promise
Removes a member from a project. - removeProjectPipelineSchedule
(projectIdOrName: int | string, pipelineScheduleId: int): Promise
Removes a pipeline schedule from a project. - removeProjectVariable
(projectIdOrName: int | string, variableName: string, additionalParameters?: object): Promise
Deletes a variable from a project. - removeUserKey
(int: keyId): Promise
Deletes a key of the current user permanently. - updateProjectMember
(projectIdOrName: int | string, userId: int, accessLevel: int, additionalData?: object): Promise<object>
Updates the member of a project. - updateProjectPipelineSchedule
(projectIdOrName: int | string, pipelineScheduleId: int, additionalData?: object): Promise
Updates a pipeline schedule of a project. - updateProjectVariable
(projectIdOrName: int | string, variableName: string, variableValue: string, additionalData?: object): Promise
Updates the data from a project variable.
Scripts
The following scripts can be executed using npm run
:
build
Builds the module.build-docs
Builds the documentation.build-source
Builds the source code.build-tests
Builds test-cases from jsdoc examples.clear
Clears the module from a previous build.clear-coverage
Clears the coverage reports and caches.clear-docs
Clears the previous documentation build.clear-source
Clears the previous source build.clear-tests
Clears the generated jsdoc example test files.fix
Runs all automated fixes.fix-lint
Automatically fixes linting problems.release
Runs semantic release. Meant to be only executed by the CI, not by human users.test
Executes all tests.test-coverage
Generates coverage reports from the test results using nyc.test-deps
Executes a depcheck.test-e2e
Executes End-to-End-Tests using cucumber.test-integration
Executes integration tests using jest.test-lint
Executes linting tests using eslint.test-unit
Executes unit tests using mocha.update
Checks for dependency updates using renovate.