code: def init_app(self, app, config_prefix=None):
          
          # Restore self.kill_session().
          self.kill_session = self.original_kill_session
  
          # Normalize the prefix and add this instance to app.extensions.
          config_prefix = (config_prefix or 'JIRA').rstrip('_').upper()
          if not hasattr(app, 'extensions'):
              app.extensions = dict()
          if config_prefix.lower() in app.extensions:
              raise ValueError('Already registered config prefix {0!r}.'.format(config_prefix))
          app.extensions[config_prefix.lower()] = _JIRAState(self, app)
  
          # Read config.
          args = read_config(app.config, config_prefix)
  
          # Initialize fully.
          try:
              super(JIRA, self).__init__(**args)
          except ConnectionError:
              if not app.config.get('{0}_IGNORE_INITIAL_CONNECTION_FAILURE'.format(config_prefix)):
                  raise
              LOG.exception('Ignoring ConnectionError.')
docs: Actual method to read JIRA settings from app configuration and initialize the JIRA instance.
  
          Positional arguments:
          app -- Flask application instance.
  
          Keyword arguments:
          config_prefix -- Prefix used in config key names in the Flask app's configuration. Useful for applications which
              maintain two authenticated sessions with a JIRA server. Default is 'JIRA'. Will be converted to upper case.
              Examples:
                  JIRA_SYSTEM_SERVER = 'http://jira.mycompany.com'
                  JIRA_SYSTEM_USER = 'system_account'
                  JIRA_SERVER = 'http://jira.mycompany.com'
                  JIRA_TOKEN = '<token for oauthing users>'