node-gitlab-client
Add some feature via our gitlab
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)
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)