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
Provides detailed information about an app
Required scope: hub:catalog:read
Parameters
Name | Type | Description |
---|---|---|
config.addFields | Array<"hubItemId" | "resourceContext" | "contentCount" | "manifest"> | 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
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
Provides a list of releases published for an app, including revoked releases
Required scope: hub:catalog:read
Parameters
Name | Type |
---|---|
config.addFields | Array<"contentCount" | "manifest"> |
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
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
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
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
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
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
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
Name | Type |
---|---|
total*required | number |
Author
Name | Type |
---|---|
name*required | string |
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
Name | Type | Default |
---|---|---|
description | string | "" |
href*required | string | |
hrefText | string | |
image*required | string | |
title*required | string |
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
Name | Type |
---|---|
actions | AssetCount |
documents | DocumentCount |
settings | AssetCount |
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
).
Name | Type |
---|---|
gallery | GallerySection |
markdown | MarkdownSection |
sourceId*required | string |
DocumentCount
Name | Type |
---|---|
total*required | number |
types | DocumentCountTypes |
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 |
ExtensionMetadata
Name | Type |
---|---|
extensionContents | any |
featureSets | Array<string> |
featureSetsDetails | Record<string | any> |
GalleryImage
Name | Type | Description |
---|---|---|
alt | string | Descriptive text of what the image expresses |
caption | string | |
resolutions | GalleryImageResolutions | |
src*required | string | |
title | string |
GalleryImageResolutions
type: Record<string, string | undefined>
GallerySection
Name | Type |
---|---|
images*required | Array<GalleryImage> |
title*required | string |
Link
Name | Type | Description |
---|---|---|
appId | string | |
pageToken | string | |
target | string | |
type*required | "DOCUMENTATION" | "MARKETING" | "ACTIVATION" | "REPOSITORY" | Links can be of the following types:
|
Manifest
Name | Type | Default |
---|---|---|
actions | any | |
contentCount | ContentCount | |
csp | any | |
dependencies*required | Array<Dependency> | |
documents | any | |
hidden*required | boolean | false |
intents | any | |
pageTokens | any | |
scopes | any |
MarkdownSection
Name | Type |
---|---|
markdown*required | string |
title*required | string |
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.
Name | Type |
---|---|
items*required | Array<Overview> |
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 documentationMARKETING
- Promotion materialACTIVATION
- Location within the product to configure the itemREPOSITORY
- Source code repository
Enum keys
Activation
| Documentation
| Marketing
| Repository
OptionalAppDetailField
Enum keys
ContentCount
| HubItemId
| Manifest
| ResourceContext
OptionalAppOverviewField
Enum keys
ContentCount
| HubItemId
| ResourceContext
OptionalAppReleaseField
Enum keys
ContentCount
| Manifest
OptionalExtensionDetailField
Enum keys
ExtensionMetadata
| HubItemId
OptionalExtensionReleaseField
Enum keys
ExtensionMetadata
OptionalOverviewField
Enum keys
HubItemId
OptionalTechnologyDetailField
Enum keys
HubItemId
ResourceContextOperationsItem
Enum keys
Install
RevocationReason
Enum keys
Deprecated
| FaultyRelease
| SecurityIssue
RevocationSeverity
Enum keys
High
| Low
| Medium