Skip to content

ryansouthern/node-gitlab

 
 

Repository files navigation

node-gitlab

Build Status (Travis) Dependency Status Bitdeli Badge Code Climate

NPM Badge

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.

Coffee-Script

# 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}"

Javascript

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

Gitter chat

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

CLI

Check out cli-gitlab

Contributors

License

MIT

Changelog

1.5.0-dev (unreleased)

  • No entry

1.4.1 (2015-08-11)

  • 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

Packages

No packages published

Languages

  • JavaScript 68.2%
  • CoffeeScript 31.5%
  • Makefile 0.3%