How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-js-runtimeBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Dynatrace JavaScript Runtime
The Dynatrace JS runtime is a server-side AppEngine sandbox that executes JavaScript/TypeScript.
Function contract
Every entry point must export a default async function:
export default async function () {
// ...
return result;
}ES module syntax required. TypeScript accepted (type annotations, interfaces, generics). No other export shape is supported.
References
Start here, then load only the file you need.
| File | When to load |
|---|---|
| references/limits-and-restrictions.md | Timeout / memory / I/O quotas; what's forbidden (eval, WebSocket, sockets, filesystem) |
| references/apis-and-modules.md | Which Web APIs and Node.js compat modules are available (fetch, crypto, streams, buffer, …) |
| references/fetch.md | Calling internal /platform/... APIs or external URLs, credential vault, outbound allowlist |
| references/sdk.md | Any @dynatrace-sdk/* package — the index routes you to the right per-SDK file |
Running a function with dtctl
Use dtctl exec function to run JS runtime code without deploying an app.
# Run inline code
dtctl exec function --code 'export default async function() { return "hello" }'
# Run from file
dtctl exec function -f script.js
# Pass JSON input — the parsed object is the function's argument
dtctl exec function -f script.js --payload '{"key":"value"}'The function may accept an optional parameter. --payload is parsed and passed as that argument directly — it is not wrapped in an event.payload field:
export default async function(payload) {
// with --payload '{"key":"value"}', payload is {"key": "value"}
return payload.key;
}Load the `dynatrace-control` skill for authentication setup, context switching, and the full exec function reference.





