def _check_project_components()

in jbi/jira/service.py [0:0]


    def _check_project_components(self, action):
        project_key = action.parameters.jira_project_key
        specified_components = set(
            action.parameters.jira_components.set_custom_components
        )

        try:
            all_project_components = self.client.get_project_components(project_key)
        except requests.HTTPError:
            return [
                checks.Error(
                    f"Error checking project components for {project_key}",
                    id="jira.components.error",
                )
            ]

        try:
            all_components_names = set(comp["name"] for comp in all_project_components)
        except KeyError:
            return [
                checks.Error(
                    f"Unexpected get_project_components response for {action.whiteboard_tag}",
                    id="jira.components.parsing",
                )
            ]

        unknown = specified_components - all_components_names
        if unknown:
            return [
                checks.Warning(
                    f"Jira project {project_key} does not have components {unknown}",
                    id="jira.components.missing",
                )
            ]

        return []