Socket
Socket
Sign inDemoInstall

bitbucket-srv-rest

Package Overview
Dependencies
51
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.9.8 to 2.0.0

893

index.js

@@ -1,14 +0,14 @@

var RSVP = require('rsvp');
var request = require('request');
var child_process = require('child_process');
var Q = require('q');
var _ = require('underscore');
var RSVP = require('rsvp')
var request = require('request')
var child_process = require('child_process')
var Q = require('q')
var _ = require('underscore')
var BitbucketRest = function(opts) {
this.baseUrl = opts.baseUrl;
this.gitBaseUrl = opts.gitBaseUrl;
};
var BitbucketRest = function (opts) {
this.baseUrl = opts.baseUrl
this.gitBaseUrl = opts.gitBaseUrl
}
BitbucketRest.prototype.asUser = function (userName, password) {
this.auth = {userName, password}
this.auth = { userName, password }
return this

@@ -24,22 +24,22 @@ }

BitbucketRest.prototype.createProject = function(key, name) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
var uri = self.baseUrl + '/rest/api/1.0/projects';
console.log('create project', uri);
request.post(uri, function(err, res, data) {
BitbucketRest.prototype.createProject = function (key, name) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
var uri = self.baseUrl + '/rest/api/1.0/projects'
console.log('create project', uri)
request.post(uri, function (err, res, data) {
// succeed
resolve(data);
resolve(data)
}).json({
'key': key,
'name': name,
'description': `A Test Project named ${name}.`
}).auth(...self.getAuth(), true);
});
};
'description': `A Test Project named ${name}.`,
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.getProject = function(projectKey) {
BitbucketRest.prototype.getProject = function (projectKey) {
const self = this
return new RSVP.Promise((resolve, reject) => {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '?limit=1000', function(err, res, data) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '?limit=1000', function (err, res, data) {
if (!err) {

@@ -54,7 +54,6 @@ resolve(JSON.parse(data))

BitbucketRest.prototype.getRepos = function(projectKey) {
BitbucketRest.prototype.getRepos = function (projectKey) {
const self = this
return new RSVP.Promise((resolve, reject) => {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos?limit=1000', function(err, res, data) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos?limit=1000', function (err, res, data) {
if (!err) {

@@ -70,3 +69,3 @@ resolve(JSON.parse(data))

BitbucketRest.prototype.getRepo = function(projectKey, repoSlug) {
BitbucketRest.prototype.getRepo = function (projectKey, repoSlug) {
const self = this

@@ -84,8 +83,8 @@ return new RSVP.Promise((resolve, reject) => {

BitbucketRest.prototype.createRepository = function(projectKey, repoName, repoZipPath) {
var self = this;
BitbucketRest.prototype.createRepository = function (projectKey, repoName, repoZipPath) {
var self = this
repoZipPath = repoZipPath || 'src/test/repo.tgz'
const repoPath = repoZipPath.substr(0, repoZipPath.lastIndexOf('.'))
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos', function(err, res, data) {
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos', function (err, res, data) {
// console.log('Created Repository', data);

@@ -99,24 +98,24 @@ console.log('Pushing data from', repoZipPath, repoPath)

'git push origin --all',
function(err, stdout, stderr) {
if (err ){
console.error(err);
function (err, stdout, stderr) {
if (err) {
console.error(err)
reject(err)
}
console.log({stdout, stderr})
resolve(data); // done
});
console.log({ stdout, stderr })
resolve(data) // done
})
}).json({
'name': repoName,
'scmId': 'git',
'forkable': true
}).auth(...self.getAuth(), true);
});
};
'forkable': true,
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.fork = function (projectKey, repoName, forkName, user) {
var self = this;
var self = this
user = user || {
name: 'admin',
password: 'admin'
};
password: 'admin',
}
var deferred = Q.defer()

@@ -131,70 +130,69 @@ console.log('forking', repoName, 'to', forkName)

'project': {
'key': projectKey
}
}).auth(user.name, user.password, true);
return deferred.promise;
};
'key': projectKey,
},
}).auth(user.name, user.password, true)
return deferred.promise
}
BitbucketRest.prototype.createPrivateFork = function(projectKey, repoName, forkName, user) {
var self = this;
BitbucketRest.prototype.createPrivateFork = function (projectKey, repoName, forkName, user) {
var self = this
user = user || {
name: 'admin',
password: 'admin'
};
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos/' + repoName, function(err, res, data) {
if (!err) resolve();
reject();
password: 'admin',
}
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos/' + repoName, function (err, res, data) {
if (!err) resolve()
reject()
}).json({
'name': forkName,
'slug': forkName
}).auth(user.name, user.password, true);
});
};
'slug': forkName,
}).auth(user.name, user.password, true)
})
}
BitbucketRest.prototype.deletePrivateFork = function(projKey, repo) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function(err, res, data) {
console.log('Deleted Repository', projKey, repo);
resolve(); // done
}).auth(...self.getAuth(), true);
});
};
BitbucketRest.prototype.deletePrivateFork = function (projKey, repo) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function (err, res, data) {
console.log('Deleted Repository', projKey, repo)
resolve() // done
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.getForks = function(projectKey, repoName) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos/' + repoName + '/forks', function(err, res, data) {
BitbucketRest.prototype.getForks = function (projectKey, repoName) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + projectKey + '/repos/' + repoName + '/forks', function (err, res, data) {
if (err) {
reject();
reject()
return
}
var forks = JSON.parse(data);
resolve(forks);
}).auth(...self.getAuth(), true);
});
};
var forks = JSON.parse(data)
resolve(forks)
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.searchGroups = function(projId = '', repoId = '', searchFilter = '') {
BitbucketRest.prototype.searchGroups = function (projId = '', repoId = '', searchFilter = '') {
const self = this
const urlParams = ['permission.1=LICENSED_USER']
urlParams.push(`permission.2=${repoId ? 'REPO_READ' : 'PROJECT_READ'}`)
urlParams.push(`permission.2.${repoId ? 'repositoryId='+repoId : 'projectId=' + projId}`)
urlParams.push(`permission.2.${repoId ? 'repositoryId=' + repoId : 'projectId=' + projId}`)
urlParams.push(`filter=${searchFilter}`)
urlParams.push('source.app.key=com.izymes.workzone')
urlParams.push('start=0')
const groupsUrl = self.baseUrl + '/rest/api/latest/groups?' + urlParams.join('&');
const groupsUrl = self.baseUrl + '/rest/api/latest/groups?' + urlParams.join('&')
console.log('searching groups', groupsUrl)
return new Promise((resolve, reject) => request
.get(groupsUrl, function(err, res, data) {
if (!err) {
resolve(JSON.parse(data))
} else {
reject(err)
}
.get(groupsUrl, function (err, res, data) {
if (!err) {
resolve(JSON.parse(data))
} else {
reject(err)
}
})
.auth(...self.getAuth(), true)
)
.auth(...self.getAuth(), true),
)
}

@@ -204,3 +202,3 @@

BitbucketRest.prototype.setGlobalGroupPermission = function (permission = 'LICENSED_USER', group) {
var self = this;
var self = this
return new Promise((resolve, reject) => {

@@ -211,3 +209,3 @@ request.put(`${self.baseUrl}/rest/api/1.0/admin/permissions/groups?permission=${permission}&name=${group}`, function (err, res, data) {

} else {
console.error("setGlobalGroupPermission", err, data)
console.error('setGlobalGroupPermission', err, data)
reject(res.statusCode)

@@ -220,66 +218,64 @@ }

BitbucketRest.prototype.setRepositoryGroupPermissions = function(projKey, repoSlug, group, permission) {
var self = this;
BitbucketRest.prototype.setRepositoryGroupPermissions = function (projKey, repoSlug, group, permission) {
var self = this
permission = permission || 'REPO_WRITE'
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + `/permissions/groups?permission=${permission}&name=${group}`, function(err, res, data) {
console.log(`set repo permissions for group:`, projKey, repoSlug, group, permission);
if (!err) resolve();
else reject();
}).auth(...self.getAuth(), true);
});
};
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + `/permissions/groups?permission=${permission}&name=${group}`, function (err, res, data) {
console.log(`set repo permissions for group:`, projKey, repoSlug, group, permission)
if (!err) resolve()
else reject()
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.deleteRepositoryGroupPermissions = function(projKey, repoSlug, group) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + `/permissions/groups?name=${group}`, function(err, res, data) {
console.log(`delete repo ${projKey}/${repoSlug} permissions for group ${group}`);
if (!err) resolve();
else reject();
}).auth(...self.getAuth(), true);
});
};
BitbucketRest.prototype.deleteRepositoryGroupPermissions = function (projKey, repoSlug, group) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + `/permissions/groups?name=${group}`, function (err, res, data) {
console.log(`delete repo ${projKey}/${repoSlug} permissions for group ${group}`)
if (!err) resolve()
else reject()
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.setRepositoryUserPermissions = function(projKey, repoName, username, permission) {
var self = this;
BitbucketRest.prototype.setRepositoryUserPermissions = function (projKey, repoName, username, permission) {
var self = this
permission = permission || 'REPO_WRITE'
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoName + `/permissions/users?permission=${permission}&name=${username}`, function(err, res, data) {
console.log('set repo write permissions for', projKey, repoName, username, permission);
if (!err) resolve();
else reject();
}).auth(...self.getAuth(), true);
});
};
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoName + `/permissions/users?permission=${permission}&name=${username}`, function (err, res, data) {
console.log('set repo write permissions for', projKey, repoName, username, permission)
if (!err) resolve()
else reject()
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.setProjectGroupPermissions = function(projKey, group, permission) {
var self = this;
BitbucketRest.prototype.setProjectGroupPermissions = function (projKey, group, permission) {
var self = this
permission = permission || 'PROJECT_WRITE'
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + `/permissions/groups?permission=${permission}&name=${group}`, function(err, res, data) {
console.log('set project write permissions for', projKey, group, permission);
if (!err) resolve();
else reject();
}).auth(...self.getAuth(), true);
});
};
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + `/permissions/groups?permission=${permission}&name=${group}`, function (err, res, data) {
console.log('set project write permissions for', projKey, group, permission)
if (!err) resolve()
else reject()
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.setProjectUserPermissions = function(projKey, username, permission) {
var self = this;
BitbucketRest.prototype.setProjectUserPermissions = function (projKey, username, permission) {
var self = this
permission = permission || 'PROJECT_WRITE'
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + `/permissions/users?permission=${permission}&name=${username}`, function(err, res, data) {
console.log('set project write permissions for', projKey, username, permission);
if (!err) resolve();
else reject();
}).auth(...self.getAuth(), true);
});
};
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + `/permissions/users?permission=${permission}&name=${username}`, function (err, res, data) {
console.log('set project write permissions for', projKey, username, permission)
if (!err) resolve()
else reject()
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.createUser = function(user) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
BitbucketRest.prototype.createUser = function (user) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
// console.log('creating user', user);

@@ -291,38 +287,36 @@ request.post(self.baseUrl + '/rest/api/1.0/admin/users?' +

'&emailAddress=' + user.emailAddress,
function(err, res, data) {
// console.log('created user', data);
function (err, res, data) {
// console.log('created user', user);
if (!err) {
resolve(); // done
resolve(data) // done
} else {
console.log(err);
reject();
console.log(err)
reject()
}
}).json({}).auth(...self.getAuth(), true);
});
};
}).json({}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.deleteUser = function(user) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
// console.log('creating user', user);
BitbucketRest.prototype.deleteUser = function (user) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/admin/users?' +
'name=' + user.name,
function(err, res, data) {
console.log('deleted user', data);
function (err, res, data) {
// console.log('deleted user', data);
if (!err) {
resolve(); // done
resolve() // done
} else {
console.log(err);
reject();
console.log(err)
reject()
}
}).json({}).auth(...self.getAuth(), true);
});
};
}).json({}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.getUsers = function(filter) {
BitbucketRest.prototype.getUsers = function (filter) {
const self = this
return new Promise((resolve, reject) => {
request.get(self.baseUrl + '/rest/api/1.0/admin/users?filter=' + filter,
function(err, res, data) {
function (err, res, data) {
if (!err) {

@@ -345,25 +339,25 @@ resolve(data)

*/
BitbucketRest.prototype.addUserGroups = function(user, groups) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
BitbucketRest.prototype.addUserGroups = function (user, groups) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
// console.log(`adding ${user} to ${groups}`)
request.post(self.baseUrl + '/rest/api/1.0/admin/users/add-groups', function(err, res, data) {
request.post(self.baseUrl + '/rest/api/1.0/admin/users/add-groups', function (err, res, data) {
if (!err) {
// console.log(`added ${user} to ${groups}`)
resolve(); // done
resolve() // done
} else {
console.log(err);
reject();
console.log(err)
reject()
}
}).json({
'user': user,
'groups': groups
}).auth(...self.getAuth(), true);
});
};
'groups': groups,
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.createGroup = function(name) {
BitbucketRest.prototype.createGroup = function (name) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/admin/groups?name=' + name, function(err, res, data) {
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/admin/groups?name=' + name, function (err, res, data) {
if (!err) {

@@ -376,33 +370,33 @@ resolve() // done

}).json({}).auth(...self.getAuth(), true)
});
};
})
}
BitbucketRest.prototype.deleteGroup = function(name) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/admin/groups?name=' + name, function(err, res, data) {
BitbucketRest.prototype.deleteGroup = function (name) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/admin/groups?name=' + name, function (err, res, data) {
if (!err) {
resolve(); // done
resolve() // done
} else {
console.log(err);
reject();
console.log(err)
reject()
}
}).json({}).auth(...self.getAuth(), true);
});
};
}).json({}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.deleteProject = function(projectKey) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projectKey, function(err, res, data) {
console.log('Deleted Project', projectKey, data);
resolve(); //done
}).auth(...self.getAuth(), true);
});
};
BitbucketRest.prototype.deleteProject = function (projectKey) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projectKey, function (err, res, data) {
console.log('Deleted Project', projectKey, data)
resolve() //done
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.deleteRepository = function (projKey, repo) {
var self = this;
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function(err, res, data) {
request.del(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function (err, res, data) {
if (err) {

@@ -413,47 +407,64 @@ console.error(err)

}
console.log('Deleted Repository', data);
console.log('Deleted Repository', data)
resolve() // done
}).auth(...self.getAuth(), true);
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.moveRepository = function(projKey, repo, newProjKey, newRepoName) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function(err, res, data) {
console.log('Moved Repository to', newProjKey, newRepoName);
resolve(); // done
BitbucketRest.prototype.moveRepository = function (projKey, repo, newProjKey, newRepoName) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo, function (err, res, data) {
console.log('Moved Repository to', newProjKey, newRepoName)
resolve() // done
}).json({
'name': newRepoName,
'project': {
'key': newProjKey
'key': newProjKey,
},
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.approvePullRequest = function (projKey, repo, prId, userName, pw) {
var self = this
pw = pw || userName
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo + '/pull-requests/' + prId + '/approve', function (err, res, data) {
if (!err && !data.errors) {
console.log('approvePullRequest: PR', prId, 'approved by', userName)
resolve()
return
}
}).auth(...self.getAuth(), true);
});
};
console.log('approve PR error', err, data.errors)
reject()
}).json({}).auth(userName, pw, true)
})
}
BitbucketRest.prototype.approvePullRequest = function(projKey, repo, prId, userName, pw) {
var self = this;
BitbucketRest.prototype.updatePullRequestStatus = function (projKey, repo, prId, status, userName, pw) {
var self = this
pw = pw || userName
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repo + '/pull-requests/' + prId + '/approve', function(err, res, data) {
status = status || 'APPROVED'
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/pull-requests/' + prId + '/participants/' + userName, function (err, res, data) {
if (!err && !data.errors) {
console.log('PR', prId, 'approved by', userName);
resolve();
return;
console.log('updatePullRequestStatus: PR', prId, status, 'by', userName)
resolve()
return
}
console.log('approve PR error', err, data.errors);
reject();
}).json({}).auth(userName, pw, true);
});
};
console.log('updatePullRequestStatus: PR error', err, data.errors)
reject(data.errors)
}).json({ status: status }).auth(userName, pw, true)
})
}
BitbucketRest.prototype.needsWorkPullRequest = function(projKey, repo, prId, userName, userPwd) {
BitbucketRest.prototype.needsWorkPullRequest = function (projKey, repo, prId, userName, userPwd) {
userPwd = userPwd || userName
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/pull-requests/' + prId + '/participants/' + userName, function(err, resp, data) {
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/pull-requests/' + prId + '/participants/' + userName, function (err, resp, data) {
if (!err) {
resolve();
return;
resolve()
return
}

@@ -463,3 +474,3 @@ console.log('needs work update error', err)

}).json({
'status': 'NEEDS_WORK'
'status': 'NEEDS_WORK',
}).auth(userName, userPwd, true)

