npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@megatherium/gitlab-api

v0.15.1

Published

See the whole [documentation](https://megatherium.gitlab.io/gitlab-api) or the [coverage report](https://megatherium.gitlab.io/gitlab-api/coverage).

Downloads

4

Readme

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 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.