node-gitlab
GitLab API Nodejs library.
It wraps the HTTP api library described here.
Maintained by Manfred Touron and Dave Irvine
Install
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
var gitlab = require('gitlab')({
url: 'http://example.com',
token: 'abcdefghij123456'
});
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);
}
});
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.
CLI
Check out cli-gitlab
Contributors
License
MIT
Changelog
master (unreleased)
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)
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)