diff --git a/lib/datasource/github/index.js b/lib/datasource/github/index.js
index 0530ee0c1bf393e104b83498a93e049aea917ea5..63141067bf8a7d6add6b08320b16d662e7a2861f 100644
--- a/lib/datasource/github/index.js
+++ b/lib/datasource/github/index.js
@@ -90,8 +90,8 @@ async function getDigest(config) {
  */
 
 async function getPkgReleases(purl) {
-  const { lookupName: repo, qualifiers } = purl;
-  const lookupType = qualifiers.lookupType || 'tags';
+  const { lookupName: repo } = purl;
+  const lookupType = purl.lookupType || 'tags';
   let versions;
   const cachedResult = await renovateCache.get(
     cacheNamespace,
@@ -102,7 +102,7 @@ async function getPkgReleases(purl) {
     return cachedResult;
   }
   try {
-    if (lookupType === 'release') {
+    if (lookupType === 'releases') {
       const url = `https://api.github.com/repos/${repo}/releases?per_page=100`;
       versions = (await ghGot(url, { paginate: true })).body.map(
         o => o.tag_name
diff --git a/lib/manager/bazel/extract.js b/lib/manager/bazel/extract.js
index 1ddd483427754ecfaabf8b1d7e0da5dd44a38090..de92493171df5bbecebd7893b73567ebf9b3c17d 100644
--- a/lib/manager/bazel/extract.js
+++ b/lib/manager/bazel/extract.js
@@ -128,7 +128,7 @@ function extractPackageFile(content) {
       dep.depName = depName;
       dep.repo = parsedUrl.repo;
       dep.currentValue = parsedUrl.currentValue;
-      dep.purl = 'pkg:github/' + dep.repo + '?lookupType=release';
+      dep.purl = 'pkg:github/' + dep.repo + '?lookupType=releases';
       deps.push(dep);
     } else {
       logger.info(
diff --git a/lib/util/purl.js b/lib/util/purl.js
index aa1ff81d312f866f87197a968f84d2ec22dda3b6..10c16376a163d09796fdcaccb50843edf4af761c 100644
--- a/lib/util/purl.js
+++ b/lib/util/purl.js
@@ -41,6 +41,10 @@ function parse(input) {
       const [key, val] = qualifier.split('=');
       res.qualifiers[key] = val;
     });
+    if (res.qualifiers.lookupType) {
+      res.lookupType = res.qualifiers.lookupType;
+      delete res.qualifiers.lookupType;
+    }
   } else {
     res.qualifiers = {};
   }
diff --git a/test/datasource/github.spec.js b/test/datasource/github.spec.js
index c83d4230648b97a12abc9133fd42c027cfa65166..e17111ba732119c48023da4af5e25fa3073ac2d1 100644
--- a/test/datasource/github.spec.js
+++ b/test/datasource/github.spec.js
@@ -88,7 +88,7 @@ describe('datasource/github', () => {
       ];
       ghGot.mockReturnValueOnce({ headers: {}, body });
       const res = await datasource.getPkgReleases({
-        purl: 'pkg:github/some/dep?lookupType=release',
+        purl: 'pkg:github/some/dep?lookupType=releases',
       });
       expect(res).toMatchSnapshot();
       expect(res.releases).toHaveLength(2);
diff --git a/test/manager/bazel/__snapshots__/extract.spec.js.snap b/test/manager/bazel/__snapshots__/extract.spec.js.snap
index ef1f04fb6057b30d3bc027608911c069c783f80b..34f208315e85b0f2f37c8f0ed2857cb9eb42962d 100644
--- a/test/manager/bazel/__snapshots__/extract.spec.js.snap
+++ b/test/manager/bazel/__snapshots__/extract.spec.js.snap
@@ -90,7 +90,7 @@ Array [
 ",
     "depName": "io_bazel_rules_go",
     "depType": "http_archive",
-    "purl": "pkg:github/bazelbuild/rules_go?lookupType=release",
+    "purl": "pkg:github/bazelbuild/rules_go?lookupType=releases",
     "repo": "bazelbuild/rules_go",
   },
   Object {
@@ -107,7 +107,7 @@ Array [
 ",
     "depName": "bazel_skylib",
     "depType": "http_archive",
-    "purl": "pkg:github/bazelbuild/bazel-skylib?lookupType=release",
+    "purl": "pkg:github/bazelbuild/bazel-skylib?lookupType=releases",
     "repo": "bazelbuild/bazel-skylib",
   },
 ]
diff --git a/test/util/__snapshots__/purl.spec.js.snap b/test/util/__snapshots__/purl.spec.js.snap
index 81f9876f11e5b856fa8a2160721455f3e541b353..b6c0af7e7fb5219eb41c5d4d69e3df9a72d26c6b 100644
--- a/test/util/__snapshots__/purl.spec.js.snap
+++ b/test/util/__snapshots__/purl.spec.js.snap
@@ -1,5 +1,14 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`util/purl parse() parses github with lookupType 1`] = `
+Object {
+  "datasource": "github",
+  "lookupName": "abc/def",
+  "lookupType": "releases",
+  "qualifiers": Object {},
+}
+`;
+
 exports[`util/purl parse() parses namespaced npm 1`] = `
 Object {
   "datasource": "npm",
diff --git a/test/util/purl.spec.js b/test/util/purl.spec.js
index ec0761b235719f31d58d413216381729c2a47f85..c0b1d13e9407133d4a168ac23096093f2f803129 100644
--- a/test/util/purl.spec.js
+++ b/test/util/purl.spec.js
@@ -26,5 +26,8 @@ describe('util/purl', () => {
     it('parses npm with version and 2 qualifiers and subpath', () => {
       expect(parse('pkg:npm/foo@1.0.0?a=b&c=d#stop')).toMatchSnapshot();
     });
+    it('parses github with lookupType', () => {
+      expect(parse('pkg:github/abc/def?lookupType=releases')).toMatchSnapshot();
+    });
   });
 });