🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

gitlab-api-client

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gitlab-api-client

probably the simplest full-featured client for gitlab api

1.0.2
latest
Source
npm
Version published
Maintainers
1
Created
Source

GITLAB API CLIENT DOCUMENTATION

Welcome to gitlab-api-client documentation. This client has been designed to fit in as little lines as possible.

All you have to know is that :

  • This client exposes an HTTP request from the node module request. This means that you can use it like any request based project with a simple callback that takes (err, response, body).

  • All paths are build generically. Once you understand this concept, you will have access to all the gitlab API endpoints, even for those that haven't been defined yet. Isn't life good ? example: gitlab.projects().all() builds the path /projects/all gitlab.projects(1).repository().commits("b4da333ha1") builds the path /projects/1/repository/commits/b4da33sha1.

With this, you can now easily build all the required API paths for your gitlab server.

Configuration

Prior to all this, you should configure your client to use the proper PRIVATE-TOKEN and the correct url. For this, simply pass those when you require the module.

gitlab = require('gitlab')('my-token', 'https://gitlab.com')

GET or POST requests

Now that you have configured your client and that you know how to build a path for any gitlab api resources, the last step is to create a GET and a POST request.

A simple example:

gitlab
 .projects(1)
 .repository()
 .compare()
 .get({from: "master", to:"branch}, function(err, response, diffs) {
   console.log(JSON.stringify(diffs));
   })

This simple emits a GET request with 2 query string parameters on the path /projects/1/repository/compare

If you need to make a call without querystring, make sure to pass undefined.

gitlab
 .projects
 .all()
 .get(undefined, function(err, response, projects) {
   console.log("ALL THE PROJECTS!");
 })

as to make a POST request, follow the same logic:

gitlab
 .projects(1)
 .merge_requests()
 .post({
   source_branch: "branch",
   target_branch: "master",
   title: "A simple merge request"
   },  function(err, response, merge_request) {
   console.log(JSON.stringify(merge_request))
})

Conclusion

Thanks for trying this module. I hope that you will enjoy it. Please, report and idea, comment and bugs that you may find in the issue section of this repo.

Hasta la vista !

Keywords

gitlab

FAQs

Package last updated on 20 Jul 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts