Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/wiki.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Publish wiki
on:
push:
branches: [ main ]
paths:
- docs/wiki/**
- .github/workflows/wiki.yml
concurrency:
group: publish-wiki
cancel-in-progress: true
permissions:
contents: write
jobs:
publish-wiki:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: Andrew-Chen-Wang/github-wiki-action@v4
with:
path: docs/wiki
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,16 @@
- All code style & highlighting settings will be inherited from the DQL language.
- All suitable DQL inspections will be applied to the expression, allowing the user to validate them.
- Code completion and hover documentation are also supported.
- **Breaking**: Changing the approach to the default Dynatrace tenant used for connections - it will be the first tenant
specified in the list (previously the user needed to specifically select the default one).
- Created Wiki pages with documentation for the plugin features

### Bug fixes

- Creating an empty DQL variable using the `$type: dql` syntax will now create a multiline comment instead of causing an
error
- When modifying or deleting a Dynatrace tenant that was already used, files using it will ask the user to select a new
tenant.

## [1.4.0] - 2026-01-28

Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,7 @@ issues and — where possible — offering a quick fix to resolve them. It can d

#### Documentation tooltips

You can hover over query parts to see more information about the element. The information is taken from the Dynatrace
documentation page.
You can hover over query parts to see more information about the element.

- DQL command documentation: description, list of available parameters
- DQL functions documentation: description, syntax, list of available parameters, return values
Expand All @@ -115,7 +114,7 @@ Unfortunately, those variable expressions are not supported outside Dynatrace Da
always fail with the `$` usage error. Because the Dynatrace REST API can only return a single error, this would mean
that expressions defined after the variable would not be reported as errors, rendering the validation very limited.

As a workaround for the problem, the plugin allows specifying variable placeholders in a special file,
As a solution for the problem, the plugin allows specifying variable placeholders in a special file,
`dql-variables.json`. If the placeholder for the variable was defined, it will be replaced with it before sending the
DQL query to the tenant.

Expand All @@ -129,9 +128,9 @@ DQLs.
You can connect to the Dynatrace tenant in IntelliJ settings (`Tools` -> `Dynatrace Query Language` -> `Tenants`).
Currently, the only supported authentication method is providing a token. You can see more about that
[in the official docs](https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-api/basics/dynatrace-api-authentication).
By default, the token should include the `storage:buckets:read`, but you will also need to add permissions to the
specific data types, like: `storage:logs:read`, `storage:spans:read`, `storage:events:read`, `storage:bizevents:read`
`storage:entities:read` etc., depending on your needs.
By default, the token should include the `storage:buckets:read` permission, but you will also need to add permissions to
the specific data types, like: `storage:logs:read`, `storage:spans:read`, `storage:events:read`,
`storage:bizevents:read`, `storage:entities:read` etc., depending on your needs.

#### DQL execution on a specific tenant

Expand Down
File renamed without changes.
39 changes: 39 additions & 0 deletions docs/wiki/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# ![Dynatrace logo](../../src/main/resources/icons/dynatrace.png) Dynatrace DSL for JetBrains IDE

This plugin adds support for Dynatrace domain-specific languages:
[Dynatrace Query Language (DQL)](https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-query-language)
and
[Dynatrace Pattern Language (DPL)](https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/dynatrace-pattern-language).

> ℹ️ **Note**:
> This product is a community-driven open-source plugin, helping users write and execute DQL statements within JetBrains
> IDEs.
> It's not officially supported by Dynatrace, please report any errors directly
> via [GitHub Issues](https://github.com/dynatrace-oss/intellij-idea-dql/issues).

## Supported IDEs

The plugin works with most IDEs in JetBrains stack (you can find the exact list of compatible IDEs in the
plugins [marketplace page](https://plugins.jetbrains.com/plugin/28135-dynatrace-query-language/versions?noRedirect=true)).

It does not work with other IDEs like Visual Studio Code, as it heavily uses JetBrains SDK features.

## Getting started

You can find the information about installation and plugin configuration inside the
dedicated [installation guide](installation.md).

## Usage

Because the supported features differ between supported languages, you can find the usage details in dedicated
subpages:

- [Dynatrace Query Language (DQL)](dql.md)
- [Dynatrace Pattern Language (DPL)](dpl.md)
- [Expressions DQL (EDQL)](edql.md) - smaller subset of DQL files, allowing to specify only expressions without the DQL
command context

## Changelog

You can see the list of changes in the
dedicated [changelog](https://github.com/dynatrace-oss/intellij-idea-dql/blob/main/CHANGELOG.md) page.
46 changes: 46 additions & 0 deletions docs/wiki/dpl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Dynatrace Pattern Language

The plugin adds support of
the [Dynatrace Pattern Language (DPL)](https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/dynatrace-pattern-language).
inside the `.dpl` files.

## Features

### Code style settings

The plugin adds a support for customizing the DPL code style. You can find the settings under a dedicated page in
`Settings` > `Editor` > `Code Style` > `Dynatrace Pattern Language`.

### Custom color scheme

The color scheme used for DPL files can be customized in `Settings` > `Editor` > `Color Scheme` >
`Dynatrace Pattern Language`.

### Code completion

Depending on the context of the DPL pattern, the plugin will suggest relevant options for code completion.
It supports commands and configuration parameters.

### Inspections

The plugin adds a lot of fully local inspections, verifying the DPL syntax and context without the need to connect to
a Dynatrace tenant. You can configure which issues should be reported by the plugin inside the `Settings` > `Editor` >
`Inspections` > `Dynatrace Pattern Language` view.

### Intentions

The list of supported intentions is available in the `Settings` > `Editor` >
`Intentions` > `Dynatrace Pattern Language` view.

### On-hover documentation

You can hover over almost any pattern parts to see more information about the element.

The plugin also implements structure with navbar for IntelliJ, so it's straightforward to track the context of the
pattern.

![An example documentation popup](images/dpl-support.png)

Additional to showing just the information loaded from Dynatrace documentation, the plugin also calculates the
expression information, like the maximum allowed occurrences, the exported field name and whether the field is optional
or required inside the pattern.
Loading
Loading