Metrics Dashboard YAML validation - add auxiliary blob view for dashboard files.

What does this MR do?

Implementation of #219395 (closed)

It adds basic validations for metrics dashboard YAML definitions by extending existing implementation with blob show in auxiliary viewer which is used for .gitlab-ci.yml. Upon displaying file from .gitlab/dashboards directory, additional ajax request is made to perform basic validation, and display its results. For the MVC validation process stops at first entry which is invalid and reports encountered errors

Screenshots

Implemented validations (all are available in review apps while browsing different files at https://gitlab-review-mwaw-21028-4p588v.gitlab-review.app/gitlab-qa-sandbox-group/qa-test-2020-05-28-08-20-15-2110ca8d56e4a554/autodevops-project-510a79b8219de037/-/tree/master/.gitlab/dashboards):

I. YAML syntax Screenshot_2020-05-28_at_14.21.05 II. Invalid dashboard entry Screenshot_2020-05-28_at_14.22.30 III. Invalid group entry Screenshot_2020-05-28_at_14.24.13 IV. Invalid panel entry Screenshot_2020-05-28_at_14.24.50 V. Invalid metrics entry Screenshot_2020-05-28_at_14.25.27

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by 🤖 GitLab Bot 🤖