If your job fails with the following error, even though the keys "jobs" and "version" are present in your config.yml, the cause for this can be YAML syntax validity issues (such as incorrect indentation) with the config.yml contents, leading to the config not being able to be parsed fully.
Your config file has errors and may not run correctly:
2 schema violations found
required key [jobs] not found
required key [version] not found
In this case, we recommend checking the config.yml contents for YAML syntax issues, using the "circleci config validate" command of the CircleCI Local CLI (https://circleci.com/docs/2.0/local-cli/). There are also many yaml linting tools that can help with detecting YAML syntax issues too, for example: https://yaml-online-parser.appspot.com/