Skip to content
Snippets Groups Projects
Select Git revision
  • 27db9cfbf8ebb6f292a683d8e40a44d8bd4278d0
  • master default
2 results

index.js

Blame
  • 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)`);