class_docstr: Jira Projects Table implementation
code: def call_jira_api(self, project):
      jira = self.handler.connect()
      max_records = jira.get_project_issues_count(project)
      max_records = 100
      jql_query = self.handler.construct_jql()
      max_results = self._MAX_API_RESULTS
      start_index = 0
      total = 1
      fields = [
          "key",
          "fields.summary",
          "fields.status.name",
          "fields.reporter.name",
          "fields.assignee.name",
          "fields.priority.name",
      ]
  
      all_jira_issues_df = pd.DataFrame(columns=fields)
  
      while start_index <= total:
          results = self.handler.connect().jql(
              jql_query, start=start_index, limit=max_results
          )
          df = pd.json_normalize(results["issues"])
          df = df[fields]
          start_index += max_results
          total = max_records
          all_jira_issues_df = pd.concat(
              [all_jira_issues_df, df], axis=0
          )
  
      all_jira_issues_df = all_jira_issues_df.rename(
          columns={
              "key": "key",
              "fields.summary": "summary",
              "fields.reporter.name": "reporter",
              "fields.assignee.name": "assignee",
              "fields.priority.name": "priority",
              "fields.status.name": "status",
          }
      )
  
      return all_jira_issues_df
  
file_path: mindsdb/mindsdb/integrations/handlers/jira_handler/jira_table.py
imports: import pandas
  from typing import List
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
  from mindsdb.utilities import log
  from mindsdb_sql.parser import ast
label_desc: Use image node_id 3 for calling the JiraProjectsTable obj's underlying member method code with example usage: obj.call_jira_api(project) and returns: all_jira_issues_df