Add support for variables in GLQL
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=561707) </details> <!--IssueSummary end--> In order to have GLQL-powered dashboards, we need to be able to inject some external filters in the GLQL query. Dashboards can have their own [filters](https://design.gitlab.com/storybook/?path=/docs/dashboards-dashboards-layout--docs#filters) (e.g. datetime range or project selector), which are then passed down to the panels to be able to fetch filtered data appropriately. Filters could be generic at dashboard level, or specific at panel level. For instance, imagine a dashboard with 2 panels, one for merged MRs and one for closed issues, controlled by the same page-wide date filter. In the MR panels, you would want to query `merged < DATE`, while on the issues panel you would want to query `closed < DATE`. I thought variables could be a flexible way to handle this scenario (but there might be other ways too?) For instance, ``` query: project = $PROJECT and type = MergeRequest and merged <= $MERGED_DATE variables: MERGED_DATE = foo PROJECT: bar ``` where `MERGED_DATE` and `PROJECT` would then be set appropriately by the dashboard environment. [Initial discussion](https://gitlab.com/gitlab-org/gitlab/-/issues/556730#note_2688415365)
issue