Added simple filter queries for collections in the server API. Such
queries should cover simpler cases, while more complex filters should
use the JSON syntax.
- Added simple filters for collection endpoints in API (e.g.
`/tasks?project_id=42&user=myusername`)
- Removed duplicating collection endpoints in API in favor of their full
versions:
- `/projects/{id}/tasks` -> `/tasks?project_id={id}`
- `/tasks/{id}/jobs` -> `/jobs?task_id={id}`
- `/jobs/{id}/issues` -> `/issues?job_id={id}`
- `/issue/{id}/comments` -> `/comments?issue_id={id}`
- Corresponding owning objects now return a link to the collection:
- `/projects/{id}`: `.tasks`
- `/tasks/{id}`: `.jobs`
- `/jobs/{id}`: `.issues`
- `/issue/{id}`: `.comments`
- Fixed errors in the generated server API schema:
- Input and output types in all the basic model methods (`Create`,
`Update`, `Retrieve`, `Delete`)
- Removed invalid separation for the project list operation response
type
- File structure for projects in the dataset cache is updated to store
the new project representation. Old caches will be invalidated.
- Added tests
Related: #5225
External services are not available when we execute in Helm.
- Added a way to mark REST API tests that require external services to
run
- Changed the way of filtering tests in Helm tests
Currently, we can't execute external service mocks in tests, and we
ignore related tests in the Helm
execution command. But this command may be outdated, because Helm tests
are not executed in each PR.
This PR allows to indicate related tests and filter them out without the
need to synchronize the CI command.