Skip to content

Implement Commit Status API

Kamil Trzcińśki requested to merge commit_status into master

This is preliminary implementation of Commit Status API, pretty much compatible with GitHub.

  1. The Commit Statuses are stored in separate table: ci_commit_status.
  2. The POST inserts a new row.
  3. To POST execute GitLab API post :id/repository/commits/:sha/status. This accepts dual authorization:
  • Using authorized user
  • Using ci-token to allow easy posting from CI Services
  1. This adds predefined variable to GitLab CI build environment: CI_BUILD_STATUS_URL, allowing to easy post status from within build (ex. with code coverage or other metrics).
  2. This adds statuses to commit's builds view.
  3. The commit's status is calculated taking into account status of all builds and all posted statuses.
  4. The commit statuses doesn't trigger notifications.
  5. The commit status API introduces two new privileges: read_commit_statuses and create_commit_status.
  6. We still miss a few tests and documentation updates for API and CI.

@dzaporozhets @sytses What do you think?

Merge request reports