Extension parameters let you control where and how your extension runs — restricting it to specific workspaces, extension points, or node types without changing code. This topic describes the six built-in parameters and how to add custom parameters.
Prerequisites
Before you begin, ensure that you have:
An extension registered in DataWorks
The workspace IDs for any workspaces you want to target — get them via the ListProjects API or from the workspace configuration page in the DataWorks console
Define parameters in registration
Define parameters in the extension's registration information before using them in code. Each parameter goes on a new line and uses the key=value format. You can combine built-in and custom parameters.
To retrieve an extension's current parameter configuration, call the GetExtension API.

If you configure the same key more than once, only the last value takes effect.
Built-in parameters
The following table summarizes the six built-in parameters and their scope.
| Parameter | Scope | Purpose |
|---|---|---|
extension.project.disabled | Workspace | Disable the extension for specific workspaces |
extension.project.disabled.append | Workspace | Add workspaces to an existing blocklist |
extension.project.{eventCode}.disabled | Extension point + workspace | Disable specific extension points in specific workspaces |
extension.project.{eventCode}.disabled.append | Extension point + workspace | Add workspaces to an existing extension point blocklist |
extension.fileType.{fileType}.{eventCode}.enabled | Node type | Enable or disable the extension for specific node types |
extension.manualPass.enabled | Extension | Show the Mark as Passed button |
extension.project.disabled — workspace blocklist
Scope: Workspace level
Disable the extension for specific workspaces.
extension.project.disabled=projectId1,projectId2,projectId3| Placeholder | Description | How to get it |
|---|---|---|
projectId | Workspace ID | ListProjects API or the workspace configuration page in the DataWorks console |
Separate multiple workspace IDs with commas.
Example:
extension.project.disabled=projectId1extension.project.disabled.append — append to workspace blocklist
Scope: Workspace level
Use extension.project.disabled to set the initial workspace blocklist. Use extension.project.disabled.append to add workspaces to an existing blocklist without overwriting it.
extension.project.disabled.append=projectId1,projectId2,projectId3| Placeholder | Description | How to get it |
|---|---|---|
projectId | Workspace ID | ListProjects API or the workspace configuration page in the DataWorks console |
Separate multiple workspace IDs with commas.
Example:
extension.project.disabled=projectId1
extension.project.disabled.append=projectId2In this example, the extension is disabled for both projectId1 and projectId2.
extension.project.{eventCode}.disabled — extension point blocklist
Scope: Extension point + workspace level
Use extension.project.disabled to block all extension points in a workspace. Use extension.project.{eventCode}.disabled to block a specific extension point in specific workspaces.
extension.project.{eventCode}.disabled=projectId1,projectId2,projectId3| Placeholder | Description | How to get it |
|---|---|---|
eventCode | Event type of the extension point | Appendix: Event details (eventType) |
projectId | Workspace ID | ListProjects API or the workspace configuration page in the DataWorks console |
Separate multiple workspace IDs with commas.
Example:
extension.project.commit-file.disabled=projectId1
extension.project.delete-file.disabled=projectId2,projectId3The first line disables the commit-file extension point in projectId1. The second line disables the delete-file extension point in projectId2 and projectId3.
If you configure the same key more than once, only the last value takes effect.
extension.project.{eventCode}.disabled.append — append to extension point blocklist
Scope: Extension point + workspace level
When extension.project.{eventCode}.disabled contains a single value (that is, its value is not a comma-separated list of multiple workspace IDs), use extension.project.{eventCode}.disabled.append to append a workspace to the extension point blocklist without overwriting it.
extension.project.{eventCode}.disabled.append=projectId1,projectId2,projectId3| Placeholder | Description | How to get it |
|---|---|---|
eventCode | Event type of the extension point | Appendix: Event details (eventType) |
projectId | Workspace ID | ListProjects API or the workspace configuration page in the DataWorks console |
Separate multiple workspace IDs with commas.
Example:
extension.project.commit-file.disabled.append=projectId1
extension.project.delete-file.disabled.append=projectId2,projectId3extension.fileType.{fileType}.{eventCode}.enabled — node type filter
Scope: Node type level
Enable or disable the extension for specific node types.
extension.fileType.{fileType}.{eventCode}.enabled=true|false| Placeholder | Description | How to get it |
|---|---|---|
fileType | Type code for the node type | ListFileType API |
eventCode | Event type of the extension point | Appendix: Event details (eventType) |
Configuration modes
The values you set for configured node types determine the default behavior for all unconfigured node types:
| Mode | Configured values | Default for unconfigured node types |
|---|---|---|
| Enable specific types | All set to true | false (extension does not run) |
| Disable specific types | All set to false | true (extension runs) |
| Mixed | Mix of true and false | false (extension does not run) |
Example 1: Enable for specific node types
extension.fileType.10.run-file.enabled=true
extension.fileType.11.run-file.enabled=trueThe extension runs for ODPS SQL (type 10) and ODPS MR (type 11) nodes.
The extension does not run for any other node type, such as Data Integration (DI) batch synchronization nodes.
Example 2: Disable for specific node types
extension.fileType.10.run-file.enabled=false
extension.fileType.11.run-file.enabled=falseThe extension does not run for ODPS SQL or ODPS MR nodes.
The extension runs for all other node types, such as Data Integration (DI) batch synchronization nodes.
Example 3: Mixed mode
extension.fileType.10.run-file.enabled=false
extension.fileType.11.run-file.enabled=trueThe extension runs for ODPS MR nodes only.
The extension does not run for ODPS SQL nodes or any other node type, such as Data Integration (DI) batch synchronization nodes.
extension.manualPass.enabled — manual pass button
Scope: Extension level
Set this parameter to show the Mark as Passed button in the Operations column for the extension.
extension.manualPass.enabled=trueCustom parameters
Define custom parameters in the same key=value format, one per line. Use them to pass arbitrary configuration values to your extension code at runtime.
Retrieve custom parameters alongside built-in ones by calling the GetExtension API.