Gitlab-YAAC( Yet Another Api Client)
Gitlab api client with more control over server response
Motivation
Why one more gitlab api client? Though other project works and return the result as expected but due to poor implementation, less or no control over server response and few other reasons, didn't scale them well.
Design differences also makes this project different.
In the end i need this for my current project.
Features
- asynchronous calls i.e no blocking
- fetches server response as well
- standard callback function argumnets:
function( error, response, result){ ... }
- use what you need. eg.
require('gitlab-yaac/users');
and you'll get users resource available only
Installation
npm install gitlab-yaac
Example
var Users= require("gitlb-yaac/users");
var gUsers = new Users({
url: 'http://example.com',
token: 'abcdefghij123456',
admin: true
});
gUsers.find( function(err,response, results){})
...
gUsers.find("john", function(err, response,results){ });
...
gUsers.find(4, function(err, response,result){
if( response.statusCode !== 404 ){
console.log("user found: ", result);
}
}
});
gUsers.find( {page: 1, per_page: 2}, function(err,res,result){...});
gUsers.find( "username/email", {page:1, per_page: 2}, function(err, res, result){...})
Documentation
find it on wiki
API
GitLab API
Not all resources are implemented yet. Only highlighted ones are currently implemented.
Currently implemented resources are:
Resources
- Users
- Session
- Projects
- Project Snippets
- Repositories
- Repository Files
- Commits
- Branches
- Merge Requests
- Issues
- Labels
- Milestones
- Notes (comments)
- Deploy Keys
- System Hooks
- Groups
References
Roadmap
- TLS/SSL Protocol support
- add more resources
License
MIT