UNPKG

dt-app

Version:

The Dynatrace App Toolkit is a tool you can use from your command line to create, develop, and deploy apps on your Dynatrace environment.

67 lines (66 loc) 2.21 kB
import type { ActionManifest, CSPAppDirectives, DocumentsManifest, DocumentTypesManifest, FunctionManifest, OAuthScope, SettingsManifest } from '../utils/config/cli-options'; import type { IntentsDeclarations } from './intents'; import type { UiCommands } from './ui-commands'; export type DynatracePlatformDependency = { name: string; version: string; }; export type DynatraceDependency = DynatracePlatformDependency & { packageJsonDep?: string; path?: string; }; export type AppIcon = { /** Path to the custom app icon relative to the app bundle root */ name: 'icon.svg' | 'icon.png'; /** Whether the app icon has been automatically generated */ generated: boolean; }; /** Interface defining the manifest structure. */ export interface DynatraceApplicationManifest { /** App id */ id: string; /** App name */ name: string; /** App description */ description: string; /** App version */ version: string; /** Metadata of all Dynatrace packages that contain a dynatrace-metadata.json */ dependencies?: DynatracePlatformDependency[]; /** Hide in App Launcher */ hidden?: boolean; /** Intent capabilities */ intents?: IntentsDeclarations; /** Action capabilities */ actions?: ActionManifest[]; /** App widget settings */ settings?: SettingsManifest; /** Function capabilities */ functions?: Record<string, FunctionManifest>; /** App documents */ documents?: DocumentsManifest; /** App document types */ 'document-types'?: DocumentTypesManifest; /** Page tokens */ pageTokens?: Record<string, string>; /** App icon options */ icon: AppIcon; /** * Represents a custom set of directives for the app * The value holds the actual directive. * For every directive there needs to be a comment provided that explains why this directive is necessary. */ csp?: CSPAppDirectives; /** * The list of authentication scopes your app needs. */ scopes: OAuthScope[]; /** * The "SemVer" version of the app bundle. */ 'app-bundle-version'?: string; /** * App ui Commands. */ uiCommands?: UiCommands; }