Custom queries in the VS Code extension

The GitLab Workflow extension adds a sidebar to VS Code. This sidebar displays default search queries for each of your projects:

  • Issues assigned to me
  • Issues created by me
  • Merge requests assigned to me
  • Merge requests created by me
  • Merge requests I’m reviewing

In addition to the default queries, you can create custom queries.

View search query results in VS Code

Prerequisites:

To see search results from your project:

  1. On the left vertical menu bar, select GitLab Workflow ( tanuki ) to display the extension sidebar.
  2. On the sidebar, expand Issues and merge requests.
  3. Select a project to view its queries, then select the query you want to run.
  4. Below the query title, select the search result you want to see.
  5. If your search result is a merge request, select what you want to view in VS Code:
    • Overview: the description, status, and any comments on this merge request.
    • The filenames of all files changed in this merge request. Select a file to view a diff of its changes.
  6. If your search result is an issue, select it to view its description, history, and comments in VS Code.

Create a custom query

Any custom queries you define override the default queries shown in the VS Code sidebar, under Issues and Merge requests.

To override the extension’s default queries and replace them with your own:

  1. In VS Code, on the top bar, go to Code > Preferences > Settings.

  2. On the top right corner, select Open Settings (JSON) to edit your settings.json file.

  3. In the file, define gitlab.customQueries, like in this example. Each query should be an entry in the gitlab.customQueries JSON array:

    {
      "gitlab.customQueries": [
        {
          "name": "Issues assigned to me",
          "type": "issues",
          "scope": "assigned_to_me",
          "noItemText": "No issues assigned to you.",
          "state": "opened"
        }
      ]
    }
  4. Optional. When you customize gitlab.customQueries, your definition overrides all default queries. To restore any of the default queries, copy them from the default array in the extension’s desktop.package.json file.

  5. Save your changes.

Supported parameters for all queries

Not all item types support all parameters. These parameters apply to all query types:

ParameterRequiredDefaultDefinition
namecheck-circle Yesnot applicableThe label to show in the GitLab panel.
noItemTextdotted-circle NoNo items found.The text to show if the query returns no items.
typedotted-circle Nomerge_requestsWhich item types to return. Possible values: issues, merge_requests, epics, snippets, vulnerabilities. Snippets don’t support any other filters. Epics are available only on GitLab Premium and Ultimate.

Supported parameters for issue, epic, and merge request queries

ParameterRequiredDefaultDefinition
assigneedotted-circle Nonot applicableReturn items assigned to the given username. None returns unassigned GitLab items. Any returns GitLab items with an assignee. Not available for epics and vulnerabilities.
authordotted-circle Nonot applicableReturn items created by the given username.
confidentialdotted-circle Nonot applicableFilter confidential or public issues. Available only for issues.
createdAfterdotted-circle Nonot applicableReturn items created after the given date.
createdBeforedotted-circle Nonot applicableReturn items created before the given date.
draftdotted-circle NonoFilter merge requests against their draft status: yes returns only merge requests in draft status, no returns only merge requests not in draft status. Available only for merge requests.
excludeAssigneedotted-circle Nonot applicableReturn items not assigned to the given username. Available only for issues. For the current user, set to <current_user>.
excludeAuthordotted-circle Nonot applicableReturn items not created by the given username. Available only for issues. For the current user, set to <current_user>.
excludeLabelsdotted-circle No[]Array of label names. Available only for issues. Items returned have none of the labels in the array. Predefined names are case-insensitive.
excludeMilestonedotted-circle Nonot applicableThe milestone title to exclude. Available only for issues.
excludeSearchdotted-circle Nonot applicableSearch GitLab items that doesn’t have the search key in their title or description. Works only with issues.
labelsdotted-circle No[]Array of label names. Items returned have all labels in the array. None returns items with no labels. Any returns items with at least one label. Predefined names are case-insensitive.
maxResultsdotted-circle No20The number of results to show.
milestonedotted-circle Nonot applicableThe milestone title. None lists all items with no milestone. Any lists all items with an assigned milestone. Not available for epics and vulnerabilities.
orderBydotted-circle Nocreated_atReturn entities ordered by the selected value. Possible values: created_at, updated_at, priority, due_date, relative_position, label_priority, milestone_due, popularity, weight. Some values are specific to issues, and some to merge requests. For more information, see List merge requests.
reviewerdotted-circle Nonot applicableReturn merge requests assigned for review to this username. For the current user, set to <current_user>. None returns items without a reviewer. Any returns items with a reviewer.
scopedotted-circle NoallReturn GitLab items for the given scope. Not applicable for epics. Possible values: assigned_to_me, created_by_me, all.
searchdotted-circle Nonot applicableSearch GitLab items against their title and description.
searchIndotted-circle NoallChange the scope of the excludeSearch search attribute. Possible values: all, title, description. Works only with issues.
sortdotted-circle NodescReturn issues sorted in ascending or descending order. Possible values: asc, desc.
statedotted-circle NoopenedReturn all issues, or only those matching a particular state. Possible values: all, opened, closed.
updatedAfterdotted-circle Nonot applicableReturn items updated after the given date.
updatedBeforedotted-circle Nonot applicableReturn items updated before the given date.

Supported parameters for vulnerability report queries

Vulnerability reports don’t share any common query parameters with other entry types. Each parameter listed in this table works with vulnerability reports only:

ParameterRequiredDefaultDefinition
confidenceLevelsdotted-circle NoallReturns vulnerabilities belonging to specified confidence levels. Possible values: undefined, ignore, unknown, experimental, low, medium, high, confirmed.
reportTypesdotted-circle NoNot applicableReturns vulnerabilities belonging to specified report types. Possible values: sast, dast, dependency_scanning, container_scanning.
scopedotted-circle NodismissedReturns vulnerability findings for the given scope. Possible values: all, dismissed. For more information, see the Vulnerability findings API.
severityLevelsdotted-circle NoallReturns vulnerabilities belonging to specified severity levels. Possible values: undefined, info, unknown, low, medium, high, critical.