code: def get_list(self, project_name=None):
      query = db.session.query(db.Jobs).filter_by(
          company_id=ctx.company_id, deleted_at=sa.null()
      )
  
      project_controller = ProjectController()
      if project_name is not None:
          project = project_controller.get(name=project_name)
          query = query.filter_by(project_id=project.id)
  
      data = []
      project_names = {
          i.id: i.name for i in project_controller.get_list()
      }
      for record in query:
          data.append(
              {
                  "id": record.id,
                  "name": record.name,
                  "project": project_names[record.project_id],
                  "start_at": record.start_at,
                  "end_at": record.end_at,
                  "next_run_at": record.next_run_at,
                  "schedule_str": record.schedule_str,
                  "query": record.query_str,
                  "variables": query_context_controller.get_context_vars(
                      "job", record.id
                  ),
              }
          )
      return data
  
imports: import re
  import datetime
  from dateutil.relativedelta import relativedelta
  import sqlalchemy
  from mindsdb_sql import parse_sql, ParsingException
  from mindsdb.utilities.context import context
  from mindsdb.utilities.exception import EntityNotExistsError, EntityExistsError
  from mindsdb.interfaces.storage import db
  from mindsdb.interfaces.database.projects import ProjectController
  from mindsdb.interfaces.query_context.context_controller import query_context_controller
  from mindsdb.utilities import log
label_desc: Use image node_id 5 for calling the JobsController obj's underlying member method code with example usage: obj.get_list(project_name) and returns: data