diff --git a/lib/platform/bitbucket-server/index.js b/lib/platform/bitbucket-server/index.js
index f1592af5173463b35649561225465b57b6e41cf8..079ca4e2ac9f580e0c4a635f99ca436d001351e2 100644
--- a/lib/platform/bitbucket-server/index.js
+++ b/lib/platform/bitbucket-server/index.js
@@ -1,5 +1,6 @@
 const url = require('url');
 const _ = require('lodash');
+const addrs = require('email-addresses');
 
 const api = require('./bb-got-wrapper');
 const utils = require('./utils');
@@ -97,7 +98,14 @@ function cleanRepo() {
 }
 
 // Initialize GitLab by getting base branch
-async function initRepo({ repository, endpoint, gitFs, localDir }) {
+async function initRepo({
+  repository,
+  endpoint,
+  gitAuthor,
+  gitPrivateKey,
+  gitFs,
+  localDir,
+}) {
   logger.debug(
     `initRepo("${JSON.stringify(
       { repository, endpoint, gitFs, localDir },
@@ -120,7 +128,7 @@ async function initRepo({ repository, endpoint, gitFs, localDir }) {
   api.reset();
 
   const [projectKey, repositorySlug] = repository.split('/');
-  config = { projectKey, repositorySlug };
+  config = { projectKey, repositorySlug, gitPrivateKey };
 
   // Always gitFs
   const { host } = url.parse(opts.endpoint);
@@ -131,6 +139,18 @@ async function initRepo({ repository, endpoint, gitFs, localDir }) {
     repository,
   });
 
+  if (gitAuthor) {
+    try {
+      config.gitAuthor = addrs.parseOneAddress(gitAuthor);
+    } catch (err) /* istanbul ignore next */ {
+      logger.error(
+        { gitAuthor, err, message: err.message },
+        'Invalid gitAuthor'
+      );
+      throw new Error('Invalid gitAuthor');
+    }
+  }
+
   config.storage = new GitStorage();
   await config.storage.initRepo({
     ...config,
diff --git a/test/platform/bitbucket-server/index.spec.js b/test/platform/bitbucket-server/index.spec.js
index 6beeeb2bd532f6229e770fd0838795272e5201b8..8142cc393ae67adf7ac121dc223ebbd8cf334c14 100644
--- a/test/platform/bitbucket-server/index.spec.js
+++ b/test/platform/bitbucket-server/index.spec.js
@@ -65,7 +65,10 @@ describe('platform/bitbucket-server', () => {
       });
 
       function initRepo() {
-        return bitbucket.initRepo({ repository: 'SOME/repo' });
+        return bitbucket.initRepo({
+          repository: 'SOME/repo',
+          gitAuthor: 'bot@renovateapp.com',
+        });
       }
 
       describe('getRepos()', () => {