diff --git a/dojo/models.py b/dojo/models.py index 99074a9cf3b..725138221d2 100644 --- a/dojo/models.py +++ b/dojo/models.py @@ -3197,7 +3197,7 @@ def get_scm_type(self): st = dojo_meta.value.strip() if st: return st.lower() - return "" + return settings.DEFAULT_SCM_TYPE def scm_public_prepare_base_link(self, uri): # scm public (https://scm-domain.org) url template for browse is: diff --git a/dojo/settings/settings.dist.py b/dojo/settings/settings.dist.py index 4f72fa171ce..ba26b277109 100644 --- a/dojo/settings/settings.dist.py +++ b/dojo/settings/settings.dist.py @@ -304,6 +304,10 @@ # For HTTP requests, how long connection is open before timeout # This settings apply only on requests performed by "requests" lib used in Dojo code (if some included lib is using "requests" as well, this does not apply there) DD_REQUESTS_TIMEOUT=(int, 30), + # When scm-type is not found for a product returns the specified value + DD_DEFAULT_SCM_TYPE=(str, ""), + # When set, use this method for connect to jira + DD_JIRA_CONNECT_METHOD=(str, ""), ) @@ -1807,6 +1811,17 @@ def saml2_attrib_map_format(dict): # ------------------------------------------------------------------------------ REQUESTS_TIMEOUT = env("DD_REQUESTS_TIMEOUT") +if env("DD_DEFAULT_SCM_TYPE") in ["github", "gitlab", "gitea", "codeberg", "bitbucket", "bitbucket-standalone"]: + DEFAULT_SCM_TYPE = env("DD_DEFAULT_SCM_TYPE") +else: + DEFAULT_SCM_TYPE = "" + +# Example: +# For file /app/dojo/jira_link/helper_jira.py with method connect_to_jira_by_token(jira_server, _, jira_token) +# DD_JIRA_CONNECT_METHOD = dojo.jira_link.helper_jira.connect_to_jira_by_token +if env("DD_JIRA_CONNECT_METHOD"): + JIRA_CONNECT_METHOD = env("DD_JIRA_CONNECT_METHOD") + # ------------------------------------------------------------------------------ # Ignored Warnings # ------------------------------------------------------------------------------