Skip to content
Snippets Groups Projects
Select Git revision
  • 6237a7f4a337f6999a100871d56339c2e8210b5c
  • master default
2 results

index.js

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