I can have different types of JIRA query

This commit is contained in:
2025-07-21 23:21:40 +02:00
parent a0cf5aff0c
commit e793aeda95
4 changed files with 58 additions and 20 deletions

View File

@@ -92,17 +92,20 @@ class TableDataProducer(DataProducer):
class JiraDataProducer(DataProducer):
"""Base class for data producers that emit data from Jira."""
def __init__(self, session, settings_manager, component_id, jira_object='issues', jira_query=''):
def __init__(self, session, settings_manager, component_id, request_type='issues', request=''):
super().__init__(component_id)
self._session = session
self.settings_manager = settings_manager
self.jira_object = jira_object
self.jira_query = jira_query
self.request_type = request_type
self.request = request
self.db = AdminDbManager(session, settings_manager).jira
def emit(self, data: Any = None) -> Generator[Any, None, None]:
jira = Jira(self.db.user_name, self.db.api_token)
yield from jira.jql(self.jira_query)
if not hasattr(jira, self.request_type):
raise ValueError(f"Invalid request type: {self.request_type}")
yield from getattr(jira, self.request_type)(self.request)
class DefaultDataFilter(DataFilter):