Hub
The Hub API provides catalog content, such as Dynatrace Apps, Extensions, and Technologies, in the context of the current environment.
npm install @dynatrace-sdk/client-hub
appsClient
import { appsClient } from '@dynatrace-sdk/client-hub';
getAppDetails
appsClient.getAppDetails(config): Promise<Detail>Provides detailed information about an app
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId" | "manifest" | "resourceContext" | "contentCount"> | A list of fields that are added to the default set of fields. |
config.id*required | string | |
Returns
Return type | Status code | Description |
---|
Detail | 200 | Detailed information about an app |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppDetails({ id: "..." });
getAppOverviewList
appsClient.getAppOverviewList(config): Promise<OverviewsList>List overview information of all apps
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId" | "resourceContext" | "contentCount"> | A list of fields that are added to the default set of fields. |
config.onlyCompatible | boolean | Filters apps and their releases to exclude incompatible instances. If true or missing the resulting releases will have compatibility of COMPATIBLE or UNKNOWN. |
Returns
Return type | Status code | Description |
---|
OverviewsList | 200 | A list of overview information |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppOverviewList();
getAppReleases
appsClient.getAppReleases(config): Promise<ReleasesList>Provides a list of releases published for an app, including revoked releases
Required scope: hub:catalog:read
Parameters
Name | Type |
---|
config.addFields | Array<"manifest" | "contentCount"> |
config.id*required | string |
Returns
Return type | Status code | Description |
---|
ReleasesList | 200 | A list of releases |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppReleases({ id: "..." });
categoriesClient
import { categoriesClient } from '@dynatrace-sdk/client-hub';
getCategories
categoriesClient.getCategories(config): Promise<Categories>List Hub categories, including the IDs of the associated items and their content blocks if any
Required scope: hub:catalog:read
Returns
Return type | Status code | Description |
---|
Categories | 200 | The categories |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { categoriesClient } from "@dynatrace-sdk/client-hub";
const data = await categoriesClient.getCategories();
extensionsClient
import { extensionsClient } from '@dynatrace-sdk/client-hub';
getExtensionDetails
extensionsClient.getExtensionDetails(config): Promise<Detail>Provides detailed information about an extension
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId" | "extensionMetadata"> | A list of fields that are added to the default set of fields. |
config.id*required | string | |
Returns
Return type | Status code | Description |
---|
Detail | 200 | Detailed information about an extension |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data = await extensionsClient.getExtensionDetails({
id: "...",
});
getExtensionOverviewList
extensionsClient.getExtensionOverviewList(config): Promise<OverviewsList>List overview information of all extensions
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId"> | A list of fields that are added to the default set of fields. |
config.onlyCompatible | boolean | A flag to reduce the list to only include compatible extensions with their latest compatible version. |
Returns
Return type | Status code | Description |
---|
OverviewsList | 200 | A list of overview information |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data =
await extensionsClient.getExtensionOverviewList();
getExtensionReleases
extensionsClient.getExtensionReleases(config): Promise<ReleasesList>Provides a list of releases published for an extension, including revoked releases
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"extensionMetadata"> | A list of fields that are added to the default set of fields. |
config.id*required | string | |
Returns
Return type | Status code | Description |
---|
ReleasesList | 200 | A list of releases |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data = await extensionsClient.getExtensionReleases({
id: "...",
});
technologiesClient
import { technologiesClient } from '@dynatrace-sdk/client-hub';
getTechnologyDetails
technologiesClient.getTechnologyDetails(config): Promise<Detail>Provides detailed information about a technology
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId"> | A list of fields that are added to the default set of fields. |
config.id*required | string | |
Returns
Return type | Status code | Description |
---|
Detail | 200 | Detailed information about a technology |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";
const data = await technologiesClient.getTechnologyDetails({
id: "...",
});
getTechnologyOverviewList
technologiesClient.getTechnologyOverviewList(config): Promise<OverviewsList>List overview information of all technologies
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|
config.addFields | Array<"hubItemId"> | A list of fields that are added to the default set of fields. |
config.onlyCompatible | boolean | A flag to reduce the list to only include compatible technologies. |
Returns
Return type | Status code | Description |
---|
OverviewsList | 200 | A list of overview information |
Throws
Error Type | Error Message |
---|
ErrorResponse | An error occurred |
Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";
const data =
await technologiesClient.getTechnologyOverviewList();
Types
AssetCount
Author
Categories
Name | Type |
---|
categories*required | Array<Category> |
Category
An item category in the Hub
Name | Type | Description |
---|
id*required | string | The category's ID |
itemIds*required | Array<string> | The IDs of the items associated with this category |
page*required | CategoryPage | |
subgroup*required | string | Groups categories to related subpages |
CategoryPage
Name | Type | Description |
---|
content*required | Array<CategoryPageContent> | |
description*required | string | The customer facing description of this page |
shortTitle*required | string | A shorter version of the customer facing title of the page |
title*required | string | The customer facing title of the page |
CategoryPageContent
Name | Type | Description |
---|
blocks | Array<CategoryPageContentBlock> | The blocks of the items associated with this category |
contentType*required | "section" | "curated_content_block" | "content_block_group" | "browse_all_block" | The type of content |
description*required | string | The customer facing description of the content |
itemIds | Array<string> | The IDs of the items associated with this category |
title*required | string | The customer facing title of the content |
CategoryPageContentBlock
ConstraintViolation
Contains information about a constraint violation caused by invalid input.
Name | Type | Description |
---|
message*required | string | The constraint violation description message |
path | string | The path of the parameter that caused the constraint violation |
ContentCount
Dependency
Name | Type | Description |
---|
name*required | string | The name of the required dependency |
version*required | string | SemVer2 version of the required dependency |
Detail
Meta data of the latest version of this item.
Name | Type | Description |
---|
author | Author | |
comingSoon*required | boolean | |
contentCount | ContentCount | |
currentRelease | Release | |
description*required | string | |
detailSections*required | Array<DetailSection> | |
hasDetailSection*required | boolean | Whether the details of this item contain one or more detail content sections. |
hubItemId | string | The Hub item id, aka. slug. |
icon | string | |
id*required | string | The id is only unique within a specific type. |
keywords*required | Array<string> | |
links | Array<Link> | |
name*required | string | |
relatedItems | Array<Overview> | |
resourceContext | ResourceContext | |
type*required | "APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY" | |
version | string | The latest version of this item. |
DetailSection
Can be either a Markdown or Gallery section. Only one of the respective properties is returned (markdown
, or gallery
).
DocumentCount
DocumentCountTypes
type: Record<string, number | undefined>
Error
Standard error response
Name | Type | Description |
---|
code*required | number | The error code (HTTP response) |
details | ErrorDetails | Optional details of the error |
message*required | string | The error code (HTTP response) |
ErrorDetails
Optional details of the error
Name | Type | Description |
---|
constraintViolations | Array<ConstraintViolation> | A list of constraint violations of input parameters (path, query, request body) |
ErrorEnvelope
Name | Type | Description |
---|
error*required | Error | Standard error response |
Name | Type |
---|
extensionContents | any |
featureSets | Array<string> |
featureSetsDetails | Record<string | any> |
GalleryImage
GalleryImageResolutions
type: Record<string, string | undefined>
GallerySection
Link
Name | Type | Description |
---|
appId | string | |
pageToken | string | |
target | string | |
type*required | "DOCUMENTATION" | "MARKETING" | "ACTIVATION" | "REPOSITORY" | Links can be of the following types: DOCUMENTATION - Technical documentation MARKETING - Promotion material ACTIVATION - Location within the product to configure the item REPOSITORY - Source code repository |
Manifest
ManifestScope
MarkdownSection
Overview
Meta data of the latest version of this item.
Name | Type | Description |
---|
author | Author | |
comingSoon*required | boolean | |
contentCount | ContentCount | |
description*required | string | |
hasDetailSection*required | boolean | Whether the details of this item contain one or more detail content sections. |
hubItemId | string | The Hub item id, aka. slug. |
icon | string | |
id*required | string | The id is only unique within a specific type. |
keywords*required | Array<string> | |
links | Array<Link> | |
name*required | string | |
resourceContext | ResourceContext | |
type*required | "APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY" | |
version | string | The latest version of this item. |
OverviewsList
A list of item meta data. Per default contains only compatible items, but can be controlled using the onlyCompatible flag.
Release
Name | Type | Description |
---|
compatible*required | "COMPATIBLE" | "INCOMPATIBLE" | "UNKNOWN" | |
extensionMetadata | ExtensionMetadata | |
manifest | Manifest | |
publicationTime*required | Date | |
releaseNotes | string | Markdown content describing this release. |
revocation | Revocation | The existence of this object marks a release as being revoked. It contains information on why this is the case. |
version*required | string | A semantic versioning 2.0 conform version. |
ReleasesList
Name | Type |
---|
releases*required | Array<Release> |
ResourceContext
Name | Type |
---|
operations | Array<"install"> |
Revocation
The existence of this object marks a release as being revoked. It contains information on why this is the case.
Name | Type |
---|
description | string |
reason*required | "SECURITY_ISSUE" | "FAULTY_RELEASE" | "DEPRECATED" |
severity | "LOW" | "MEDIUM" | "HIGH" |
Enums
Compatibility
Enum keys
Compatible
| Incompatible
| Unknown
ItemType
Enum keys
App
| ClassicApp
| Extension_2
| Technology
LinkType
Links can be of the following types:
DOCUMENTATION
- Technical documentation
MARKETING
- Promotion material
ACTIVATION
- Location within the product to configure the item
REPOSITORY
- Source code repository
Enum keys
Activation
| Documentation
| Marketing
| Repository
OptionalAppDetailField
Enum keys
ContentCount
| HubItemId
| Manifest
| ResourceContext
OptionalAppOverviewField
Enum keys
ContentCount
| HubItemId
| ResourceContext
OptionalAppReleaseField
OptionalExtensionDetailField
Enum keys
ExtensionMetadata
| HubItemId
OptionalExtensionReleaseField
OptionalOverviewField
OptionalTechnologyDetailField
ResourceContextOperationsItem
RevocationReason
Enum keys
Deprecated
| FaultyRelease
| SecurityIssue
RevocationSeverity