From 99faf6fe0da7784460fe0e84162bcebf473002fc Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Mon, 17 Dec 2018 12:52:06 +0100 Subject: [PATCH] feat(github): detect/print Renovate user --- lib/platform/github/index.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/platform/github/index.js b/lib/platform/github/index.js index e7db43c946..a16abe9e6f 100644 --- a/lib/platform/github/index.js +++ b/lib/platform/github/index.js @@ -59,6 +59,21 @@ module.exports = { getVulnerabilityAlerts, }; +async function getRenovateUsername() { + if (!global.renovateUsername) { + try { + global.renovateUsername = (await get('user')).body.login; + } catch (err) { + if (err.message === 'integration-unauthorized') { + global.renovateUsername = 'renovate[bot]'; + } else { + throw err; + } + } + } + return global.renovateUsername; +} + // Get all repositories that the user has access to async function getRepos(token, endpoint) { logger.info('Autodiscovering GitHub repositories'); @@ -100,6 +115,9 @@ async function initRepo({ localDir, }) { logger.debug(`initRepo("${repository}")`); + logger.info( + 'Renovate is authenticated as user: ' + (await getRenovateUsername()) + ); logger.info('Using renovate version: ' + global.renovateVersion); const opts = hostRules.find({ platform: 'github' }, { token, endpoint }); if (!opts.token) { @@ -601,9 +619,10 @@ async function setBranchStatus( async function getIssueList() { if (!config.issueList) { logger.debug('Retrieving issueList'); + const renovateUsername = await getRenovateUsername(); const res = await get( `repos/${config.parentRepo || - config.repository}/issues?filter=created&state=open&per_page=100&sort=updated`, + config.repository}/issues?creator=${renovateUsername}&state=open&per_page=100&sort=updated`, { paginate: true, useCache: false } ); // istanbul ignore if -- GitLab