Select Git revision
index.js 22.55 KiB
const is = require('@sindresorhus/is');
const addrs = require('email-addresses');
const showdown = require('showdown');
const get = require('./gl-got-wrapper');
const endpoints = require('../../util/endpoints');
const converter = new showdown.Converter();
converter.setFlavor('github');
let config = {};
module.exports = {
getRepos,
cleanRepo,
initRepo,
getRepoForceRebase,
setBaseBranch,
// Search
getFileList,
// Branch
branchExists,
getAllRenovateBranches,
isBranchStale,
getBranchPr,
getBranchStatus,
getBranchStatusCheck,
setBranchStatus,
deleteBranch,
mergeBranch,
getBranchLastCommitTime,
// issue
ensureIssue,
ensureIssueClosing,
addAssignees,
addReviewers,
// Comments
ensureComment,
ensureCommentRemoval,
// PR
getPrList,
findPr,
createPr,
getPr,
getPrFiles,
updatePr,
mergePr,
getPrBody,
// file
commitFilesToBranch,
getFile,
// commits
getCommitMessages,
// vulnerability alerts
getVulnerabilityAlerts,
};
// Get all repositories that the user has access to
async function getRepos(token, endpoint) {
logger.info('Autodiscovering GitLab repositories');
logger.debug('getRepos(token, endpoint)');
const opts = endpoints.find({ platform: 'gitlab' }, { token, endpoint });
if (!opts.token) {
throw new Error('No token found for getRepos');
}
endpoints.update({ ...opts, platform: 'gitlab', default: true });
try {
const url = `projects?membership=true&per_page=100`;
const res = await get(url, { paginate: true });
logger.info(`Discovered ${res.body.length} project(s)`);