@dynatrace-sdk/client-automation

中文文档
8.10.0发布于 2026/10/16Apache-2.0TypeScriptESM + CJS近 30 天下载 3505

Automation API allows working with workflows and various trigger options.

原始使用文档
文档目录71 节
  1. Installation
  2. Getting help
  3. License
  4. actionExecutionsClient
  5. getActionExecution
  6. getActionExecutionLog
  7. actionsSampleResultClient
  8. getActionSampleResult
  9. businessCalendarsClient
  10. createBusinessCalendar
  11. deleteBusinessCalendar
  12. duplicateBusinessCalendar
  13. getBusinessCalendar
  14. getBusinessCalendarHistoryRecord
  15. getBusinessCalendarHistoryRecords
  16. getBusinessCalendars
  17. patchBusinessCalendar
  18. restoreBusinessCalendarHistoryRecord
  19. updateBusinessCalendar
  20. eventTriggersClient
  21. previewFilter
  22. executionsClient
  23. cancelExecution
  24. cancelTaskExecution
  25. getAllEventLogs
  26. getExecution
  27. getExecutionActions
  28. getExecutionLog
  29. getExecutions
  30. getTaskExecution
  31. getTaskExecutionInput
  32. getTaskExecutionLog
  33. getTaskExecutionResult
  34. getTaskExecutions
  35. getTransitions
  36. pauseExecution
  37. resumeExecution
  38. schedulesClient
  39. getCountries
  40. getHolidayCalendar
  41. getTimezones
  42. previewSchedule
  43. schedulingRulesClient
  44. createRule
  45. deleteRule
  46. duplicateRule
  47. getRule
  48. getRuleHistoryRecord
  49. getRuleHistoryRecords
  50. getRules
  51. patchRule
  52. previewRule
  53. restoreRuleHistoryRecord
  54. updateRule
  55. settingsClient
  56. getServiceUsers
  57. getSettings
  58. getUserPermissions
  59. getUserSettings
  60. updateAuthorizations
  61. versionClient
  62. getVersion
  63. webhookHandlersClient
  64. deleteWebhookHandler
  65. getWebhookHandler
  66. getWebhookHandlers
  67. writeWebhookHandler
  68. workflowsClient
  69. createWorkflow
  70. deleteTrashedWorkflow
  71. deleteWorkflow

@dynatrace-sdk/client-automation

npm License

Manage and run workflows with the AutomationEngine API.

Installation

npm install @dynatrace-sdk/client-automation

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.

actionExecutionsClient

import { actionExecutionsClient } from '@dynatrace-sdk/client-automation';

getActionExecution

actionExecutionsClient.getActionExecution(config): Promise<ActionExecution>

Required scope: automation:workflows:read

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this action execution.

Returns

Return typeStatus codeDescription
ActionExecution200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { actionExecutionsClient } from "@dynatrace-sdk/client-automation";

const data =
  await actionExecutionsClient.getActionExecution({
    id: "...",
  });

getActionExecutionLog

actionExecutionsClient.getActionExecutionLog(config): Promise<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>

Required scope: automation:workflows:read

Returns the log output of a specific ActionExecution.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this action execution.

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { actionExecutionsClient } from "@dynatrace-sdk/client-automation";

const data =
  await actionExecutionsClient.getActionExecutionLog({
    id: "...",
  });

actionsSampleResultClient

import { actionsSampleResultClient } from '@dynatrace-sdk/client-automation';

getActionSampleResult

⚠️ Deprecated

actionsSampleResultClient.getActionSampleResult(config): Promise<[any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)>

Required scope: automation:workflows:read

Parameters

NameType
config.actionIdentifier*requiredstring

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { actionsSampleResultClient } from "@dynatrace-sdk/client-automation";

const data =
  await actionsSampleResultClient.getActionSampleResult({
    actionIdentifier: "...",
  });

businessCalendarsClient

import { businessCalendarsClient } from '@dynatrace-sdk/client-automation';

createBusinessCalendar

