This patch fix the error release state not work when it set to
offline and submit it to Java gateway, it error because we do
not pass the attribute to Java gateway function
`createOrUpdateProcessDefinition`
close: #9779
(cherry picked from commit 56e0ea802d)
Add a new method to get config from environment variables
and for now, we have three ways to get config and the
priority is `env-var > custom-config-file > built-in-config-file`.
Environment config setting does not work in CLI, because it will
confuse users when they get config value is `var-env` but value
in the configuration file is `var-in-file`, they may not find
the way how to change it
* Add documentation
* Add it to UPDATING.md
close: #8344
* Change `yaml_parser.py` method `to_string` to magic method
`__str__` make it more pythonic.
* Add some tests to magic method `__str__` and `__repr__`
* [python] refactor yaml file parser
* Change yaml parser package to ruamel.yaml
* Refactor configuration.py module
* And file.py to write file locally
* Add more tests on it
close: #8593
* Fix UT error
* Remove pypyaml from tests
* Fix file error when param create is False
* Fix error logic
* And tests to avoid regression
* [python] Add config mechanism and cli subcommand config
* Add configuration.py mechanism for more easy change config
and move some configs to it. It mechanism including
configuration.py module and default_config.yaml file
* Add `config` for cli subcommand allow users initialize, get,
set configs
close: #8344
* Change setup.py format
* [ci] Add coverage check in CI
* Coverage add dependent
* Install pydolphinscheduler before run coverage
* Up test coverage to 87% and down threshold to 85%
* Fix code style
* Add doc about coverage
* [python] Add parameter schedule for process definition
* Rebase and fix some code style
* May schedule work on both string and datetime
* Fix flaky test
* Add comment about freeze time
* Add edge test for schedule_json with None schedule
* Fix test function name
* Fix rebase error