Enable the GraphQL Console
This topic covers the deployment and upgrade steps for the GraphQL Console and the related query-engine capabilities delivered in Vera 2026.2. Complete these steps after you upgrade the containers and databases to the 2026.2 release. To learn how administrators use the console, check out Query and export Vera data.
Choose the path that matches your environment:
-
For new installations, deploy the services below and enable the feature flag. Vera imports the default document types and templates on first startup.
-
For upgrades from a previous version, follow every section in this topic, including the Requirements Traceability Matrix template update if you use RTM reports.
Deploy the required services
The GraphQL Console requires three cooperating components:
|
Component |
Role |
|---|---|
|
|
HotChocolate GraphQL API and the bundled query IDE assets (Nitro / Banana Cake Pop). |
|
|
Admin-only proxy at |
|
|
Document generation; must reach the query engine for data. |
Docker Compose
Add or verify the following in your docker-compose.yml file. The query engine must stay on the internal Docker network. Don't publish its port to the host or expose it through your ingress. Administrators reach GraphQL only through the web portal proxy.
For the web portal, set the upstream query-engine URL:
vera.web.portal:
environment:
# Upstream for /api/admin/graphql (internal service name only)
- VERA_QUERY_ENGINE_URL=http://vera.query.engine/graphql
# Feature flag, see the next section
- VERA_WEB_PORTAL_ENABLE_GRAPHQL_CONSOLE=true
For the query engine, add the service with no host port mapping:
vera.query.engine:
image: veraserver20190209075900.azurecr.io/tricentis/vera-query-engine:${VERA_RELEASE_TAG}
container_name: vera-query-engine
restart: always
volumes:
- ${VERA_SERVER_DATA_DIRECTORY}:/Data
environment:
- ASPNETCORE_URLS=http://+:80
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
- RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
- MongoDBConnectionString=mongodb://host.docker.internal:27017/
- LocalAddress=http://vera.query.engine
- VERA_SERVER_DATA_DIR=/Data
- VeraServerUrl=http://vera.server:5000
# Public portal origin used in attachment download URLs
- VeraWebPortalUrl=${VERA_WEB_PORTAL_URL}
For the documents worker, configure the query-engine address and the default import volumes:
vera.worker.documents:
volumes:
- ${VERA_SERVER_DATA_DIRECTORY}:/Data
- ${VERA_SERVER_DATA_DIRECTORY}/DocumentTypes:/app/DocumentTypeImport/DefaultDocumentTypes
- ${VERA_SERVER_DATA_DIRECTORY}/DocumentTemplates:/app/TemplateImport/DefaultTemplates
environment:
- QueryEngineAddress=http://vera.query.engine/graphql
depends_on:
- vera.query.engine
- vera.worker.carbone
Kubernetes (Helm)
When you deploy with the Vera Helm chart:
-
The chart sets
VERA_QUERY_ENGINE_URLautomatically on the web portal Deployment. -
The chart sets
VeraWebPortalUrlautomatically on the query-engine Deployment from the runtime public origin. -
Set
webPortal.enableGraphqlConsole: "true"in your client values. This maps to the ConfigMap keyenable-graphql-consoleand the environment variableVERA_WEB_PORTAL_ENABLE_GRAPHQL_CONSOLE.
Enable the feature flag
The GraphQL Console is off by default for phased rollout. Set the flag for your deployment type:
|
Deployment |
Setting |
|---|---|
|
Docker Compose |
|
|
Helm / Kubernetes |
|
|
Portal config file |
|
When the flag is disabled, the admin sidebar hides GraphQL Console, the React route is unavailable, and /api/admin/graphql returns HTTP 404.
Restart the web portal after you change the flag.
Update the Requirements Traceability Matrix (upgrades only)
Vera 2026.2 adds approvalDateTime, executionStartTime, and executionEndTime to the RTM GraphQL results. New installations receive the updated document type and template automatically. Existing environments must upload the revised template file.
Step 1: Locate the RTM template ID
To find the template ID, follow these steps:
-
Sign in to Site Administration as a system administrator.
-
Open Document Templates.
-
Find the template named Requirement Traceability Matrix and note its template ID (GUID).
Alternatively, call the templates filter API:
POST /rest/api/documents/templates/filter
Content-Type: application/json
Api-User-Token: <admin-token>
{
"filter": {
"name": { "contains": "Requirement Traceability Matrix" }
}
}
Step 2: Upload the revised template
Revise the template file with a PUT request. Use the updated Requirement Traceability Matrix.xlsx from the vera-documents-templates 2026.2 package, which includes the Approval Date and Execution Start and End columns:
PUT /rest/api/documents/templates/{templateId}
Content-Type: multipart/form-data
Api-User-Token: <admin-token>
correlationId: <new-guid>
name: Requirement Traceability Matrix
description: Requirement Traceability Matrix
documentTypeId: <document-type-guid>
ownerUserId: <owner-user-guid>
templateFile: <Requirement Traceability Matrix.xlsx>
The following example uses curl. Replace the placeholders with values from your environment:
curl -X PUT "https://<your-vera-host>/rest/api/documents/templates/{templateId}" \
-H "Api-User-Token: <admin-token>" \
-F "correlationId=$(uuidgen)" \
-F "name=Requirement Traceability Matrix" \
-F "description=Requirement Traceability Matrix" \
-F "documentTypeId=<document-type-guid>" \
-F "ownerUserId=<owner-user-guid>" \
-F "templateFile=@Requirement Traceability Matrix.xlsx;type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
In generated RTM documents, approval dates display in GMT. Execution start and end dates use the format stored in the database, which differs from the approval date format.
Verify the installation
To confirm the console works, follow these steps:
-
Confirm that the
vera-query-engine,vera-web-portal, andvera-worker-documentscontainers are healthy. -
Confirm that
VERA_WEB_PORTAL_ENABLE_GRAPHQL_CONSOLE=true, or the Helm equivalent, and restart the portal if you changed it. -
Sign in as a system administrator and open Reports > GraphQL Console.
-
Run a simple introspection or test query, for example
{ domains { name } }. -
Generate an RTM document for a test release and confirm that the approval and execution date columns populate.
Security notes
Follow these security practices for the query engine:
-
Don't expose
vera-query-engineon a public URL. -
The portal proxy rejects mutations. Don't bypass it with direct engine access.
-
Vera logs GraphQL query execution server-side, but it doesn't write Audit History entries.
What's next
Query and export Vera data to build compliance and reporting exports with the console.