@@ -469,3 +480,2 @@ })

// this is done with Q promise

@@ -477,3 +487,3 @@ BitbucketRest.prototype.createPR = function (projKey, fromRepo, fromRef, toRepo, toRef, fromProjKeyOpt, asUserOpt, asUserPwdOpt, options) {

options.desc : 'Test description'
var reviewers = options && options.reviewers ?
var reviewers = options && options.reviewers ?
options.reviewers : []

@@ -483,4 +493,4 @@ asUserOpt = asUserOpt || this.getAuth()[0]

var fromProjKey = fromProjKeyOpt || projKey
var self = this;
var deferred = Q.defer();
var self = this
var deferred = Q.defer()
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + toRepo + '/pull-requests', function (err, res, data) {

@@ -508,5 +518,5 @@ if (err) {

'project': {
'key': fromProjKey
}
}
'key': fromProjKey,
},
},
},

@@ -519,33 +529,32 @@ 'toRef': {

'project': {
'key': projKey
}
}
'key': projKey,
},
},
},
'reviewers': reviewers
}).auth(asUserOpt, asUserPwdOpt, true);
'reviewers': reviewers,
}).auth(asUserOpt, asUserPwdOpt, true)
return deferred.promise
};
}
BitbucketRest.prototype.commentPullRequest = function(projKey, repoSlug, id, text, userName, userPassword, severity) {
var self = this;
BitbucketRest.prototype.commentPullRequest = function (projKey, repoSlug, id, text, userName, userPassword, severity) {
var self = this
userName = userName || 'admin'
userPassword = userPassword || 'admin'
severity = severity || "NORMAL"
return new RSVP.Promise(function(resolve, reject) {
console.log('comment PR', id, "by user", userName, userPassword)
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/comments', function(err, res, data) {
severity = severity || 'NORMAL'
return new RSVP.Promise(function (resolve, reject) {
console.log('comment PR', id, 'by user', userName, userPassword)
request.post(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/comments', function (err, res, data) {
if (!err && !data.errors) {
const {id, severity, state} = data
console.log('PR commented resp', {id, severity, state});
resolve(data);
return;
const { id, severity, state } = data
console.log('PR commented resp', { id, severity, state })
resolve(data)
return
}
console.error(err, JSON.stringify(data));
reject();
console.error(err, JSON.stringify(data))
reject()
}).json({
text: text,
severity: severity
}).auth(userName, userPassword, true);
severity: severity,
}).auth(userName, userPassword, true)
})

@@ -555,13 +564,13 @@ }

