Skip to content

[DSIP-100][Api Worker] Generic Third-party System API Connector for REST-based Task Scheduling #17501

@dill21yu

Description

@dill21yu

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

Propose a Generic Third-party System API Connector to enable DolphinScheduler to schedule tasks on any external system via REST APIs.

Currently, DS lacks a unified way to integrate with systems like SeaTunnel, Flink Session, or custom platforms that expose task control via RESTful interfaces. This feature would provide a configurable framework (managing endpoints for auth, task list, start, status, stop) instead of requiring custom plugins for each system, greatly expanding DS's scheduling capabilities.

Use case

As a DS administrator or user,
I want to register an external system (e.g., company's customized SeaTunnel system) or other by providing its base URL, authentication, and specific API endpoints (to list, start, check status, and stop tasks),
So that I can easily select and schedule that system's tasks directly within a DolphinScheduler workflow.

The expected behavior is:
1、In the DS UI, I can add a new "Third-party System" config for our SeaTunnel server's API.
2、When building a workflow, I can choose the "Generic API Task" type, select the registered "SeaTunnel" system, and see a dropdown list of available jobs fetched from its API.
3、Upon selecting a job and running the workflow, DS automatically calls the start API, polls the status API until completion, and reflects the final status (success/failure) in DS.
4、I can also manually stop the task from DS, which triggers the stop API call to the external system.
This will allow us to use DS as a unified scheduler for many API-based tools without waiting for specific plugin development.

Image Image Image Image Image

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions