def check_jira_all_project_custom_components_exist()

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


    def check_jira_all_project_custom_components_exist(self, actions):
        # Do not bother executing the rest of checks if connection fails.

        if messages := self.check_jira_connection():
            return messages

        results = []

        with concurrent.futures.ThreadPoolExecutor() as executor:
            futures = {
                executor.submit(self._check_project_components, action): action
                for action in actions
                if action.parameters.jira_components.set_custom_components
            }
            for future in concurrent.futures.as_completed(futures):
                results.extend(future.result())
        return results