Skip to content

WIP: Extend External CI integration for MR Widget to show pending state of a build

What does this MR do?

  • It extends Gitlab to also show the pending state of a build running on an external CI system. Currently it only shows "failed" or if the build succeeds it shows "success". With this MR it will also displays when a build is running (as it already does, if you use Gitlab CI)
  • This MR also fixes a bug, that shows an error message when using TeamCity as CI-Server (maybe affect also some other external CI-Systems) if you open a merge request for the first time (see (1)). The reason for this error is, that the reactive cache, which is used in the teamcity_service, returns null when it's triggered for the first time. This null value is then written into the initial vue store and then produces the error. I fixed it by returning "pending" state when the reactive_cache is null. (I know thats not the cleanest solution for that)
  • The last thing I added to this MR is the ability to show the link and the state of the current CI-Build of the external build system.

Are there points in the code the reviewer needs to double check?

Find a better solution for point 2 in my description. (I hope you have one)

Why was this MR needed?

Because the current MR Widget shows an error to the user that the CI Servers are not reachable, but thats not right.

Screenshots (if relevant)

(1) https://prnt.sc/j4d9cd

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Merge request reports