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
orGITLAB_TOKEN
- the access token to login to GitLab instance -
MEGATHERIUM_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.