diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts
index c10561b22ad48dc90267783127f909aeef922746..e5d913216181af015004b0c2e2c0f3d1d113f310 100644
--- a/lib/config/definitions.ts
+++ b/lib/config/definitions.ts
@@ -1,4 +1,11 @@
 import { RenovateConfigStage } from './common';
+import {
+  PLATFORM_TYPE_AZURE,
+  PLATFORM_TYPE_BITBUCKET,
+  PLATFORM_TYPE_BITBUCKET_SERVER,
+  PLATFORM_TYPE_GITHUB,
+  PLATFORM_TYPE_GITLAB,
+} from '../constants/platfroms';
 
 export interface RenovateOptionBase {
   admin?: boolean;
@@ -399,13 +406,13 @@ const options: RenovateOptions[] = [
     description: 'Platform type of repository',
     type: 'string',
     allowedValues: [
-      'azure',
-      'bitbucket',
-      'bitbucket-server',
-      'github',
-      'gitlab',
+      PLATFORM_TYPE_AZURE,
+      PLATFORM_TYPE_BITBUCKET,
+      PLATFORM_TYPE_BITBUCKET_SERVER,
+      PLATFORM_TYPE_GITHUB,
+      PLATFORM_TYPE_GITLAB,
     ],
-    default: 'github',
+    default: PLATFORM_TYPE_GITHUB,
     admin: true,
   },
   {
diff --git a/lib/constants/platfroms.ts b/lib/constants/platfroms.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f3ba498bc417559f02e25b1b506826218d30a1cf
--- /dev/null
+++ b/lib/constants/platfroms.ts
@@ -0,0 +1,5 @@
+export const PLATFORM_TYPE_AZURE = 'azure';
+export const PLATFORM_TYPE_BITBUCKET = 'bitbucket';
+export const PLATFORM_TYPE_BITBUCKET_SERVER = 'bitbucket-server';
+export const PLATFORM_TYPE_GITHUB = 'github';
+export const PLATFORM_TYPE_GITLAB = 'gitlab';
diff --git a/lib/workers/pr/body/config-description.ts b/lib/workers/pr/body/config-description.ts
index 86ee60ac386f4a13034a7f672f8c6a4c24d6b48b..7960e6ca6909b8fb9a0e9f63a84bdb3b8924cf5c 100644
--- a/lib/workers/pr/body/config-description.ts
+++ b/lib/workers/pr/body/config-description.ts
@@ -1,6 +1,7 @@
 import { platform } from '../../../platform';
 import { emojify } from '../../../util/emoji';
 import { PrBodyConfig } from './common';
+import { PLATFORM_TYPE_GITHUB } from '../../../constants/platfroms';
 
 export async function getPrConfigDescription(
   config: PrBodyConfig
@@ -46,7 +47,7 @@ export async function getPrConfigDescription(
   } else {
     prBody += 'Whenever PR becomes conflicted';
   }
-  if (config.platform === 'github') {
+  if (config.platform === PLATFORM_TYPE_GITHUB) {
     prBody += `, or if you modify the PR title to begin with "\`rebase!\`".\n\n`;
   } else {
     prBody += '.\n\n';
diff --git a/test/config/env.spec.ts b/test/config/env.spec.ts
index 401b387d563b37d18ad9445b364aee3c3294e368..6ba410b2864a85444b26acf3fe00dad2e6acf85f 100644
--- a/test/config/env.spec.ts
+++ b/test/config/env.spec.ts
@@ -1,5 +1,9 @@
 import * as env from '../../lib/config/env';
 import { RenovateOptions } from '../../lib/config/definitions';
+import {
+  PLATFORM_TYPE_BITBUCKET,
+  PLATFORM_TYPE_GITLAB,
+} from '../../lib/constants/platfroms';
 
 describe('config/env', () => {
   describe('.getConfig(env)', () => {
@@ -59,14 +63,14 @@ describe('config/env', () => {
     });
     it('supports GitLab token', () => {
       const envParam: NodeJS.ProcessEnv = {
-        RENOVATE_PLATFORM: 'gitlab',
+        RENOVATE_PLATFORM: PLATFORM_TYPE_GITLAB,
         RENOVATE_TOKEN: 'a gitlab.com token',
       };
       expect(env.getConfig(envParam)).toMatchSnapshot();
     });
     it('supports GitLab custom endpoint', () => {
       const envParam: NodeJS.ProcessEnv = {
-        RENOVATE_PLATFORM: 'gitlab',
+        RENOVATE_PLATFORM: PLATFORM_TYPE_GITLAB,
         RENOVATE_TOKEN: 'a gitlab token',
         RENOVATE_ENDPOINT: 'a gitlab endpoint',
       };
@@ -89,7 +93,7 @@ describe('config/env', () => {
     });
     it('supports Bitbucket token', () => {
       const envParam: NodeJS.ProcessEnv = {
-        RENOVATE_PLATFORM: 'bitbucket',
+        RENOVATE_PLATFORM: PLATFORM_TYPE_BITBUCKET,
         RENOVATE_ENDPOINT: 'a bitbucket endpoint',
         RENOVATE_USERNAME: 'some-username',
         RENOVATE_PASSWORD: 'app-password',
@@ -98,7 +102,7 @@ describe('config/env', () => {
     });
     it('supports Bitbucket username/password', () => {
       const envParam: NodeJS.ProcessEnv = {
-        RENOVATE_PLATFORM: 'bitbucket',
+        RENOVATE_PLATFORM: PLATFORM_TYPE_BITBUCKET,
         RENOVATE_ENDPOINT: 'a bitbucket endpoint',
         RENOVATE_USERNAME: 'some-username',
         RENOVATE_PASSWORD: 'app-password',
diff --git a/test/config/migration.spec.ts b/test/config/migration.spec.ts
index 1a9fb6d8e137147d216c50272042fb9c68e87926..00467f1e84a30a219948f50cb4e07071494115eb 100644
--- a/test/config/migration.spec.ts
+++ b/test/config/migration.spec.ts
@@ -1,6 +1,7 @@
 import * as configMigration from '../../lib/config/migration';
 import { getConfig } from '../../lib/config/defaults';
 import { RenovateConfig } from '../../lib/config';
+import { PLATFORM_TYPE_GITHUB } from '../../lib/constants/platfroms';
 
 const defaultConfig = getConfig();
 
@@ -10,7 +11,7 @@ describe('config/migration', () => {
       const config: RenovateConfig = {
         endpoints: [{}],
         enabled: true,
-        platform: 'github',
+        platform: PLATFORM_TYPE_GITHUB,
         hostRules: [
           {
             platform: 'docker',
diff --git a/test/platform/index.spec.ts b/test/platform/index.spec.ts
index 22fd26ac57f5b7fee85e18c49c1602f2b63143c1..27aa7399a04ad0735bbf158cc1d35342bdd8899d 100644
--- a/test/platform/index.spec.ts
+++ b/test/platform/index.spec.ts
@@ -6,6 +6,7 @@ import * as bitbucketServer from '../../lib/platform/bitbucket-server';
 import { PLATFORM_NOT_FOUND } from '../../lib/constants/error-messages';
 
 import * as platform from '../../lib/platform';
+import { PLATFORM_TYPE_BITBUCKET } from '../../lib/constants/platfroms';
 
 jest.unmock('../../lib/platform');
 
@@ -24,7 +25,7 @@ describe('platform', () => {
   });
   it('initializes', async () => {
     const config = {
-      platform: 'bitbucket',
+      platform: PLATFORM_TYPE_BITBUCKET,
       gitAuthor: 'user@domain.com',
       username: 'abc',
       password: '123',
@@ -33,7 +34,7 @@ describe('platform', () => {
   });
   it('initializes no author', async () => {
     const config = {
-      platform: 'bitbucket',
+      platform: PLATFORM_TYPE_BITBUCKET,
       username: 'abc',
       password: '123',
     };
diff --git a/test/workers/global/autodiscover.spec.ts b/test/workers/global/autodiscover.spec.ts
index 83da940a9aeae6e6d213f8efa33af34b5c19e830..15a4221f4a0dd1a05c7e272014c3fdc5748108ff 100644
--- a/test/workers/global/autodiscover.spec.ts
+++ b/test/workers/global/autodiscover.spec.ts
@@ -2,6 +2,7 @@ import { autodiscoverRepositories } from '../../../lib/workers/global/autodiscov
 import * as platform from '../../../lib/platform';
 import * as _hostRules from '../../../lib/util/host-rules';
 import * as _ghApi from '../../../lib/platform/github';
+import { PLATFORM_TYPE_GITHUB } from '../../../lib/constants/platfroms';
 
 jest.mock('../../../lib/platform/github');
 jest.unmock('../../../lib/platform');
@@ -16,7 +17,7 @@ describe('lib/workers/global/autodiscover', () => {
     jest.resetAllMocks();
     config = {};
     await platform.initPlatform({
-      platform: 'github',
+      platform: PLATFORM_TYPE_GITHUB,
       token: 'abc123',
       endpoint: 'endpoint',
     });
@@ -26,7 +27,7 @@ describe('lib/workers/global/autodiscover', () => {
   });
   it('autodiscovers github but empty', async () => {
     config.autodiscover = true;
-    config.platform = 'github';
+    config.platform = PLATFORM_TYPE_GITHUB;
     hostRules.find = jest.fn(() => ({
       token: 'abc',
     }));
@@ -36,7 +37,7 @@ describe('lib/workers/global/autodiscover', () => {
   });
   it('autodiscovers github repos', async () => {
     config.autodiscover = true;
-    config.platform = 'github';
+    config.platform = PLATFORM_TYPE_GITHUB;
     hostRules.find = jest.fn(() => ({
       token: 'abc',
     }));
@@ -47,7 +48,7 @@ describe('lib/workers/global/autodiscover', () => {
   it('filters autodiscovered github repos', async () => {
     config.autodiscover = true;
     config.autodiscoverFilter = 'project/re*';
-    config.platform = 'github';
+    config.platform = PLATFORM_TYPE_GITHUB;
     hostRules.find = jest.fn(() => ({
       token: 'abc',
     }));
diff --git a/test/workers/global/index.spec.ts b/test/workers/global/index.spec.ts
index 36a9cb2a4a0b96674d4b21e2c3127c2e6cb12d8a..db9bb94b7fb312c96e6982895c4c6ef4fd24cdd0 100644
--- a/test/workers/global/index.spec.ts
+++ b/test/workers/global/index.spec.ts
@@ -3,6 +3,10 @@ import * as _repositoryWorker from '../../../lib/workers/repository';
 import * as _configParser from '../../../lib/config';
 import * as _platform from '../../../lib/platform';
 import * as _limits from '../../../lib/workers/global/limits';
+import {
+  PLATFORM_TYPE_GITHUB,
+  PLATFORM_TYPE_GITLAB,
+} from '../../../lib/constants/platfroms';
 
 jest.mock('../../../lib/workers/repository');
 
@@ -77,7 +81,7 @@ describe('lib/workers/global', () => {
     it('github', async () => {
       configParser.parseConfigs.mockResolvedValueOnce({
         repositories: ['a'],
-        platform: 'github',
+        platform: PLATFORM_TYPE_GITHUB,
         endpoint: 'https://github.com/',
       });
       await globalWorker.start();
@@ -87,7 +91,7 @@ describe('lib/workers/global', () => {
     it('gitlab', async () => {
       configParser.parseConfigs.mockResolvedValueOnce({
         repositories: [{ repository: 'a' }],
-        platform: 'gitlab',
+        platform: PLATFORM_TYPE_GITLAB,
         endpoint: 'https://my.gitlab.com/',
       });
       await globalWorker.start();
diff --git a/test/workers/pr/index.spec.ts b/test/workers/pr/index.spec.ts
index a056263dc6198dd4f1b1f2a0fb667a8915f98f7e..6a32103abac2b57d40caceef65963d5fe990dcae 100644
--- a/test/workers/pr/index.spec.ts
+++ b/test/workers/pr/index.spec.ts
@@ -3,6 +3,7 @@ import * as _changelogHelper from '../../../lib/workers/pr/changelog';
 import { getConfig } from '../../../lib/config/defaults';
 import { platform as _platform, Pr } from '../../../lib/platform';
 import { mocked } from '../../util';
+import { PLATFORM_TYPE_GITLAB } from '../../../lib/constants/platfroms';
 
 const changelogHelper = mocked(_changelogHelper);
 const platform = mocked(_platform);
@@ -427,7 +428,7 @@ describe('workers/pr', () => {
       platform.getBranchLastCommitTime.mockResolvedValueOnce(new Date());
       config.prCreation = 'not-pending';
       config.artifactErrors = [{}];
-      config.platform = 'gitlab';
+      config.platform = PLATFORM_TYPE_GITLAB;
       const pr = await prWorker.ensurePr(config);
       expect(pr).toMatchObject({ displayNumber: 'New Pull Request' });
     });
diff --git a/test/workers/repository/finalise/prune.spec.ts b/test/workers/repository/finalise/prune.spec.ts
index cf0e6a88029fd9220ec3af911cb02e4f59609b68..001348bda9b3b1520c5a474f1a7f79ef2e407445 100644
--- a/test/workers/repository/finalise/prune.spec.ts
+++ b/test/workers/repository/finalise/prune.spec.ts
@@ -1,11 +1,12 @@
 import * as cleanup from '../../../../lib/workers/repository/finalise/prune';
 import { platform, RenovateConfig, getConfig } from '../../../util';
+import { PLATFORM_TYPE_GITHUB } from '../../../../lib/constants/platfroms';
 
 let config: RenovateConfig;
 beforeEach(() => {
   jest.resetAllMocks();
   config = getConfig();
-  config.platform = 'github';
+  config.platform = PLATFORM_TYPE_GITHUB;
   config.errors = [];
   config.warnings = [];
 });
diff --git a/test/workers/repository/master-issue.spec.ts b/test/workers/repository/master-issue.spec.ts
index e40ac92f5238a0d0532b5abd93d5e6646a7a3e19..f5b74921ebc60374c75d5453183ad9bc2468eb97 100644
--- a/test/workers/repository/master-issue.spec.ts
+++ b/test/workers/repository/master-issue.spec.ts
@@ -5,12 +5,13 @@ import * as masterIssue from '../../../lib/workers/repository/master-issue';
 import { RenovateConfig, getConfig, platform } from '../../util';
 import { BranchConfig, PrUpgrade } from '../../../lib/workers/common';
 import { Pr } from '../../../lib/platform';
+import { PLATFORM_TYPE_GITHUB } from '../../../lib/constants/platfroms';
 
 let config: RenovateConfig;
 beforeEach(() => {
   jest.resetAllMocks();
   config = getConfig();
-  config.platform = 'github';
+  config.platform = PLATFORM_TYPE_GITHUB;
   config.errors = [];
   config.warnings = [];
 });