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