diff --git a/lib/datasource/npm.js b/lib/datasource/npm.js
index fc01fd8dd27fed598b53751e62b22ecbcbb303f6..36f4ff9d7b99a4c16b229b41e38c9a6e5080c9be 100644
--- a/lib/datasource/npm.js
+++ b/lib/datasource/npm.js
@@ -146,17 +146,7 @@ async function getDependency(name, retries = 5) {
     let repositoryUrl;
 
     if (res.repository) {
-      const extraBaseUrls = [];
-      // istanbul ignore if
-      if (process.env.GITHUB_ENDPOINT) {
-        const parsedEndpoint = url.parse(process.env.GITHUB_ENDPOINT);
-        extraBaseUrls.push(
-          parsedEndpoint.hostname,
-          `gist.${parsedEndpoint.hostname}`
-        );
-      }
-
-      repositoryUrl = parse(res.repository.url, { extraBaseUrls });
+      repositoryUrl = parse(res.repository.url);
     }
     if (!repositoryUrl) {
       repositoryUrl = res.homepage;
diff --git a/lib/workers/pr/changelog/index.js b/lib/workers/pr/changelog/index.js
index 341dbd843caca9815213b1b34519ab6004a9ec61..a52a93c4d01f969484e2d09ba1148ea51cb7c9d5 100644
--- a/lib/workers/pr/changelog/index.js
+++ b/lib/workers/pr/changelog/index.js
@@ -1,5 +1,3 @@
-const url = require('url');
-
 const { addReleaseNotes } = require('../release-notes');
 
 const sourceCache = require('./source-cache');
@@ -18,77 +16,22 @@ async function getChangeLogJSON(args) {
   if (!fromVersion || fromVersion === newVersion) {
     return null;
   }
-
-  let token;
-  let endpoint;
-  let gheBaseURL;
-  const opts = {
-    githubBaseURL: 'https://github.com/',
-  };
-
-  // istanbul ignore if
-  if (process.env.GITHUB_ENDPOINT) {
-    token = process.env.GITHUB_TOKEN;
-    endpoint = process.env.GITHUB_ENDPOINT;
-    const parsedEndpoint = url.parse(endpoint);
-    gheBaseURL = `${parsedEndpoint.protocol}//${parsedEndpoint.hostname}/`;
+  // Return from cache if present
+  let res = await sourceCache.getChangeLogJSON(args);
+  if (res) {
+    return addReleaseNotes(res);
+  }
+  let pkg = null;
+  if (['npm', 'meteor'].includes(manager)) {
+    pkg = await managerNpm.getPackage(args);
   }
 
-  try {
-    // Return from cache if present
-    let res = await sourceCache.getChangeLogJSON(args);
-    if (res) {
-      if (res.project && res.project.githubBaseURL !== gheBaseURL) {
-        logger.debug('Removing GHE token before calling addReleaseNotes');
-        delete process.env.GITHUB_ENDPOINT;
-        process.env.GITHUB_TOKEN = process.env.GITHUB_COM_TOKEN;
-      }
-    } else {
-      let pkg = null;
-      if (['npm', 'meteor'].includes(manager)) {
-        pkg = await managerNpm.getPackage(args);
-      }
-
-      if (manager === 'pip_requirements') {
-        pkg = await managerPip.getPackage(args);
-      }
-
-      if (
-        pkg &&
-        pkg.repositoryUrl &&
-        gheBaseURL &&
-        pkg.repositoryUrl.startsWith(gheBaseURL)
-      ) {
-        logger.debug(
-          'Found package hosted on internal GHE. Preserving GHE token'
-        );
-        opts.githubBaseURL = gheBaseURL;
-      } else {
-        logger.debug('Removing GHE token before calling getChangeLogJSON');
-        delete process.env.GITHUB_ENDPOINT;
-        process.env.GITHUB_TOKEN = process.env.GITHUB_COM_TOKEN;
-      }
-
-      res = await sourceGithub.getChangeLogJSON({
-        ...args,
-        ...pkg,
-        ...opts,
-      });
-
-      await sourceCache.setChangeLogJSON(args, res);
-    }
+  if (manager === 'pip_requirements') {
+    pkg = await managerPip.getPackage(args);
+  }
 
-    const output = await addReleaseNotes(res);
+  res = await sourceGithub.getChangeLogJSON({ ...args, ...pkg });
 
-    return output;
-  } finally {
-    // wrap everything in a try/finally to ensure process.env.GITHUB_TOKEN is restore no matter if
-    // getChangeLogJSON and addReleaseNotes succed or fails
-    // istanbul ignore if
-    if (endpoint !== process.env.GITHUB_ENDPOINT) {
-      logger.debug('Restoring GHE token and endpoint');
-      process.env.GITHUB_TOKEN = token;
-      process.env.GITHUB_ENDPOINT = endpoint;
-    }
-  }
+  await sourceCache.setChangeLogJSON(args, res);
+  return addReleaseNotes(res);
 }
diff --git a/lib/workers/pr/changelog/source-github.js b/lib/workers/pr/changelog/source-github.js
index 6a61089eff941367e721b58c99054037988c0e74..de39aecdea5200b47a6623a78c3a2a74b6e09f9f 100644
--- a/lib/workers/pr/changelog/source-github.js
+++ b/lib/workers/pr/changelog/source-github.js
@@ -9,9 +9,10 @@ async function getTags(repository) {
   try {
     const versions = {};
 
-    const res = await ghGot(`repos/${repository}/tags?per_page=100`, {
-      paginate: true,
-    });
+    const res = await ghGot(
+      `https://api.github.com/repos/${repository}/tags?per_page=100`,
+      { paginate: true }
+    );
 
     const tags = (res && res.body) || [];
 
@@ -46,7 +47,9 @@ async function getRepositoryHead(repository, version) {
   }
   logger.trace({ repository, version }, 'Looking for commit SHA by date');
   try {
-    const res = await ghGot(`repos/${repository}/commits/@{${version.date}}`);
+    const res = await ghGot(
+      `https://api.github.com/repos/${repository}/commits/@{${version.date}}`
+    );
     const commit = res && res.body;
     return commit && commit.sha;
   } catch (err) {
@@ -56,7 +59,6 @@ async function getRepositoryHead(repository, version) {
 }
 
 async function getChangeLogJSON({
-  githubBaseURL,
   repositoryUrl,
   fromVersion,
   newVersion,
@@ -65,13 +67,13 @@ async function getChangeLogJSON({
   logger.debug('Checking for github source URL manually');
   const semverString = `>${fromVersion} <=${newVersion}`;
   logger.trace(`semverString: ${semverString}`);
-  if (!(repositoryUrl && repositoryUrl.startsWith(githubBaseURL))) {
+  if (!(repositoryUrl && repositoryUrl.startsWith('https://github.com/'))) {
     logger.debug('No repo found manually');
     return null;
   }
   logger.debug({ url: repositoryUrl }, 'Found github URL manually');
   const repository = repositoryUrl
-    .replace(githubBaseURL, '')
+    .replace('https://github.com/', '')
     .replace(/#.*/, '');
   if (repository.split('/').length !== 2) {
     logger.debug('Invalid github URL found');
@@ -104,7 +106,7 @@ async function getChangeLogJSON({
       const prevHead = await getHead(prev);
       const nextHead = await getHead(next);
       if (prevHead && nextHead) {
-        release.compare.url = `${githubBaseURL}${repository}/compare/${prevHead}...${nextHead}`;
+        release.compare.url = `https://github.com/${repository}/compare/${prevHead}...${nextHead}`;
       }
       releases.unshift(release);
     }
@@ -112,7 +114,6 @@ async function getChangeLogJSON({
 
   const res = {
     project: {
-      githubBaseURL,
       github: repository,
       repository: repositoryUrl,
     },
diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index 36f3fedd7dbac2a9037be3ce90171a42bfe7547f..2a01ad300755e60c8c7414072e225ec368d44ab6 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -103,6 +103,16 @@ async function ensurePr(prConfig) {
 
   const commitRepos = [];
 
+  let token;
+  let endpoint;
+  // istanbul ignore if
+  if (process.env.GITHUB_ENDPOINT) {
+    logger.debug('Removing GHE token before calling changelog');
+    endpoint = process.env.GITHUB_ENDPOINT;
+    delete process.env.GITHUB_ENDPOINT;
+    token = process.env.GITHUB_TOKEN;
+    process.env.GITHUB_TOKEN = process.env.GITHUB_COM_TOKEN;
+  }
   // Get changelog and then generate template strings
   for (const upgrade of upgrades) {
     const upgradeKey = `${upgrade.depName}-${upgrade.manager}-${
@@ -139,6 +149,12 @@ async function ensurePr(prConfig) {
     }
     config.upgrades.push(upgrade);
   }
+  // istanbul ignore if
+  if (endpoint) {
+    logger.debug('Restoring GHE token and endpoint');
+    process.env.GITHUB_TOKEN = token;
+    process.env.GITHUB_ENDPOINT = endpoint;
+  }
 
   // Update the config object
   Object.assign(config, upgrades[0]);
diff --git a/lib/workers/pr/release-notes.js b/lib/workers/pr/release-notes.js
index 06be88e0109077488ac27151dbf1090579e8ce3e..52c3887bda25c8d6c7c3e6b62facf53c6cd7ff55 100644
--- a/lib/workers/pr/release-notes.js
+++ b/lib/workers/pr/release-notes.js
@@ -16,7 +16,9 @@ module.exports = {
 async function getReleaseList(repository) {
   logger.debug('getReleaseList()');
   try {
-    const res = await ghGot(`repos/${repository}/releases?per_page=100`);
+    const res = await ghGot(
+      `https://api.github.com/repos/${repository}/releases?per_page=100`
+    );
     return res.body.map(release => ({
       url: release.html_url,
       id: release.id,
@@ -30,21 +32,19 @@ async function getReleaseList(repository) {
   }
 }
 
-function massageBody(input, githubBaseURL) {
+function massageBody(input) {
   let body = input || '';
   // Convert line returns
   body = body.replace(/\r\n/g, '\n');
   // semantic-release cleanup
   body = body.replace(/^<a name="[^"]*"><\/a>\n/, '');
   body = body.replace(
-    new RegExp(
-      `^##? \\[[^\\]]*\\]\\(${githubBaseURL}[^/]*\\/[^/]*\\/compare\\/.*?\\n`
-    ),
+    /^##? \[[^\]]*\]\(https:\/\/github.com\/[^/]*\/[^/]*\/compare\/.*?\n/,
     ''
   );
   // Clean-up unnecessary commits link
   body = `\n${body}\n`.replace(
-    new RegExp(`\\n${githubBaseURL}[^/]+\\/[^/]+\\/compare\\/[^\\n]+(\\n|$)`),
+    /\nhttps:\/\/github.com\/[^/]+\/[^/]+\/compare\/[^\n]+(\n|$)/,
     '\n'
   );
   // Reduce headings size
@@ -56,17 +56,17 @@ function massageBody(input, githubBaseURL) {
   return body.trim();
 }
 
-async function getReleaseNotes(repository, version, githubBaseURL) {
+async function getReleaseNotes(repository, version) {
   logger.debug(`getReleaseNotes(${repository}, ${version})`);
   const releaseList = await getReleaseList(repository);
   let releaseNotes;
   releaseList.forEach(release => {
     if (release.tag === version || release.tag === `v${version}`) {
       releaseNotes = release;
-      releaseNotes.url = `${githubBaseURL}${repository}/releases/${
+      releaseNotes.url = `https://github.com/${repository}/releases/${
         release.tag
       }`;
-      releaseNotes.body = massageBody(releaseNotes.body, githubBaseURL);
+      releaseNotes.body = massageBody(releaseNotes.body);
       if (!releaseNotes.body.length) {
         releaseNotes = undefined;
       }
@@ -100,11 +100,11 @@ function sectionize(text, level) {
   return result;
 }
 
-async function getReleaseNotesMd(repository, version, githubBaseURL) {
+async function getReleaseNotesMd(repository, version) {
   logger.trace(`getReleaseNotes(${repository}, ${version})`);
   let changelogMd = '';
   try {
-    const apiPrefix = `repos/${repository}/contents/`;
+    const apiPrefix = `https://api.github.com/repos/${repository}/contents/`;
     const filesRes = await ghGot(apiPrefix);
     const files = filesRes.body
       .map(f => f.name)
@@ -141,10 +141,10 @@ async function getReleaseNotesMd(repository, version, githubBaseURL) {
           for (const word of title) {
             if (word.includes(version)) {
               logger.trace({ body }, 'Found release notes for v' + version);
-              let url = `${githubBaseURL}${repository}/blob/master/CHANGELOG.md#`;
+              let url = `https://github.com/${repository}/blob/master/CHANGELOG.md#`;
               url += title.join('-').replace(/[^A-Za-z0-9-]/g, '');
               return {
-                body: massageBody(body, githubBaseURL),
+                body: massageBody(body),
                 url,
               };
             }
@@ -168,18 +168,10 @@ async function addReleaseNotes(input) {
   const output = { ...input, versions: [] };
   const repository = input.project.github.replace(/\.git$/, '');
   for (const v of input.versions) {
-    let releaseNotes = await getReleaseNotesMd(
-      repository,
-      v.version,
-      input.project.githubBaseURL
-    );
+    let releaseNotes = await getReleaseNotesMd(repository, v.version);
     if (!releaseNotes) {
       logger.trace('No markdown release notes found for v' + v.version);
-      releaseNotes = await getReleaseNotes(
-        repository,
-        v.version,
-        input.project.githubBaseURL
-      );
+      releaseNotes = await getReleaseNotes(repository, v.version);
     }
     // Small hack to force display of release notes when there is a compare url
     if (!releaseNotes && v.compare.url) {
diff --git a/test/workers/pr/__snapshots__/changelog.spec.js.snap b/test/workers/pr/__snapshots__/changelog.spec.js.snap
index f1a994ef45ca25b28865989752da8b8abdc2a637..62e5f122586fcdeaf602bb10b55afb8dba0a1b74 100644
--- a/test/workers/pr/__snapshots__/changelog.spec.js.snap
+++ b/test/workers/pr/__snapshots__/changelog.spec.js.snap
@@ -5,7 +5,6 @@ Object {
   "hasReleaseNotes": true,
   "project": Object {
     "github": "chalk/chalk",
-    "githubBaseURL": "https://github.com/",
     "repository": "https://github.com/chalk/chalk",
   },
   "versions": Array [
@@ -58,7 +57,6 @@ Object {
   "hasReleaseNotes": true,
   "project": Object {
     "github": "chalk/chalk",
-    "githubBaseURL": "https://github.com/",
     "repository": "https://github.com/chalk/chalk",
   },
   "versions": Array [
@@ -102,61 +100,11 @@ Object {
 }
 `;
 
-exports[`workers/pr/changelog getChangeLogJSON supports github enterprise 1`] = `
-Object {
-  "hasReleaseNotes": true,
-  "project": Object {
-    "github": "chalk/chalk",
-    "githubBaseURL": "https://github-enterprise.example.com/",
-    "repository": "https://github-enterprise.example.com/chalk/chalk",
-  },
-  "versions": Array [
-    Object {
-      "changes": Array [],
-      "compare": Object {},
-      "date": undefined,
-      "releaseNotes": undefined,
-      "version": "2.5.2",
-    },
-    Object {
-      "changes": Array [],
-      "compare": Object {},
-      "date": "2017-12-24T03:20:46.238Z",
-      "releaseNotes": undefined,
-      "version": "2.4.2",
-    },
-    Object {
-      "changes": Array [],
-      "compare": Object {
-        "url": "https://github-enterprise.example.com/chalk/chalk/compare/npm_2.2.2...npm_2.3.0",
-      },
-      "date": "2017-10-24T03:20:46.238Z",
-      "releaseNotes": Object {
-        "url": "https://github-enterprise.example.com/chalk/chalk/compare/npm_2.2.2...npm_2.3.0",
-      },
-      "version": "2.3.0",
-    },
-    Object {
-      "changes": Array [],
-      "compare": Object {
-        "url": "https://github-enterprise.example.com/chalk/chalk/compare/npm_1.0.0...npm_2.2.2",
-      },
-      "date": undefined,
-      "releaseNotes": Object {
-        "url": "https://github-enterprise.example.com/chalk/chalk/compare/npm_1.0.0...npm_2.2.2",
-      },
-      "version": "2.2.2",
-    },
-  ],
-}
-`;
-
 exports[`workers/pr/changelog getChangeLogJSON supports pip 1`] = `
 Object {
   "hasReleaseNotes": false,
   "project": Object {
     "github": "chalk/chalk",
-    "githubBaseURL": "https://github.com/",
     "repository": "https://github.com/chalk/chalk",
   },
   "versions": Array [
@@ -197,7 +145,6 @@ Object {
   "hasReleaseNotes": true,
   "project": Object {
     "github": "chalk/chalk",
-    "githubBaseURL": "https://github.com/",
     "repository": "https://github.com/chalk/chalk",
   },
   "versions": Array [
@@ -250,7 +197,6 @@ Object {
   "hasReleaseNotes": true,
   "project": Object {
     "github": "chalk/chalk",
-    "githubBaseURL": "https://github.com/",
     "repository": "https://github.com/chalk/chalk",
   },
   "versions": Array [
diff --git a/test/workers/pr/changelog.spec.js b/test/workers/pr/changelog.spec.js
index 95091ba7015b06c3c7e78edf34d273f1f3610f2e..9f8b5d643fdd6cf953324733b08c2c344b0d1225 100644
--- a/test/workers/pr/changelog.spec.js
+++ b/test/workers/pr/changelog.spec.js
@@ -173,18 +173,5 @@ describe('workers/pr/changelog', () => {
         await getChangeLogJSON({ ...upgrade, manager: 'pip_requirements' })
       ).toBe(null);
     });
-    it('supports github enterprise', async () => {
-      // clear the mock
-      npmRegistry.getDependency.mockReset();
-      const res = npmResponse();
-      res.repositoryUrl = 'https://github-enterprise.example.com/chalk/chalk';
-      npmRegistry.getDependency.mockReturnValueOnce(Promise.resolve(res));
-
-      const endpoint = process.env.GITHUB_ENDPOINT;
-      process.env.GITHUB_ENDPOINT = 'https://github-enterprise.example.com/';
-      expect(await getChangeLogJSON({ ...upgrade })).toMatchSnapshot();
-
-      process.env.GITHUB_ENDPOINT = endpoint;
-    });
   });
 });
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index daaab7ba23e3ec58591cca88ffe6cec5879a0f02..7e6ae6743250f9ad91ead95289c11b5a332e9308 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -6,7 +6,6 @@ jest.mock('../../../lib/workers/pr/changelog');
 changelogHelper.getChangeLogJSON = jest.fn();
 changelogHelper.getChangeLogJSON.mockReturnValue({
   project: {
-    githubBaseURL: 'https://github.com/',
     github: 'renovateapp/dummy',
     repository: 'https://github.com/renovateapp/dummy',
   },
diff --git a/test/workers/pr/release-notes.spec.js b/test/workers/pr/release-notes.spec.js
index 3b2a1f05d17397e337af70abaad754c8c74ce582..4a4ae3beff784eecf88a3daabb05330f07dd49e1 100644
--- a/test/workers/pr/release-notes.spec.js
+++ b/test/workers/pr/release-notes.spec.js
@@ -33,32 +33,20 @@ describe('workers/pr/release-notes', () => {
       ghGot.mockReturnValueOnce({
         body: [{ tag_name: 'v1.0.0' }, { tag_name: 'v1.0.1' }],
       });
-      const res = await getReleaseNotes(
-        'some/repository',
-        '1.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotes('some/repository', '1.0.0');
       expect(res).toMatchSnapshot();
     });
   });
   describe('getReleaseNotesMd()', () => {
     it('handles not found', async () => {
-      const res = await getReleaseNotesMd(
-        'chalk',
-        '2.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('chalk', '2.0.0');
       expect(res).toBe(null);
     });
     it('handles files mismatch', async () => {
       ghGot.mockReturnValueOnce({
         body: [{ name: 'lib' }, { name: 'README.md' }],
       });
-      const res = await getReleaseNotesMd(
-        'chalk',
-        '2.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('chalk', '2.0.0');
       expect(res).toBe(null);
     });
     it('handles wrong format', async () => {
@@ -69,11 +57,7 @@ describe('workers/pr/release-notes', () => {
             content: Buffer.from('not really markdown').toString('base64'),
           },
         });
-      const res = await getReleaseNotesMd(
-        'some/repository1',
-        '1.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('some/repository1', '1.0.0');
       expect(res).toBe(null);
     });
     it('handles bad markdown', async () => {
@@ -84,11 +68,7 @@ describe('workers/pr/release-notes', () => {
             content: Buffer.from(`#\nha\nha\n#\nha\nha`).toString('base64'),
           },
         });
-      const res = await getReleaseNotesMd(
-        'some/repository2',
-        '1.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('some/repository2', '1.0.0');
       expect(res).toBe(null);
     });
     it('parses angular.js', async () => {
@@ -99,11 +79,7 @@ describe('workers/pr/release-notes', () => {
             content: Buffer.from(angularJsChangelogMd).toString('base64'),
           },
         });
-      const res = await getReleaseNotesMd(
-        'angular/angular.js',
-        '1.6.9',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('angular/angular.js', '1.6.9');
       expect(res).not.toBe(null);
       expect(res).toMatchSnapshot();
     });
@@ -115,11 +91,7 @@ describe('workers/pr/release-notes', () => {
             content: Buffer.from(jestChangelogMd).toString('base64'),
           },
         });
-      const res = await getReleaseNotesMd(
-        'facebook/jest',
-        '22.0.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('facebook/jest', '22.0.0');
       expect(res).not.toBe(null);
       expect(res).toMatchSnapshot();
     });
@@ -131,11 +103,7 @@ describe('workers/pr/release-notes', () => {
             content: Buffer.from(jsYamlChangelogMd).toString('base64'),
           },
         });
-      const res = await getReleaseNotesMd(
-        'nodeca/js-yaml',
-        '3.10.0',
-        'https://github.com/'
-      );
+      const res = await getReleaseNotesMd('nodeca/js-yaml', '3.10.0');
       expect(res).not.toBe(null);
       expect(res).toMatchSnapshot();
     });