Add new entities to better document the GLQL REST API

What does this MR do and why?

Add new entities to better document the GLQL REST API

  • Add new entities for result, data, field, page_info
  • Updates the API to use the result entity
  • Add specs
  • Update OpenApi V2 schema

API Documentation is being done in a separate MR: Add API documentation for the GLQL REST API end... (!215018 - merged)

References

Related to #573055 (closed), and follows up from Create a new GLQL REST API for Duo integration (!209517 - merged).

How to set up and validate locally

  1. Call the API with an appropriate GLQL YAML configuration:

    curl -X POST --location "http://gdk.test:8080/api/v4/glql" --http1.1 \
      -H "Host: gdk.test:8080" \
      -H "PRIVATE-TOKEN: {{privateToken}}" \
      -H "Content-Type: application/json" \
      -d '{
        "glql_yaml": "display: table\nfields: title, state, author, created\nsort: created desc\nlimit: 100\nquery: type = Issue and project = \"gitlab-duo/test\""
      }'
  2. Verify that it outputs a valid response on success

  3. Verify that it outputs a valid error state on failure

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Robert Hunt

Merge request reports

Loading