diff --git a/.cspell.json b/.cspell.json index f2c8169afdb..84e0784cee8 100644 --- a/.cspell.json +++ b/.cspell.json @@ -46,6 +46,7 @@ "RQASWB", "SCSSLINT", "SOURCEBRANCHNAME", + "SOURCEBRANCH", "SOURCEREPOSITORYURI", "St\u00e9phane", "Suero", diff --git a/megalinter/reporters/UpdatedSourcesReporter.py b/megalinter/reporters/UpdatedSourcesReporter.py index 2b56ced28a1..00b1c56b00c 100644 --- a/megalinter/reporters/UpdatedSourcesReporter.py +++ b/megalinter/reporters/UpdatedSourcesReporter.py @@ -68,17 +68,27 @@ def produce_report(self): if not config.exists(self.master.request_id, "GITHUB_REPOSITORY"): apply_fixes = config.get(self.master.request_id, "APPLY_FIXES", "none") if apply_fixes.lower() != "none": + SYSTEM_PULLREQUEST_SOURCEBRANCH = config.get( + self.master.request_id, "SYSTEM_PULLREQUEST_SOURCEBRANCH", "" + ) + if SYSTEM_PULLREQUEST_SOURCEBRANCH != "": + remote_branch = SYSTEM_PULLREQUEST_SOURCEBRANCH + BITBUCKET_BRANCH = config.get( + self.master.request_id, "BITBUCKET_BRANCH", "" + ) + if BITBUCKET_BRANCH != "": + remote_branch = BITBUCKET_BRANCH try: repo = git.Repo(os.path.realpath(self.master.github_workspace)) repo.config_writer().set_value("user", "name", "MegaLinter").release() repo.config_writer().set_value("user", "email", "megalinter@megalinter.io").release() repo.git.add(update=True) repo.git.commit('-m', 'megalinter auto fixes') - repo.git.push() - except git.GitCommandError as giterr: + repo.git.push('origin', f'HEAD:{remote_branch}') + except git.GitCommandError as git_err: logging.error( c.red( - "❌ [Updated Sources Reporter] Failed to git push auto fixes: " + str(giterr.stderr) + "❌ [Updated Sources Reporter] Failed to git push auto fixes: " + str(git_err.stderr) ) ) logging.warning(