gitlab api nodejs library
JavaScript CoffeeScript Makefile
Latest commit 714cbef Jan 13, 2017 @lyuzashi lyuzashi committed with dave-irvine Add project share endpoint (#156)

README.md

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

master (unreleased)

  • No entry.

Full commits list

1.7.1 (2016-08-04)

Full commits list

1.7.0 (2016-07-11)

  • Add support for adding a tag to a project
  • Add gitlab.projects.repository.compare()
  • Add support for portion builds API
  • Set slumber version to non-breaking

Full commits list

1.6.0 (2016-05-10)

  • Add function to query all projects as admin
  • Add oauth_token option to authenticate connection
  • Add possibility to showFile by sha id
  • Add support for the GitLab services API
  • Fix undefined assigneeId in merge request (#111)

Full commits list

1.5.0 (2015-11-26)

  • Add Project.edit
  • Add Projects.create_for_user
  • Add ssh key to user
  • Add Projects forks

Thanks to @peteward44, @Sewdn, @ryansouthern and @geeeeeeeeek

Full commits list

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

Full commits list

1.2.0 (2014-12-24)

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

Full commits list

1.1.0 (2014-11-04)

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

Full commits list

1.0.0 (2014-08-19)

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

POC (2012-12-11)

  • POC