| @ -2,6 +2,8 @@ | ||||
| #-*- coding: utf-8 -*- | ||||
|  | ||||
| import os | ||||
| import git as Git | ||||
| import re | ||||
|  | ||||
| from commitizen import git | ||||
| from commitizen.cz.base import BaseCommitizen | ||||
| @ -28,8 +30,50 @@ class nfc_cz(BaseCommitizen): | ||||
|     def changelog_message_builder_hook(self, parsed_message: dict, commit: git.GitCommit) -> dict: | ||||
|         rev = commit.rev | ||||
|         rev_short = str(rev)[0:8] | ||||
|         repo = Git.Repo(os.getcwd()) | ||||
|  | ||||
|         tree = list(repo.iter_commits(repo.active_branch)) | ||||
|  | ||||
|         footer_references = '' | ||||
|         for item in tree: | ||||
|  | ||||
|             if item.message.count("\n") > 2 and str(item).lower() == rev.lower(): | ||||
|                 footer_line = item.message.split("\n") | ||||
|                 footer_line = footer_line[(len(footer_line)-1)] | ||||
|                 footer = re.findall(r"([\!|\#][0-9]+)", str(item.message)) | ||||
|  | ||||
|                 try: | ||||
|  | ||||
|                     for reference in footer: | ||||
|  | ||||
|                         if '#' in reference: | ||||
|  | ||||
|                             footer_references += ' ' + str( | ||||
|                                 '[{0}]({1}/-/issues/{2})'.format( | ||||
|                                     reference, | ||||
|                                     os.environ['CI_PROJECT_URL'], | ||||
|                                     reference.replace('#', '') | ||||
|                                  ) | ||||
|                              ) | ||||
|  | ||||
|                         if '!' in reference: | ||||
|                             footer_references += ' ' + str( | ||||
|                                 '[{0}]({1}/-/merge_requests/{2})'.format( | ||||
|                                     reference, | ||||
|                                     os.environ['CI_PROJECT_URL'], | ||||
|                                     reference.replace('!', '') | ||||
|                                 ) | ||||
|                             ) | ||||
|  | ||||
|                 except Exception: | ||||
|                     pass | ||||
|  | ||||
|         if footer_references != '': | ||||
|             footer_references = ' [' + footer_references + ' ]' | ||||
|  | ||||
|         m = parsed_message["message"] | ||||
|         parsed_message["message"] = f"[{rev_short}](" + os.environ['CI_PROJECT_URL'] + f"/-/commit/{rev}) - {m}" | ||||
|         parsed_message["message"] = f"[{rev_short}](" + os.environ['CI_PROJECT_URL'] + f"/-/commit/{rev}) - {m}" + footer_references | ||||
|  | ||||
|         return parsed_message | ||||
|  | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user