BitbucketRest.prototype.updatePullRequestComment = function (commentId, version, pullRequestId, projKey,
repoSlug, severity, state, userName, userPassword) {
var self = this;
repoSlug, severity, state, userName, userPassword) {
var self = this
userName = userName || 'admin'
userPassword = userPassword || 'admin'
severity = severity || "NORMAL"
state = state || "OPEN"
severity = severity || 'NORMAL'
state = state || 'OPEN'
return new Promise((resolve, reject) => {
request.put(`${self.baseUrl}/rest/api/1.0/projects/${projKey}/repos/${repoSlug}/pull-requests/${pullRequestId}/comments/${commentId}`, function(err, res, data) {
request.put(`${self.baseUrl}/rest/api/1.0/projects/${projKey}/repos/${repoSlug}/pull-requests/${pullRequestId}/comments/${commentId}`, function (err, res, data) {
if (!err && !data.errors) {
const {id, severity, state} = data
console.log(`PR ${pullRequestId} comment updated resp`, {id, severity, state, userName})
const { id, severity, state } = data
console.log(`PR ${pullRequestId} comment updated resp`, { id, severity, state, userName })
resolve(data)

@@ -573,3 +582,3 @@ return

}).json({
severity, state, version
severity, state, version,
}).auth(userName, userPassword, true)

@@ -579,13 +588,13 @@ })

BitbucketRest.prototype.updatePullRequest = function(id, version, projKey, fromRepo, reviewers, toRef, otherOpts) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
var users = _.map(reviewers, function(name) {
BitbucketRest.prototype.updatePullRequest = function (id, version, projKey, fromRepo, reviewers, toRef, otherOpts) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
var users = _.map(reviewers, function (name) {
return {
user: {
name: name
}
};
});
console.log('updating PR', id, 'version', version, 'users', users, 'options', otherOpts);
name: name,
},
}
})
console.log('updating PR', id, 'version', version, 'users', users, 'options', otherOpts)
var data = {

@@ -595,74 +604,73 @@ 'title': otherOpts && otherOpts.title || 'Test PR',

'reviewers': users,
'version': version
};
'version': version,
}
if (toRef) {
data = _.extend(data, {
toRef: toRef
});
toRef: toRef,
})
}
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + fromRepo + '/pull-requests/' + id, function(err, res, data) {
console.log('PR updated', data.id);
request.put(self.baseUrl + '/rest/api/1.0/projects/' + projKey + '/repos/' + fromRepo + '/pull-requests/' + id, function (err, res, data) {
console.log('PR updated', data.id)
if (!err && !data.errors) {
console.log('PR updated', data.id);
resolve(data);
return;
console.log('PR updated', data.id)
resolve(data)
return
}
console.error(err, JSON.stringify(data));
reject();
}).json(data).auth(...self.getAuth(), true);
console.error(err, JSON.stringify(data))
reject()
}).json(data).auth(...self.getAuth(), true)
});
};
})
}
BitbucketRest.prototype.getPullRequests = function (prjKey, repoSlug, urlParams) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests?' + urlParams, function (err, res, data) {
var prJson = JSON.parse(data)
resolve(prJson)
}).auth(...self.getAuth(), true)
BitbucketRest.prototype.getPullRequests = function(prjKey, repoSlug, urlParams) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests?' + urlParams, function(err, res, data) {
var prJson = JSON.parse(data);
resolve(prJson);
}).auth(...self.getAuth(), true);
})
}
});
};
BitbucketRest.prototype.getPullRequest = function(prjKey, repoSlug, id, action) {
var self = this;
BitbucketRest.prototype.getPullRequest = function (prjKey, repoSlug, id, action) {
var self = this
action = action || ''
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/' + action, function(err, res, data) {
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/' + action, function (err, res, data) {
//console.log(data);
var prJson = JSON.parse(data);
resolve(prJson);
}).auth(...self.getAuth(), true);
var prJson = JSON.parse(data)
resolve(prJson)
}).auth(...self.getAuth(), true)
});
};
})
}
BitbucketRest.prototype.getPullRequestStatus = function(prjKey, repoSlug, id, asUser) {
var self = this;
BitbucketRest.prototype.getPullRequestStatus = function (prjKey, repoSlug, id, asUser) {
var self = this
var action = 'merge'
asUser = asUser || ['admin', 'admin']
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/' + action, function(err, res, data) {
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/pull-requests/' + id + '/' + action, function (err, res, data) {
//console.log(data);
var prJson = JSON.parse(data);
resolve(prJson);
}).auth(...asUser, true);
var prJson = JSON.parse(data)
resolve(prJson)
}).auth(...asUser, true)
});
};
})
}
BitbucketRest.prototype.mergePullRequest = function(prjKey, repoSlug, id, version, userName, pwd) {
var self = this;
BitbucketRest.prototype.mergePullRequest = function (prjKey, repoSlug, id, version, userName, pwd) {
var self = this
userName = userName || 'admin'
pwd = pwd || 'admin'
return new RSVP.Promise(function(resolve, reject) {
const url = `${self.baseUrl}/rest/api/1.0/projects/${prjKey}/repos/${repoSlug}/pull-requests/${id}/merge?version=${version}`;
return new RSVP.Promise(function (resolve, reject) {
const url = `${self.baseUrl}/rest/api/1.0/projects/${prjKey}/repos/${repoSlug}/pull-requests/${id}/merge?version=${version}`
const headers = {
'X-Atlassian-Token': 'no-check'
'X-Atlassian-Token': 'no-check',
}
request.post({
url,
headers
headers,
}, function (err, res, data) {

@@ -674,3 +682,3 @@ // console.log('merge result', data);

}
var prJson = JSON.parse(data);
var prJson = JSON.parse(data)
resolve(prJson)

@@ -681,18 +689,16 @@ } catch (exception) {

}
}).auth(userName, pwd, true);
}).auth(userName, pwd, true)
});
};
})
}
BitbucketRest.prototype.setBranchPermissions = function(prjKey, repoSlug, ref, users, groups) {
users = users || [];
groups = groups || [];
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/branch-permissions/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/restricted', function(err, res, data) {
console.log('Restricted branch', data);
resolve();
})
BitbucketRest.prototype.setBranchPermissions = function (prjKey, repoSlug, ref, users, groups) {
users = users || []
groups = groups || []
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/branch-permissions/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/restricted', function (err, res, data) {
console.log('Restricted branch', data)
resolve()
})
.json({

@@ -702,28 +708,27 @@ 'type': 'BRANCH',

'users': users,
'groups': groups
'groups': groups,
})
.auth(...self.getAuth(), true);
});
};
.auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.getBranches = function (prjKey, repoSlug) {
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/branches', function (err, res, data) {
var branches = JSON.parse(data)
resolve(branches)
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.getBranches = function(prjKey, repoSlug) {
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/1.0/projects/' + prjKey + '/repos/' + repoSlug + '/branches', function(err, res, data) {
var branches = JSON.parse(data);
resolve(branches);
}).auth(...self.getAuth(), true);
});
};
// result = SUCCESSFUL or FAILED or INPROGRESS
BitbucketRest.prototype.sendBuildResult = function(latestFromChangeset, key, result) {
key = key || 'REPO-MASTER-' + new Date().getTime();
BitbucketRest.prototype.sendBuildResult = function (latestFromChangeset, key, result) {
key = key || 'REPO-MASTER-' + new Date().getTime()
result = result || 'SUCCESSFUL'
var self = this;
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/build-status/1.0/commits/' + latestFromChangeset, function(err, res, data) {
console.log('build result sent', result);
resolve();
var self = this
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/build-status/1.0/commits/' + latestFromChangeset, function (err, res, data) {
console.log('build result sent', result)
resolve()
}).json({

@@ -735,18 +740,19 @@ 'state': result,

'url': 'https://bamboo.example.com/browse/REPO-MASTER-42',
'description': 'Changes by John Doe'
}).auth(...self.getAuth(), true);
});
};
'description': 'Changes by John Doe',
}).auth(...self.getAuth(), true)
})
}
// result = SUCCESSFUL or FAILED or INPROGRESS
BitbucketRest.prototype.sendBambooBuildResult = function(projKey, repoSlug, ref, latestFromChangeset, key, result) {
key = key || 'REPO-MASTER-' + new Date().getTime();
BitbucketRest.prototype.sendBambooBuildResult = function (projKey, repoSlug, ref, latestFromChangeset, key, result) {
key = key || 'REPO-MASTER-' + new Date().getTime()
result = result || 'SUCCESSFUL'
var self = this;
let data = !!ref ? {ref: ref} : {}
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + `/rest/api/1.0/projects/${projKey}/repos/${repoSlug}/commits/${latestFromChangeset}/builds` , function(err, res, data) {
console.log('build result sent', result);
resolve();
}).json({...data,
var self = this
let data = !!ref ? { ref: ref } : {}
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + `/rest/api/1.0/projects/${projKey}/repos/${repoSlug}/commits/${latestFromChangeset}/builds`, function (err, res, data) {
console.log('build result sent', result)
resolve()
}).json({
...data,
'state': result,

@@ -758,13 +764,13 @@ // this is just bla bla

'url': 'https://bamboo.example.com/browse/REPO-MASTER-42',
'description': 'Changes by John Doe'
}).auth(...self.getAuth(), true);
});
};
'description': 'Changes by John Doe',
}).auth(...self.getAuth(), true)
})
}
BitbucketRest.prototype.setReviewerGroup = function(projKey, repoSlug = '', reviewerGroup ) {
BitbucketRest.prototype.setReviewerGroup = function (projKey, repoSlug = '', reviewerGroup) {
var self = this
const url = self.baseUrl + `/rest/api/latest/projects/${projKey}${repoSlug ? '/repos/' + repoSlug : ''}/settings/reviewer-groups`
return new Promise((resolve, reject) => request
.post(url, function(err, res, data){
if (!err)
.post(url, function (err, res, data) {
if (!err)
resolve(data)

@@ -775,12 +781,12 @@ else

.json(reviewerGroup)
.auth(...self.getAuth(), true)
.auth(...self.getAuth(), true),
)
}
BitbucketRest.prototype.getReviewerGroups = function(projKey, repoSlug = '' ) {
BitbucketRest.prototype.getReviewerGroups = function (projKey, repoSlug = '') {
var self = this
const url = self.baseUrl + `/rest/api/latest/projects/${projKey}${repoSlug ? '/repos/' + repoSlug : ''}/settings/reviewer-groups`
return new Promise((resolve, reject) => request
.get(url, function(err, res, data){
if (!err)
.get(url, function (err, res, data) {
if (!err)
resolve(data)

@@ -790,13 +796,13 @@ else

})
.auth(...self.getAuth(), true)
.auth(...self.getAuth(), true),
)
}
BitbucketRest.prototype.pullRequestSettings = function(projKey, repo, settings) {
BitbucketRest.prototype.pullRequestSettings = function (projKey, repo, settings) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/settings/pull-requests', function(err, resp, data) {
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/settings/pull-requests', function (err, resp, data) {
if (!err) {
resolve(data)
return;
return
}

@@ -809,9 +815,9 @@ console.error('pull-requests/settings ', err)

BitbucketRest.prototype.getPullRequestSettings = function(projKey, repo) {
BitbucketRest.prototype.getPullRequestSettings = function (projKey, repo) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/settings/pull-requests', function(err, resp, data) {
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/settings/pull-requests', function (err, resp, data) {
if (!err) {
resolve(data)
return;
return
}

@@ -824,6 +830,6 @@ console.error('pull-requests/settings ', err)

BitbucketRest.prototype.getCommits = function(projKey, repo) {
BitbucketRest.prototype.getCommits = function (projKey, repo) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.get(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/commits', function(err, resp, data) {
return new RSVP.Promise(function (resolve, reject) {
request.get(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repo + '/commits', function (err, resp, data) {
if (!err) {

@@ -840,6 +846,6 @@ //console.log('commites raw', data)

BitbucketRest.prototype.addComment = function(projKey, repoSlug, prId, comment) {
BitbucketRest.prototype.addComment = function (projKey, repoSlug, prId, comment) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repoSlug + '/pull-requests/' + prId + '/comments', function(err, resp, data) {
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/projects/' + projKey + '/repos/' + repoSlug + '/pull-requests/' + prId + '/comments', function (err, resp, data) {
//console.log('add comment resp', resp)

@@ -854,3 +860,3 @@ if (!err) {

}).json({
'text': comment
'text': comment,
}).auth(...self.getAuth(), true)

@@ -860,20 +866,20 @@ })

BitbucketRest.prototype.addTask = function(anchorId, taskText) {
BitbucketRest.prototype.addTask = function (anchorId, taskText) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/tasks', function(err, resp, data) {
if (!err) {
// console.log('added task', data)
resolve(data)
return
}
console.error('add task', err)
reject()
}).json({
'anchor': {
'id': anchorId,
'type': 'COMMENT'
},
'text': taskText
})
return new RSVP.Promise(function (resolve, reject) {
request.post(self.baseUrl + '/rest/api/latest/tasks', function (err, resp, data) {
if (!err) {
// console.log('added task', data)
resolve(data)
return
}
console.error('add task', err)
reject()
}).json({
'anchor': {
'id': anchorId,
'type': 'COMMENT',
},
'text': taskText,
})
.auth(...self.getAuth(), true)

@@ -883,17 +889,17 @@ })

BitbucketRest.prototype.completeTask = function(taskId) {
BitbucketRest.prototype.completeTask = function (taskId) {
var self = this
return new RSVP.Promise(function(resolve, reject) {
request.put(self.baseUrl + '/rest/api/latest/tasks/' + taskId, function(err, resp, data) {
if (!err) {
// console.log('complete task', data)
resolve(data)
return
}
console.error('complete task', err)
reject()
}).json({
'id': taskId,
'state': 'RESOLVED'
})
return new RSVP.Promise(function (resolve, reject) {
request.put(self.baseUrl + '/rest/api/latest/tasks/' + taskId, function (err, resp, data) {
if (!err) {
// console.log('complete task', data)
resolve(data)
return
}
console.error('complete task', err)
reject()
}).json({
'id': taskId,
'state': 'RESOLVED',
})
.auth(...self.getAuth(), true)

@@ -903,3 +909,3 @@ })

BitbucketRest.prototype.setMailServer = function(hostname, port, senderddress) {
BitbucketRest.prototype.setMailServer = function (hostname, port, senderddress) {
const self = this

@@ -915,3 +921,3 @@ return new Promise((resolve, reject) => {

})
.json({hostname, port, "sender-address": senderddress})
.json({ hostname, port, 'sender-address': senderddress })
.auth(...self.getAuth(), true)

@@ -921,3 +927,3 @@ })

BitbucketRest.prototype.deleteMailServer = function() {
BitbucketRest.prototype.deleteMailServer = function () {
const self = this

@@ -937,3 +943,3 @@ return new Promise((resolve, reject) => {

BitbucketRest.prototype.getUser = function(username) {
BitbucketRest.prototype.getUser = function (username) {
const self = this

@@ -953,3 +959,2 @@ return new Promise((resolve, reject) => {

module.exports = BitbucketRest
{
"name": "bitbucket-srv-rest",
"version": "1.9.8",
"version": "2.0.0",
"description": "Bitbucket Server REST API Library",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc