Add CI features to GitLab API
Currently the GitLab API is lacking almost all CI features.
We are unable to:
- update the project CI settings - !2303 (merged)
- list/create/update/delete variables - !2264 (merged)
- list/create/delete triggers - !2286 (merged)
- list/update/delete runners (nice to have) - !2640 (merged)
- list/update/delete shared runners (nice to have) - !2640 (merged)
- list commits with CI data - !2261
- extend details of single commit to include CI data - !2261
- list recent builds (running, finished or all) - !2207 (merged)
- cancel or retry builds - !2207 (merged)
The task is to implement or reimplement this in context of GitLab API. Some of the mentioned features were already implemented in GitLab CI API.
How we should do it?
- Decide how the new API endpoints would look like (@ayufan can help with that).
- (Re-)Implement this by reusing code from https://gitlab.com/gitlab-org/gitlab-ce/tree/8-2-stable/lib/ci/api.
- Add tests (@ayufan can help with that).