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>'

def init_app(self, app, config_prefix=None):
        """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>'
        """
        # 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.')