businessCalendarsClient.createBusinessCalendar(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:write

Parameters

NameType
config.body*requiredBusinessCalendarCreate

Returns

Return typeStatus codeDescription
BusinessCalendarResponse201

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.createBusinessCalendar({
    body: { title: "..." },
  });

deleteBusinessCalendar

businessCalendarsClient.deleteBusinessCalendar(config): Promise<void>

Required scope: automation:calendars:write

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.deleteBusinessCalendar({
    id: "...",
  });

duplicateBusinessCalendar

businessCalendarsClient.duplicateBusinessCalendar(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:write

Parameters

NameTypeDescription
config.body*requiredDuplicationRequest
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
BusinessCalendarResponse201

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.duplicateBusinessCalendar({
    id: "...",
    body: {},
  });

getBusinessCalendar

businessCalendarsClient.getBusinessCalendar(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:read

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
BusinessCalendarResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.getBusinessCalendar({
    id: "...",
  });

getBusinessCalendarHistoryRecord

businessCalendarsClient.getBusinessCalendarHistoryRecord(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:read

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this business calendar.
config.version*requiredstringPattern: ^[\d]+$

Returns

Return typeStatus codeDescription
BusinessCalendarResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.getBusinessCalendarHistoryRecord(
    { id: "...", version: "..." },
  );

getBusinessCalendarHistoryRecords

businessCalendarsClient.getBusinessCalendarHistoryRecords(config): Promise<PaginatedChangeHistory>

Required scope: automation:calendars:read

Parameters

NameTypeDescription
config.allbooleanWhen false, the latest historical record is not returned.

Default: false
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
PaginatedChangeHistory200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.getBusinessCalendarHistoryRecords(
    { id: "..." },
  );

getBusinessCalendars

businessCalendarsClient.getBusinessCalendars(config): Promise<PaginatedBusinessCalendarResponseList>

Required scope: automation:calendars:read

Parameters

NameTypeDescription
config.limitnumberNumber of results to return per page.
config.offsetnumberThe initial index from which to return the results.
config.orderingstringWhich field to use when ordering the results.
config.searchstringA search term.

Returns

Return typeStatus codeDescription
PaginatedBusinessCalendarResponseList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.getBusinessCalendars();

patchBusinessCalendar

businessCalendarsClient.patchBusinessCalendar(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:write

Parameters

NameTypeDescription
config.body*requiredBusinessCalendarUpdate
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
BusinessCalendarResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.patchBusinessCalendar({
    id: "...",
    body: {},
  });

restoreBusinessCalendarHistoryRecord

businessCalendarsClient.restoreBusinessCalendarHistoryRecord(config): Promise<void>

Required scope: automation:calendars:write

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this business calendar.
config.version*requiredstringPattern: ^[\d]+$

Returns

Return typeStatus codeDescription
void200No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.restoreBusinessCalendarHistoryRecord(
    { id: "...", version: "..." },
  );

updateBusinessCalendar

businessCalendarsClient.updateBusinessCalendar(config): Promise<BusinessCalendarResponse>

Required scope: automation:calendars:write

Parameters

NameTypeDescription
config.body*requiredBusinessCalendarUpdate
config.id*requiredstringA UUID string identifying this business calendar.

Returns

Return typeStatus codeDescription
BusinessCalendarResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";

const data =
  await businessCalendarsClient.updateBusinessCalendar({
    id: "...",
    body: {},
  });

eventTriggersClient

import { eventTriggersClient } from '@dynatrace-sdk/client-automation';

previewFilter

⚠️ Deprecated

eventTriggersClient.previewFilter(config): Promise<EventTriggerPreviewResponse>

Required scope: automation:workflows:read

Parameters

NameType
config.body*requiredEventTriggerPreviewRequest

Returns

Return typeStatus codeDescription
EventTriggerPreviewResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { eventTriggersClient } from "@dynatrace-sdk/client-automation";

const data = await eventTriggersClient.previewFilter({
  body: {
    triggerConfiguration: {
      type: "event",
      value: { query: "..." },
    },
  },
});

executionsClient

import { executionsClient } from '@dynatrace-sdk/client-automation';

cancelExecution

executionsClient.cancelExecution(config): Promise<void>

Required scope: automation:workflows:run

Tries to cancel an Execution. Can only be done, if the Execution is in an active state.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.cancelExecution({
  id: "...",
});

cancelTaskExecution

executionsClient.cancelTaskExecution(config): Promise<void>

Required scope: automation:workflows:run

Cancels task execution. Canceling action executions cause the task to be cancelled, which causes the workflow to be canceled.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring
config.id*requiredstringTask name

Returns

Return typeStatus codeDescription
void200No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.cancelTaskExecution({
  executionId: "...",
  id: "...",
});

getAllEventLogs

executionsClient.getAllEventLogs(config): Promise<EventLogs>

Required scope: automation:workflows:read

Get all event logs

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
EventLogs200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getAllEventLogs({
  id: "...",
});

getExecution

executionsClient.getExecution(config): Promise<Execution>

Required scope: automation:workflows:read

Get execution

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
Execution200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getExecution({
  id: "...",
});

getExecutionActions

executionsClient.getExecutionActions(config): Promise<Array<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>>

Required scope: automation:workflows:read

Return list of actions assigned to tasks in a given Execution.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getExecutionActions({
  id: "...",
});

getExecutionLog

executionsClient.getExecutionLog(config): Promise<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>

Required scope: automation:workflows:read

Gets the execution log

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getExecutionLog({
  id: "...",
});

getExecutions

executionsClient.getExecutions(config): Promise<PaginatedExecutionList>

Required scope: automation:workflows:read

Get list of executions (executions of draft and simple workflows aren't included in the response).

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.limitnumberNumber of results to return per page.
config.offsetnumberThe initial index from which to return the results.
config.orderingstringWhich field to use when ordering the results.
config.parentExecutionstring
config.parentWorkflowstring
config.scheduleArray<string>Multiple values may be separated by commas.
config.searchstringA search term.
config.startedAtGtestring
config.startedAtLtestring
config.stateArray<string>Multiple values may be separated by commas.
config.subworkflowOfTaskstringFilter executions by parentExecution/task.
config.triggerstring
config.triggerTypestring
config.userArray<string>Multiple values may be separated by commas.
config.workflowArray<string>Multiple values may be separated by commas.

Returns

Return typeStatus codeDescription
PaginatedExecutionList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getExecutions();

getTaskExecution

executionsClient.getTaskExecution(config): Promise<TaskExecution>

Required scope: automation:workflows:read

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring
config.id*requiredstringTask name

Returns

Return typeStatus codeDescription
TaskExecution200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTaskExecution({
  executionId: "...",
  id: "...",
});

getTaskExecutionInput

executionsClient.getTaskExecutionInput(config): Promise<[any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)>

Required scope: automation:workflows:read

Returns merged inputs from all ActionExecutions belonging to the TaskExecution.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring
config.id*requiredstringTask name

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTaskExecutionInput({
  executionId: "...",
  id: "...",
});

getTaskExecutionLog

executionsClient.getTaskExecutionLog(config): Promise<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>

Required scope: automation:workflows:read

Returns the log output of a specific task. This can be large as its the STDOUT of the Action as defined by the user.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring
config.id*requiredstringTask name

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTaskExecutionLog({
  executionId: "...",
  id: "...",
});

getTaskExecutionResult

executionsClient.getTaskExecutionResult(config): Promise<[any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)>

Required scope: automation:workflows:read

Returns merged results from all ActionExecutions belonging to the TaskExecution.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring
config.id*requiredstringTask name

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTaskExecutionResult({
  executionId: "...",
  id: "...",
});

getTaskExecutions

executionsClient.getTaskExecutions(config): Promise<TaskExecutions>

Required scope: automation:workflows:read

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring

Returns

Return typeStatus codeDescription
TaskExecutions200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTaskExecutions({
  executionId: "...",
});

getTransitions

executionsClient.getTransitions(config): Promise<TaskTransitions>

Required scope: automation:workflows:read

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.executionId*requiredstring

Returns

Return typeStatus codeDescription
TaskTransitions200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.getTransitions({
  executionId: "...",
});

pauseExecution

executionsClient.pauseExecution(config): Promise<void>

Required scope: automation:workflows:run

Pauses an Execution. Can only be done, if the Execution is in an active state.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.pauseExecution({
  id: "...",
});

resumeExecution

executionsClient.resumeExecution(config): Promise<void>

Required scope: automation:workflows:run

Resumes an Execution. Can only be done, if the Execution is in an inactive state.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this execution.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { executionsClient } from "@dynatrace-sdk/client-automation";

const data = await executionsClient.resumeExecution({
  id: "...",
});

schedulesClient

import { schedulesClient } from '@dynatrace-sdk/client-automation';

getCountries

schedulesClient.getCountries(config): Promise<CountryList>

Required scope: automation:workflows:read

Returns the list of countries that can be used to look up the holiday calendar

Returns

Return typeStatus codeDescription
CountryList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulesClient.getCountries();

getHolidayCalendar

schedulesClient.getHolidayCalendar(config): Promise<HolidayCalendarList>

Required scope: automation:workflows:read

Parameters

NameTypeDescription
config.fromstringFrom date in ISO format
config.key*requiredstringThe country name
config.tostringTo date in ISO format

Returns

Return typeStatus codeDescription
HolidayCalendarList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulesClient.getHolidayCalendar({
  key: "...",
});

getTimezones

schedulesClient.getTimezones(config): Promise<Array<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>>

Required scope: automation:workflows:read

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulesClient.getTimezones();

previewSchedule

⚠️ Deprecated

schedulesClient.previewSchedule(config): Promise<SchedulePreviewResponse>

Required scope: automation:workflows:read

Parameters

NameType
config.body*requiredSchedulePreviewRequest

Returns

Return typeStatus codeDescription
SchedulePreviewResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulesClient.previewSchedule({
  body: {
    schedule: {
      trigger: { type: "cron", cron: "0 0 * * *" },
    },
  },
});

schedulingRulesClient

import { schedulingRulesClient } from '@dynatrace-sdk/client-automation';

createRule

schedulingRulesClient.createRule(config): Promise<Rule>

Required scope: automation:rules:write

Parameters

NameType
config.body*requiredRuleCreate

Returns

Return typeStatus codeDescription
Rule201

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.createRule({
  body: { title: "...", ruleType: "rrule" },
});

deleteRule

schedulingRulesClient.deleteRule(config): Promise<void>

Required scope: automation:rules:write

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.deleteRule({
  id: "...",
});

duplicateRule

schedulingRulesClient.duplicateRule(config): Promise<Rule>

Required scope: automation:rules:write

Parameters

NameTypeDescription
config.body*requiredDuplicationRequest
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
Rule201

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.duplicateRule({
  id: "...",
  body: {},
});

getRule

schedulingRulesClient.getRule(config): Promise<Rule>

Required scope: automation:rules:read

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
Rule200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.getRule({
  id: "...",
});

getRuleHistoryRecord

schedulingRulesClient.getRuleHistoryRecord(config): Promise<Rule>

Required scope: automation:rules:read

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this rule.
config.version*requiredstringPattern: ^[\d]+$

Returns

Return typeStatus codeDescription
Rule200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data =
  await schedulingRulesClient.getRuleHistoryRecord({
    id: "...",
    version: "...",
  });

getRuleHistoryRecords

schedulingRulesClient.getRuleHistoryRecords(config): Promise<PaginatedChangeHistory>

Required scope: automation:rules:read

Parameters

NameTypeDescription
config.allbooleanWhen false, the latest historical record is not returned.

Default: false
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
PaginatedChangeHistory200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data =
  await schedulingRulesClient.getRuleHistoryRecords({
    id: "...",
  });

getRules

schedulingRulesClient.getRules(config): Promise<PaginatedRuleList>

Required scope: automation:rules:read

Parameters

NameTypeDescription
config.limitnumberNumber of results to return per page.
config.offsetnumberThe initial index from which to return the results.
config.orderingstringWhich field to use when ordering the results.
config.searchstringA search term.

Returns

Return typeStatus codeDescription
PaginatedRuleList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.getRules();

patchRule

schedulingRulesClient.patchRule(config): Promise<Rule>

Required scope: automation:rules:write

Parameters

NameTypeDescription
config.body*requiredRuleUpdate
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
Rule200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.patchRule({
  id: "...",
  body: {},
});

previewRule

⚠️ Deprecated

schedulingRulesClient.previewRule(config): Promise<RulePreviewResponse>

Required scope: automation:workflows:read

Parameters

NameType
config.body*requiredRulePreviewCreate

Returns

Return typeStatus codeDescription
RulePreviewResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.previewRule({
  body: {
    ruleType: "rrule",
    rrule: { freq: "YEARLY", datestart: "..." },
  },
});

restoreRuleHistoryRecord

schedulingRulesClient.restoreRuleHistoryRecord(config): Promise<void>

Required scope: automation:rules:write

Parameters

NameTypeDescription
config.id*requiredstringA UUID string identifying this rule.
config.version*requiredstringPattern: ^[\d]+$

Returns

Return typeStatus codeDescription
void200No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data =
  await schedulingRulesClient.restoreRuleHistoryRecord({
    id: "...",
    version: "...",
  });

updateRule

schedulingRulesClient.updateRule(config): Promise<Rule>

Required scope: automation:rules:write

Parameters

NameTypeDescription
config.body*requiredRuleUpdate
config.id*requiredstringA UUID string identifying this rule.

Returns

Return typeStatus codeDescription
Rule200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";

const data = await schedulingRulesClient.updateRule({
  id: "...",
  body: {},
});

settingsClient

import { settingsClient } from '@dynatrace-sdk/client-automation';

getServiceUsers

⚠️ Deprecated

settingsClient.getServiceUsers(config): Promise<GetServiceUsersResponse>

Required scope: automation:workflows:read

Get service users who could be used as workflow actor (deprecated).

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { settingsClient } from "@dynatrace-sdk/client-automation";

const data = await settingsClient.getServiceUsers();

getSettings

⚠️ Deprecated

settingsClient.getSettings(config): Promise<GetSettingsResponse>

Required scope: automation:workflows:read

Get system settings

Returns

Return typeStatus codeDescription
GetSettingsResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { settingsClient } from "@dynatrace-sdk/client-automation";

const data = await settingsClient.getSettings();

getUserPermissions

⚠️ Deprecated

settingsClient.getUserPermissions(config): Promise<Array<[string](https://developer.mozilla.org/en-US/docs/Glossary/String)>>

Required scope: automation:workflows:read

Get current user effective permissions.

Returns

Return typeStatus codeDescription
void200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { settingsClient } from "@dynatrace-sdk/client-automation";

const data = await settingsClient.getUserPermissions();

getUserSettings

⚠️ Deprecated

settingsClient.getUserSettings(config): Promise<UserSettings>

Required scope: automation:workflows:read

Get user-specific settings

Returns

Return typeStatus codeDescription
UserSettings200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { settingsClient } from "@dynatrace-sdk/client-automation";

const data = await settingsClient.getUserSettings();

updateAuthorizations

⚠️ Deprecated

settingsClient.updateAuthorizations(config): Promise<void>

Required scope: automation:workflows:read

Returns

Return typeStatus codeDescription
void202No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { settingsClient } from "@dynatrace-sdk/client-automation";

const data = await settingsClient.updateAuthorizations();

versionClient

import { versionClient } from '@dynatrace-sdk/client-automation';

getVersion

versionClient.getVersion(config): Promise<VersionResponse>

Required scope: automation:workflows:read

Returns

Return typeStatus codeDescription
VersionResponse200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { versionClient } from "@dynatrace-sdk/client-automation";

const data = await versionClient.getVersion();

webhookHandlersClient

import { webhookHandlersClient } from '@dynatrace-sdk/client-automation';

deleteWebhookHandler

webhookHandlersClient.deleteWebhookHandler(config): Promise<void>

Required scope: automation:webhookhandlers:write

Parameters

NameTypeDescription
config.connectionId*requiredstringThe ID of the connection this webhook handler belongs to

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { webhookHandlersClient } from "@dynatrace-sdk/client-automation";

const data =
  await webhookHandlersClient.deleteWebhookHandler({
    connectionId: "...",
  });

getWebhookHandler

webhookHandlersClient.getWebhookHandler(config): Promise<WebhookHandler>

Required scope: automation:webhookhandlers:read

Parameters

NameTypeDescription
config.connectionId*requiredstringThe ID of the connection this webhook handler belongs to

Returns

Return typeStatus codeDescription
WebhookHandler200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { webhookHandlersClient } from "@dynatrace-sdk/client-automation";

const data = await webhookHandlersClient.getWebhookHandler({
  connectionId: "...",
});

getWebhookHandlers

webhookHandlersClient.getWebhookHandlers(config): Promise<Array<WebhookHandlerList>>

Required scope: automation:webhookhandlers:read

Returns

Return typeStatus codeDescription
WebhookHandlerList200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { webhookHandlersClient } from "@dynatrace-sdk/client-automation";

const data =
  await webhookHandlersClient.getWebhookHandlers();

writeWebhookHandler

webhookHandlersClient.writeWebhookHandler(config): Promise<WebhookHandler>

Required scope: automation:webhookhandlers:write

Parameters

NameTypeDescription
config.body*requiredWebhookHandlerWrite
config.connectionId*requiredstringThe ID of the connection this webhook handler belongs to

Returns

Return typeStatus codeDescription
WebhookHandler200

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { webhookHandlersClient } from "@dynatrace-sdk/client-automation";

const data =
  await webhookHandlersClient.writeWebhookHandler({
    connectionId: "...",
    body: {
      active: false,
      validationMethod: "slack",
      eventSignatureHeader: "...",
    },
  });

workflowsClient

import { workflowsClient } from '@dynatrace-sdk/client-automation';

createWorkflow

workflowsClient.createWorkflow(config): Promise<Workflow>

Required scope: automation:workflows:write

Creates a workflow and sets usages

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.body*requiredWorkflowCreate

Returns

Return typeStatus codeDescription
Workflow201

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { workflowsClient } from "@dynatrace-sdk/client-automation";

const data = await workflowsClient.createWorkflow({
  body: { title: "...", throttle: { isLimitHit: false } },
});

deleteTrashedWorkflow

workflowsClient.deleteTrashedWorkflow(config): Promise<void>

Required scope: automation:workflows:write

Permanently delete a workflow that is in the trash. Returns 404 if the workflow does not exist or is not in the trash.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this workflow.

Returns

Return typeStatus codeDescription
void204No response body

Throws

Error TypeError Message
ErrorEnvelopeError
Code example
import { workflowsClient } from "@dynatrace-sdk/client-automation";

const data = await workflowsClient.deleteTrashedWorkflow({
  id: "...",
});

deleteWorkflow

workflowsClient.deleteWorkflow(config): Promise<void>

Required scope: automation:workflows:write

Move the workflow to trash (trash=true) or permanently delete it (trash=false or omitted). Trashed workflows can be permanently deleted via /trash/workflows/{id}.

Parameters

NameTypeDescription
config.adminAccessbooleanAllow access to all workflows/executions - additionally requires automation:workflows:admin

Default: false
config.id*requiredstringA UUID string identifying this workflow.
config.trashbooleanWhen true, moves the workflow to trash instead of permanently deleting it. Trashed workflows are

版本与发布记录

@dynatrace-sdk/client-automation 共发布 50 个版本,首次发布于 2023/04/24;过去 12 个月发布了 10 个版本。

版本发布日期距今
8.10.0latest2026/10/1628 天前
8.7.02026/09/241 个月前
8.5.02026/09/072 个月前
8.4.02026/07/283 个月前
8.2.12026/06/304 个月前
8.1.02026/06/174 个月前

关于 @dynatrace-sdk/client-automation 的常见问题

@dynatrace-sdk/client-automation 是什么?

Automation API allows working with workflows and various trigger options.

如何安装 @dynatrace-sdk/client-automation?

在项目目录运行 npm install @dynatrace-sdk/client-automation,或使用 pnpm add / yarn add / bun add。

@dynatrace-sdk/client-automation 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dynatrace-sdk/client-automation 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dynatrace-sdk/client-automation 可以商用吗?

@dynatrace-sdk/client-automation 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dynatrace-sdk/client-automation 的下载量有多少?

根据 npm 官方下载统计,@dynatrace-sdk/client-automation 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,505 次,日均约 117 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dynatrace-sdk/client-automation 还在维护吗?

最新版本 8.10.0 发布于 2026/10/16(28 天前);至今共发布 50 个版本,其中过去 12 个月发布了 10 个;首次发布于 2023/04/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。