@dynatrace-sdk/client-hub
TypeScript icon, indicating that this package has built-in type declarations

1.8.1 • Public • Published

@dynatrace-sdk/client-hub

npm License

The Hub API provides catalog content, such as Dynatrace Apps, Extensions, and Technologies, in the context of the current environment.

Installation

npm install @dynatrace-sdk/client-hub

Getting help

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

API reference

Full API reference for the latest version of the SDK is also available at the Dynatrace Developer.

appsClient

import { appsClient } from '@dynatrace-sdk/client-hub';

getAppDetails

appsClient.getAppDetails(config): Promise<[Detail](#detail)>

Provides detailed information about an app

Required scope: hub:catalog:read

Parameters

Name Type Description
config.addFields Array<OptionalAppDetailField> A list of fields that are added to the default set of fields.
config.id*required string

Returns

Detailed information about an app

Code example
import { appsClient } from "@dynatrace-sdk/client-hub";

const data = await appsClient.getAppDetails({ id: "..." });

getAppOverviewList

appsClient.getAppOverviewList(config): Promise<[OverviewsList](#overviewslist)>

List overview information of all apps

Required scope: hub:catalog:read

Parameters

Name Type Description
config.addFields Array<OptionalAppOverviewField> 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

A list of overview information

Code example
import { appsClient } from "@dynatrace-sdk/client-hub";

const data = await appsClient.getAppOverviewList();

getAppReleases

appsClient.getAppReleases(config): Promise<[ReleasesList](#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>
config.id*required string

Returns

A list of releases

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(abortSignal?): Promise<[Categories](#categories)>

List Hub categories, including the IDs of the associated items and their content blocks if any

Required scope: hub:catalog:read

Returns

The categories

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](#detail)>

Provides detailed information about an extension

Required scope: hub:catalog:read

Parameters

Name Type Description
config.addFields Array<OptionalExtensionDetailField> A list of fields that are added to the default set of fields.
config.id*required string

Returns

Detailed information about an extension

Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";

const data = await extensionsClient.getExtensionDetails({
  id: "...",
});

getExtensionOverviewList

extensionsClient.getExtensionOverviewList(config): Promise<[OverviewsList](#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

A list of overview information

Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";

const data =
  await extensionsClient.getExtensionOverviewList();

getExtensionReleases

extensionsClient.getExtensionReleases(config): Promise<[ReleasesList](#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

A list of releases

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](#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

Detailed information about a technology

Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";

const data = await technologiesClient.getTechnologyDetails({
  id: "...",
});

getTechnologyOverviewList

technologiesClient.getTechnologyOverviewList(config): Promise<[OverviewsList](#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

A list of overview information

Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";

const data =
  await technologiesClient.getTechnologyOverviewList();

Types

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 string 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

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
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 ItemType
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

Error

Standard error response

Name Type Description
code*required number The error code (HTTP response)
details ErrorDetails
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
error*required Error

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
src*required string
title string

GallerySection

Name Type
images*required Array<GalleryImage>
title*required string

Link

Name Type
appId string
pageToken string
target string
type*required LinkType

Manifest

| Name | Type| Default| |---|---| |actions|any| | |csp|any| | |dependencies|Array<Dependency>| | |hidden|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
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 ItemType
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 Compatibility
downloadUrl string The absolute URL which can be used to fetch the artifact, only included for Extension 1.0.
extensionMetadata ExtensionMetadata
manifest Manifest
publicationTime*required Date
releaseNotes string Markdown content describing this release.
revocation Revocation
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 RevocationReason
severity RevocationSeverity

Enums

Compatibility

Enum keys

Compatible | Incompatible | Unknown

ItemType

Enum keys

App | ClassicApp | Extension_1 | 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

HubItemId | Manifest | ResourceContext

OptionalAppOverviewField

Enum keys

HubItemId | ResourceContext

OptionalAppReleaseField

Enum keys

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

Readme

Keywords

none

Package Sidebar

Install

npm i @dynatrace-sdk/client-hub

Weekly Downloads

23

Version

1.8.1

License

Apache-2.0

Unpacked Size

251 kB

Total Files

153

Last publish

Collaborators

  • stefan.wolfsteiner.dynatrace
  • dynatrace-nodejs
  • wasserb