Select Git revision
index.js 21.10 KiB
const URL = require('url');
const is = require('@sindresorhus/is');
const addrs = require('email-addresses');
const get = require('./gl-got-wrapper');
const hostRules = require('../../util/host-rules');
const GitStorage = require('../git/storage');
const Storage = require('./storage');
let config = {
storage: new Storage(),
};
module.exports = {
getRepos,
cleanRepo,
initRepo,
getRepoStatus,
getRepoForceRebase,
setBaseBranch,
// Search
getFileList,
// Branch
branchExists,
getAllRenovateBranches,
isBranchStale,
getBranchPr,
getBranchStatus,
getBranchStatusCheck,
setBranchStatus,
deleteBranch,
mergeBranch,
getBranchLastCommitTime,
// issue
findIssue,
ensureIssue,
ensureIssueClosing,
addAssignees,
addReviewers,
deleteLabel,
// 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 = hostRules.find({ platform: 'gitlab' }, { token, endpoint });
if (!opts.token) {
throw new Error('No token found for getRepos');
}
hostRules.update({ ...opts, platform: 'gitlab', default: true });