From 9983c4369773742d4b4c758e923902fce9db8801 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 5 May 2020 20:00:00 +0200 Subject: [PATCH] Add issue_tracker property to manifest (#35153) --- homeassistant/loader.py | 5 +++++ script/hassfest/manifest.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/homeassistant/loader.py b/homeassistant/loader.py index 3c7e4699127..bb02b35a6e8 100644 --- a/homeassistant/loader.py +++ b/homeassistant/loader.py @@ -243,6 +243,11 @@ class Integration: """Return documentation.""" return cast(str, self.manifest.get("documentation")) + @property + def issue_tracker(self) -> Optional[str]: + """Return issue tracker link.""" + return cast(str, self.manifest.get("issue_tracker")) + @property def quality_scale(self) -> Optional[str]: """Return Integration Quality Scale.""" diff --git a/script/hassfest/manifest.py b/script/hassfest/manifest.py index 7ae2ae818a5..9e326cb7965 100644 --- a/script/hassfest/manifest.py +++ b/script/hassfest/manifest.py @@ -21,7 +21,7 @@ def documentation_url(value: str) -> str: return value parsed_url = urlparse(value) - if not parsed_url.scheme == DOCUMENTATION_URL_SCHEMA: + if parsed_url.scheme != DOCUMENTATION_URL_SCHEMA: raise vol.Invalid("Documentation url is not prefixed with https") if parsed_url.netloc == DOCUMENTATION_URL_HOST and not parsed_url.path.startswith( DOCUMENTATION_URL_PATH_PREFIX @@ -46,6 +46,9 @@ MANIFEST_SCHEMA = vol.Schema( vol.Required("documentation"): vol.All( vol.Url(), documentation_url # pylint: disable=no-value-for-parameter ), + vol.Optional( + "issue_tracker" + ): vol.Url(), # pylint: disable=no-value-for-parameter vol.Optional("quality_scale"): vol.In(SUPPORTED_QUALITY_SCALES), vol.Optional("requirements"): [str], vol.Optional("dependencies"): [str],