gitlab

GitLab API Nodejs library.

node-gitlab

GitLab API Nodejs library. It wraps the HTTP api library described here.

Maintained by Manfred Touron and Dave Irvine

Install

# Install from npm
npm install gitlab

Usage

URL to your GitLab instance should not include /api/v3 path.

# Connection 
gitlab = (require 'gitlab')
  url:   'http://example.com'
  token: 'abcdefghij123456'
 
# Listing users 
gitlab.users.all (users) ->
  console.log "##{user.id}#{user.email}#{user.name}#{user.created_at}" for user in users
 
# Listing projects 
gitlab.projects.all (projects) ->
  for project in projects
    console.log "##{project.id}#{project.name}, path: #{project.path}, default_branch: #{project.default_branch}, private: #{project.private}, owner: #{project.owner.name} (#{project.owner.email}), date: #{project.created_at}"
// Connection 
var gitlab = require('gitlab')({
  url:   'http://example.com',
  token: 'abcdefghij123456'
});
 
// Listing users 
gitlab.users.all(function(users) {
  for (var i = 0; i < users.length; i++) {
    console.log("#" + users[i].id + "" + users[i].email + "" + users[i].name + "" + users[i].created_at);
  }
});
 
// Listing projects 
gitlab.projects.all(function(projects) {
  for (var i = 0; i < projects.length; i++) {
    console.log("#" + projects[i].id + "" + projects[i].name + ", path: " + projects[i].path + ", default_branch: " + projects[i].default_branch + ", private: " + projects[i]["private"] + ", owner: " + projects[i].owner.name + " (" + projects[i].owner.email + "), date: " + projects[i].created_at);
  }
});

See Examples directory for more examples

Develop

Edit the Coffee-Script files in src, then build them using cake build. Use cake watch to build files continuously while developing.

Check out cli-gitlab

MIT

Changelog

  • Coffee rebuild

1.4.0 (2015-08-11)

  • Now using headers for PRIVATE-TOKEN
  • Add Groups.create, Groups.addProject and Groups.search methods
  • Add Projects.remove and Projects.search methods
  • Add UserKeys resource
  • Add Users.search method
  • Rename ProjectMielstones.get to ProjectMilestones.all
  • Handling pagination on multiple new .all() methods
  • Various stability and performance fixes

Thanks to @huhgawz, @ConnorWeng, @langma, @spruce, @stevenorman and @nogs

Full commits list

1.3.0 (2015-02-09)

  • Now handling notes
  • Now handling lables
  • Added Groups.addMember() and Groups.access_levels
  • Checking for permissions
  • Added tests
  • Code cleanup and various small improvements

1.2.0 (2014-12-24)

  • Switched to new organization, some urls changed
  • Improve development tools
  • Cleaned code
  • Changed AddHook parameters
  • Happy Christmas

1.1.0 (2014-11-04)

  • Added project branch support
  • Improved compatibility with API
  • Improved global error handling
  • Rebuilt javascript using latest Coffee-Script

1.0.0 (2014-08-19)

  • Not fully stable, need more tests
  • Now we have a CHANGELOG

POC (2012-12-11)

  • POC