def check_job_json(self) -> None:
    'Validate feed files for feed job apps.'
    if ('install.json' in self.invalid_json_files):
        return
    app_version = (self.tj.model.package.app_version or self.ij.model.package_version)
    program_name = f'{self.tj.model.package.app_name}_{app_version}'.replace('_', ' ')
    status = True
    for feed in self.ij.model.feeds:
        if (feed.job_file in self.invalid_json_files):
            continue
        jj = JobJson(filename=feed.job_file)
        if (not jj.fqfn.is_file()):
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json file could not be found.')
            continue
        try:
            jj.model
        except ValidationError as ex:
            status = False
            for error in json.loads(ex.json()):
                location = [str(location) for location in error.get('loc')]
                self.validation_data['errors'].append(f"Schema validation failed for {feed.job_file}. {error.get('msg')}: {' -> '.join(location)}")
        if ((status is True) and (jj.model.program_name != program_name)):
            status = False
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json programName {jj.model.program_name} != {program_name}.')
        if ((status is True) and (jj.model.program_version != self.ij.model.program_version)):
            status = False
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json programVersion {jj.model.program_version} != {self.ij.model.program_version}.')
        self.validation_data['schema'].append({'filename': feed.job_file, 'status': status})
Validate feed files for feed job apps.
def check_job_json(self) -> None:
    
    if ('install.json' in self.invalid_json_files):
        return
    app_version = (self.tj.model.package.app_version or self.ij.model.package_version)
    program_name = f'{self.tj.model.package.app_name}_{app_version}'.replace('_', ' ')
    status = True
    for feed in self.ij.model.feeds:
        if (feed.job_file in self.invalid_json_files):
            continue
        jj = JobJson(filename=feed.job_file)
        if (not jj.fqfn.is_file()):
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json file could not be found.')
            continue
        try:
            jj.model
        except ValidationError as ex:
            status = False
            for error in json.loads(ex.json()):
                location = [str(location) for location in error.get('loc')]
                self.validation_data['errors'].append(f"Schema validation failed for {feed.job_file}. {error.get('msg')}: {' -> '.join(location)}")
        if ((status is True) and (jj.model.program_name != program_name)):
            status = False
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json programName {jj.model.program_name} != {program_name}.')
        if ((status is True) and (jj.model.program_version != self.ij.model.program_version)):
            status = False
            self.validation_data['errors'].append(f'Schema validation failed for {feed.job_file}. The job.json programVersion {jj.model.program_version} != {self.ij.model.program_version}.')
        self.validation_data['schema'].append({'filename': feed.job_file, 'status': status})