You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ki...@apache.org on 2021/07/07 09:33:21 UTC

[dolphinscheduler] branch dev updated: [Fix#5758] There are some problems in the api documentation that need to be improved (#5759)

This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 75d6168  [Fix#5758] There are some problems in the api documentation that need to be improved (#5759)
75d6168 is described below

commit 75d61686de51a70e55e92c51fd4dfc2810c7fee2
Author: kyoty <ec...@gmail.com>
AuthorDate: Wed Jul 7 17:33:10 2021 +0800

    [Fix#5758] There are some problems in the api documentation that need to be improved (#5759)
    
    * add the necessary parameters
    
    * openapi improve
    
    * fix code style error
---
 .../api/controller/AccessTokenController.java      |   4 +-
 .../api/controller/AlertGroupController.java       |  10 +-
 .../controller/AlertPluginInstanceController.java  |  14 +--
 .../api/controller/DataSourceController.java       |  12 +--
 .../api/controller/LoggerController.java           |   8 +-
 .../controller/ProcessDefinitionController.java    |   9 +-
 .../api/controller/ProcessInstanceController.java  |  33 +++---
 .../api/controller/ProjectController.java          |  23 ++--
 .../api/controller/QueueController.java            |   4 +-
 .../api/controller/ResourcesController.java        |  10 +-
 .../api/controller/SchedulerController.java        |  21 ++--
 .../api/controller/TaskInstanceController.java     |   4 +-
 .../api/controller/TenantController.java           |   8 +-
 .../api/controller/UiPluginController.java         |   2 +-
 .../api/controller/UsersController.java            |  56 +++++-----
 .../api/controller/WorkFlowLineageController.java  |   3 +
 .../api/controller/WorkerGroupController.java      |   4 +-
 .../main/resources/i18n/messages_en_US.properties  |  77 ++++++++++++--
 .../main/resources/i18n/messages_zh_CN.properties  | 117 ++++++++++++++++-----
 19 files changed, 276 insertions(+), 143 deletions(-)

diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AccessTokenController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AccessTokenController.java
index 109f950..ebf4a3d 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AccessTokenController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AccessTokenController.java
@@ -116,8 +116,8 @@ public class AccessTokenController extends BaseController {
     @ApiOperation(value = "queryAccessTokenList", notes = "QUERY_ACCESS_TOKEN_LIST_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java
index 4ddc3c9..59a6eaa 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java
@@ -78,7 +78,7 @@ public class AlertGroupController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupName", value = "GROUP_NAME", required = true, dataType = "String"),
             @ApiImplicitParam(name = "description", value = "DESC", dataType = "String"),
-            @ApiImplicitParam(name = "alertInstanceIds", value = "alertInstanceIds", dataType = "String")
+            @ApiImplicitParam(name = "alertInstanceIds", value = "alertInstanceIds", required = true, dataType = "String")
     })
     @PostMapping(value = "/create")
     @ResponseStatus(HttpStatus.CREATED)
@@ -98,7 +98,7 @@ public class AlertGroupController extends BaseController {
      * @param loginUser login user
      * @return alert group list
      */
-    @ApiOperation(value = "list", notes = "QUERY_ALERT_GROUP_LIST_NOTES")
+    @ApiOperation(value = "listAlertgroupById", notes = "QUERY_ALERT_GROUP_LIST_NOTES")
     @GetMapping(value = "/list")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(QUERY_ALL_ALERTGROUP_ERROR)
@@ -121,8 +121,8 @@ public class AlertGroupController extends BaseController {
     @ApiOperation(value = "queryAlertGroupListPaging", notes = "QUERY_ALERT_GROUP_LIST_PAGING_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", type = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
@@ -156,7 +156,7 @@ public class AlertGroupController extends BaseController {
             @ApiImplicitParam(name = "id", value = "ALERT_GROUP_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "groupName", value = "GROUP_NAME", required = true, dataType = "String"),
             @ApiImplicitParam(name = "description", value = "DESC", dataType = "String"),
-            @ApiImplicitParam(name = "alertInstanceIds", value = "alertInstanceIds", dataType = "String")
+            @ApiImplicitParam(name = "alertInstanceIds", value = "alertInstanceIds", required = true, dataType = "String")
     })
     @PostMapping(value = "/update")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertPluginInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertPluginInstanceController.java
index 346e041..f9f58ed 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertPluginInstanceController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertPluginInstanceController.java
@@ -102,7 +102,7 @@ public class AlertPluginInstanceController extends BaseController {
      * @param pluginInstanceParams instance params
      * @return result
      */
-    @ApiOperation(value = "update", notes = "UPDATE_ALERT_PLUGIN_INSTANCE_NOTES")
+    @ApiOperation(value = "updateAlertPluginInstance", notes = "UPDATE_ALERT_PLUGIN_INSTANCE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "alertPluginInstanceId", value = "ALERT_PLUGIN_INSTANCE_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "instanceName", value = "ALERT_PLUGIN_INSTANCE_NAME", required = true, dataType = "String", example = "DING TALK"),
@@ -127,7 +127,7 @@ public class AlertPluginInstanceController extends BaseController {
      * @param id id
      * @return result
      */
-    @ApiOperation(value = "delete", notes = "DELETE_ALERT_PLUGIN_INSTANCE_NOTES")
+    @ApiOperation(value = "deleteAlertPluginInstance", notes = "DELETE_ALERT_PLUGIN_INSTANCE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "ALERT_PLUGIN_ID", required = true, dataType = "Int", example = "100")
     })
@@ -149,7 +149,7 @@ public class AlertPluginInstanceController extends BaseController {
      * @param id alert plugin instance id
      * @return result
      */
-    @ApiOperation(value = "get", notes = "GET_ALERT_PLUGIN_INSTANCE_NOTES")
+    @ApiOperation(value = "getAlertPluginInstance", notes = "GET_ALERT_PLUGIN_INSTANCE_NOTES")
     @PostMapping(value = "/get")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(GET_ALERT_PLUGIN_INSTANCE_ERROR)
@@ -166,7 +166,7 @@ public class AlertPluginInstanceController extends BaseController {
      * @param loginUser login user
      * @return result
      */
-    @ApiOperation(value = "/queryAll", notes = "QUERY_ALL_ALERT_PLUGIN_INSTANCE_NOTES")
+    @ApiOperation(value = "queryAllAlertPluginInstance", notes = "QUERY_ALL_ALERT_PLUGIN_INSTANCE_NOTES")
     @PostMapping(value = "/queryAll")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(QUERY_ALL_ALERT_PLUGIN_INSTANCE_ERROR)
@@ -185,7 +185,7 @@ public class AlertPluginInstanceController extends BaseController {
      */
     @ApiOperation(value = "verifyAlertInstanceName", notes = "VERIFY_ALERT_INSTANCE_NAME_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "groupName", value = "GROUP_NAME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "alertInstanceName", value = "ALERT_INSTANCE_NAME", required = true, dataType = "String"),
     })
     @GetMapping(value = "/verify-alert-instance-name")
     @ResponseStatus(HttpStatus.OK)
@@ -216,8 +216,8 @@ public class AlertPluginInstanceController extends BaseController {
      */
     @ApiOperation(value = "queryAlertPluginInstanceListPaging", notes = "QUERY_ALERT_PLUGIN_INSTANCE_LIST_PAGING_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java
index 6c35cd3..e8e4672 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java
@@ -86,7 +86,7 @@ public class DataSourceController extends BaseController {
     @ApiException(CREATE_DATASOURCE_ERROR)
     @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
     public Result createDataSource(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
-                                   @ApiParam(name = "DATA_SOURCE_PARAM", required = true)
+                                   @ApiParam(name = "dataSourceParam", value = "DATA_SOURCE_PARAM", required = true)
                                    @RequestBody BaseDataSourceParamDTO dataSourceParam) {
         return dataSourceService.createDataSource(loginUser, dataSourceParam);
     }
@@ -101,7 +101,7 @@ public class DataSourceController extends BaseController {
      */
     @ApiOperation(value = "updateDataSource", notes = "UPDATE_DATA_SOURCE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "DATA_SOURCE_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "dataSourceParam", value = "DATA_SOURCE_PARAM", required = true, dataType = "BaseDataSourceParamDTO"),
     })
     @PostMapping(value = "/update")
     @ResponseStatus(HttpStatus.OK)
@@ -168,8 +168,8 @@ public class DataSourceController extends BaseController {
     @ApiOperation(value = "queryDataSourceListPaging", notes = "QUERY_DATA_SOURCE_LIST_PAGING_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
@@ -197,7 +197,7 @@ public class DataSourceController extends BaseController {
      */
     @ApiOperation(value = "connectDataSource", notes = "CONNECT_DATA_SOURCE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "name", value = "DATA_SOURCE_NAME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "dataSourceParam", value = "DATA_SOURCE_PARAM", required = true, dataType = "BaseDataSourceParamDTO"),
     })
     @PostMapping(value = "/connect")
     @ResponseStatus(HttpStatus.OK)
@@ -237,7 +237,7 @@ public class DataSourceController extends BaseController {
      * @param id        datasource id
      * @return delete result
      */
-    @ApiOperation(value = "delete", notes = "DELETE_DATA_SOURCE_NOTES")
+    @ApiOperation(value = "deleteDataSource", notes = "DELETE_DATA_SOURCE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "DATA_SOURCE_ID", required = true, dataType = "Int", example = "100")
     })
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java
index 5d6c044..4990d34 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java
@@ -67,9 +67,9 @@ public class LoggerController extends BaseController {
      */
     @ApiOperation(value = "queryLog", notes = "QUERY_TASK_INSTANCE_LOG_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "taskInstanceId", value = "TASK_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "skipLineNum", value = "SKIP_LINE_NUM", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "limit", value = "LIMIT", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "taskInstanceId", value = "TASK_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "skipLineNum", value = "SKIP_LINE_NUM", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "limit", value = "LIMIT", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/detail")
     @ResponseStatus(HttpStatus.OK)
@@ -92,7 +92,7 @@ public class LoggerController extends BaseController {
      */
     @ApiOperation(value = "downloadTaskLog", notes = "DOWNLOAD_TASK_INSTANCE_LOG_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "taskInstanceId", value = "TASK_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "taskInstanceId", value = "TASK_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/download-log")
     @ResponseBody
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
index 286ae3d..fbeece5 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
@@ -101,7 +101,7 @@ public class ProcessDefinitionController extends BaseController {
      * @param connects connects for nodes
      * @return create result code
      */
-    @ApiOperation(value = "save", notes = "CREATE_PROCESS_DEFINITION_NOTES")
+    @ApiOperation(value = "createProcessDefinition", notes = "CREATE_PROCESS_DEFINITION_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "name", value = "PROCESS_DEFINITION_NAME", required = true, type = "String"),
             @ApiImplicitParam(name = "processDefinitionJson", value = "PROCESS_DEFINITION_JSON", required = true, type = "String"),
@@ -553,7 +553,7 @@ public class ProcessDefinitionController extends BaseController {
      */
     @ApiOperation(value = "deleteProcessDefinitionById", notes = "DELETE_PROCESS_DEFINITION_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processDefinitionId", value = "PROCESS_DEFINITION_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processDefinitionId", value = "PROCESS_DEFINITION_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/delete")
     @ResponseStatus(HttpStatus.OK)
@@ -577,7 +577,7 @@ public class ProcessDefinitionController extends BaseController {
      */
     @ApiOperation(value = "batchDeleteProcessDefinitionByIds", notes = "BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processDefinitionIds", value = "PROCESS_DEFINITION_IDS", type = "String")
+            @ApiImplicitParam(name = "processDefinitionIds", value = "PROCESS_DEFINITION_IDS", required = true, type = "String")
     })
     @GetMapping(value = "/batch-delete")
     @ResponseStatus(HttpStatus.OK)
@@ -649,6 +649,9 @@ public class ProcessDefinitionController extends BaseController {
      * @return process definition list
      */
     @ApiOperation(value = "queryProcessDefinitionAllByProjectId", notes = "QUERY_PROCESS_DEFINITION_All_BY_PROJECT_ID_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", required = true, dataType = "Int", example = "100")
+    })
     @GetMapping(value = "/queryProcessDefinitionAllByProjectId")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(QUERY_PROCESS_DEFINITION_LIST)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
index cf63019..c99f2d5 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
@@ -106,8 +106,8 @@ public class ProcessInstanceController extends BaseController {
             @ApiImplicitParam(name = "host", value = "HOST", type = "String"),
             @ApiImplicitParam(name = "startDate", value = "START_DATE", type = "String"),
             @ApiImplicitParam(name = "endDate", value = "END_DATE", type = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "list-paging")
     @ResponseStatus(HttpStatus.OK)
@@ -145,7 +145,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "queryTaskListByProcessId", notes = "QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/task-list-by-process-id")
     @ResponseStatus(HttpStatus.OK)
@@ -176,9 +176,9 @@ public class ProcessInstanceController extends BaseController {
     @ApiOperation(value = "updateProcessInstance", notes = "UPDATE_PROCESS_INSTANCE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "processInstanceJson", value = "PROCESS_INSTANCE_JSON", type = "String"),
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "scheduleTime", value = "SCHEDULE_TIME", type = "String"),
-            @ApiImplicitParam(name = "syncDefine", value = "SYNC_DEFINE", type = "Boolean"),
+            @ApiImplicitParam(name = "syncDefine", value = "SYNC_DEFINE", required = true, type = "Boolean"),
             @ApiImplicitParam(name = "locations", value = "PROCESS_INSTANCE_LOCATIONS", type = "String"),
             @ApiImplicitParam(name = "connects", value = "PROCESS_INSTANCE_CONNECTS", type = "String"),
             @ApiImplicitParam(name = "flag", value = "RECOVERY_PROCESS_INSTANCE_FLAG", type = "Flag"),
@@ -212,7 +212,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "queryProcessInstanceById", notes = "QUERY_PROCESS_INSTANCE_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/select-by-id")
     @ResponseStatus(HttpStatus.OK)
@@ -238,9 +238,9 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "queryTopNLongestRunningProcessInstance", notes = "QUERY_TOPN_LONGEST_RUNNING_PROCESS_INSTANCE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "size", value = "PROCESS_INSTANCE_SIZE", dataType = "Int", example = "10"),
-            @ApiImplicitParam(name = "startTime", value = "PROCESS_INSTANCE_START_TIME", dataType = "String"),
-            @ApiImplicitParam(name = "endTime", value = "PROCESS_INSTANCE_END_TIME", dataType = "String"),
+            @ApiImplicitParam(name = "size", value = "PROCESS_INSTANCE_SIZE", required = true, dataType = "Int", example = "10"),
+            @ApiImplicitParam(name = "startTime", value = "PROCESS_INSTANCE_START_TIME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "endTime", value = "PROCESS_INSTANCE_END_TIME", required = true, dataType = "String"),
     })
     @GetMapping(value = "/top-n")
     @ResponseStatus(HttpStatus.OK)
@@ -269,7 +269,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "deleteProcessInstanceById", notes = "DELETE_PROCESS_INSTANCE_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/delete")
     @ResponseStatus(HttpStatus.OK)
@@ -294,7 +294,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "querySubProcessInstanceByTaskId", notes = "QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "taskId", value = "TASK_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "taskId", value = "TASK_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/select-sub-process")
     @ResponseStatus(HttpStatus.OK)
@@ -317,7 +317,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "queryParentInstanceBySubId", notes = "QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subId", value = "SUB_PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "subId", value = "SUB_PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/select-parent-process")
     @ResponseStatus(HttpStatus.OK)
@@ -339,7 +339,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "viewVariables", notes = "QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/view-variables")
     @ResponseStatus(HttpStatus.OK)
@@ -361,7 +361,7 @@ public class ProcessInstanceController extends BaseController {
      */
     @ApiOperation(value = "vieGanttTree", notes = "VIEW_GANTT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "processInstanceId", value = "PROCESS_INSTANCE_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/view-gantt")
     @ResponseStatus(HttpStatus.OK)
@@ -383,6 +383,11 @@ public class ProcessInstanceController extends BaseController {
      * @param processInstanceIds process instance id
      * @return delete result code
      */
+    @ApiOperation(value = "batchDeleteProcessInstanceByIds", notes = "BATCH_DELETE_PROCESS_INSTANCE_BY_IDS_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "processInstanceIds", value = "PROCESS_INSTANCE_IDS", required = true, dataType = "String"),
+    })
     @GetMapping(value = "/batch-delete")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(BATCH_DELETE_PROCESS_INSTANCE_BY_IDS_ERROR)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java
index 75387f6..30a9346 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java
@@ -80,8 +80,8 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "createProject", notes = "CREATE_PROJECT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", dataType = "String"),
-            @ApiImplicitParam(name = "description", value = "PROJECT_DESC", dataType = "String")
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "description", value = "PROJECT_DESC", required = true, dataType = "String")
     })
     @PostMapping(value = "/create")
     @ResponseStatus(HttpStatus.CREATED)
@@ -106,10 +106,10 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "updateProject", notes = "UPDATE_PROJECT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", dataType = "String"),
+            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", required = true, dataType = "String"),
             @ApiImplicitParam(name = "description", value = "PROJECT_DESC", dataType = "String"),
-            @ApiImplicitParam(name = "userName", value = "USER_NAME", dataType = "String"),
+            @ApiImplicitParam(name = "userName", value = "USER_NAME", required = true, dataType = "String"),
     })
     @PostMapping(value = "/update")
     @ResponseStatus(HttpStatus.OK)
@@ -133,7 +133,7 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "queryProjectById", notes = "QUERY_PROJECT_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/query-by-id")
     @ResponseStatus(HttpStatus.OK)
@@ -189,7 +189,7 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "deleteProjectById", notes = "DELETE_PROJECT_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/delete")
     @ResponseStatus(HttpStatus.OK)
@@ -212,7 +212,7 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "queryUnauthorizedProject", notes = "QUERY_UNAUTHORIZED_PROJECT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/unauth-project")
     @ResponseStatus(HttpStatus.OK)
@@ -234,7 +234,7 @@ public class ProjectController extends BaseController {
      */
     @ApiOperation(value = "queryAuthorizedProject", notes = "QUERY_AUTHORIZED_PROJECT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100")
     })
     @GetMapping(value = "/authed-project")
     @ResponseStatus(HttpStatus.OK)
@@ -271,9 +271,10 @@ public class ProjectController extends BaseController {
      * @return import result code
      */
 
-    @ApiOperation(value = "importProcessDefinition", notes= "EXPORT_PROCESS_DEFINITION_NOTES")
+    @ApiOperation(value = "importProcessDefinition", notes = "IMPORT_PROCESS_DEFINITION_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "file", value = "RESOURCE_FILE", required = true, dataType = "MultipartFile")
+            @ApiImplicitParam(name = "file", value = "RESOURCE_FILE", required = true, dataType = "MultipartFile"),
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", required = true, dataType = "String")
     })
     @PostMapping(value = "/import-definition")
     @ApiException(IMPORT_PROCESS_DEFINE_ERROR)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java
index 71731d7..0ca5513 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java
@@ -89,8 +89,8 @@ public class QueueController extends BaseController {
     @ApiOperation(value = "queryQueueListPaging", notes = "QUERY_QUEUE_LIST_PAGING_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
index d4689d5..8dc69af 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
@@ -226,8 +226,8 @@ public class ResourcesController extends BaseController {
             @ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType = "ResourceType"),
             @ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = true, dataType = "int", example = "10"),
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
@@ -487,7 +487,7 @@ public class ResourcesController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "type", value = "UDF_TYPE", required = true, dataType = "UdfType"),
             @ApiImplicitParam(name = "funcName", value = "FUNC_NAME", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "suffix", value = "CLASS_NAME", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "className", value = "CLASS_NAME", required = true, dataType = "String"),
             @ApiImplicitParam(name = "argTypes", value = "ARG_TYPES", dataType = "String"),
             @ApiImplicitParam(name = "database", value = "DATABASE_NAME", dataType = "String"),
             @ApiImplicitParam(name = "description", value = "UDF_DESC", dataType = "String"),
@@ -585,8 +585,8 @@ public class ResourcesController extends BaseController {
     @ApiOperation(value = "queryUdfFuncListPaging", notes = "QUERY_UDF_FUNCTION_LIST_PAGING_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/udf-func/list-paging")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java
index 20b668a..5b33e88 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java
@@ -94,12 +94,13 @@ public class SchedulerController extends BaseController {
     @ApiOperation(value = "createSchedule", notes = "CREATE_SCHEDULE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "processDefinitionId", value = "PROCESS_DEFINITION_ID", required = true, dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", dataType = "String",
+            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", required = true, dataType = "String",
                     example = "{'startTime':'2019-06-10 00:00:00','endTime':'2019-06-13 00:00:00','timezoneId':'America/Phoenix','crontab':'0 0 3/6 * * ? *'}"),
             @ApiImplicitParam(name = "warningType", value = "WARNING_TYPE", type = "WarningType"),
             @ApiImplicitParam(name = "warningGroupId", value = "WARNING_GROUP_ID", dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "failureStrategy", value = "FAILURE_STRATEGY", type = "FailureStrategy"),
             @ApiImplicitParam(name = "workerGroupId", value = "WORKER_GROUP_ID", dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "workerGroup", value = "WORKER_GROUP", dataType = "String"),
             @ApiImplicitParam(name = "processInstancePriority", value = "PROCESS_INSTANCE_PRIORITY", type = "Priority"),
     })
     @PostMapping("/create")
@@ -138,12 +139,15 @@ public class SchedulerController extends BaseController {
     @ApiOperation(value = "updateSchedule", notes = "UPDATE_SCHEDULE_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "SCHEDULE_ID", required = true, dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", dataType = "String", example = "{'startTime':'2019-06-10 00:00:00','endTime':'2019-06-13 00:00:00','crontab':'0 0 3/6 * * ? *'}"),
+            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", required = true, dataType = "String",
+                    example = "{'startTime':'2019-06-10 00:00:00','endTime':'2019-06-13 00:00:00',"
+                            + "'crontab':'0 0 3/6 * * ? *'}"),
             @ApiImplicitParam(name = "warningType", value = "WARNING_TYPE", type = "WarningType"),
             @ApiImplicitParam(name = "warningGroupId", value = "WARNING_GROUP_ID", dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "failureStrategy", value = "FAILURE_STRATEGY", type = "FailureStrategy"),
             @ApiImplicitParam(name = "workerGroupId", value = "WORKER_GROUP_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "processInstancePriority", value = "PROCESS_INSTANCE_PRIORITY", type = "Priority"),
+            @ApiImplicitParam(name = "workerGroup", value = "WORKER_GROUP", dataType = "String"),
+            @ApiImplicitParam(name = "processInstancePriority", value = "PROCESS_INSTANCE_PRIORITY", type = "Priority")
     })
     @PostMapping("/update")
     @ApiException(UPDATE_SCHEDULE_ERROR)
@@ -223,8 +227,8 @@ public class SchedulerController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "processDefinitionId", value = "PROCESS_DEFINITION_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", type = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "100")
 
     })
     @GetMapping("/list-paging")
@@ -256,7 +260,8 @@ public class SchedulerController extends BaseController {
      */
     @ApiOperation(value = "deleteScheduleById", notes = "OFFLINE_SCHEDULE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "scheduleId", value = "SCHEDULE_ID", required = true, dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "scheduleId", value = "SCHEDULE_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", required = true, dataType = "String"),
     })
     @GetMapping(value = "/delete")
     @ResponseStatus(HttpStatus.OK)
@@ -297,7 +302,9 @@ public class SchedulerController extends BaseController {
      */
     @ApiOperation(value = "previewSchedule", notes = "PREVIEW_SCHEDULE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", dataType = "String", example = "{'startTime':'2019-06-10 00:00:00','endTime':'2019-06-13 00:00:00','crontab':'0 0 3/6 * * ? *'}"),
+            @ApiImplicitParam(name = "schedule", value = "SCHEDULE", required = true, dataType = "String",
+                    example = "{'startTime':'2019-06-10 00:00:00',"
+                            + "'endTime':'2019-06-13 00:00:00','crontab':'0 0 3/6 * * ? *'}"),
     })
     @PostMapping("/preview")
     @ResponseStatus(HttpStatus.CREATED)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java
index 8ac91b8..e9bb0f6 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java
@@ -89,8 +89,8 @@ public class TaskInstanceController extends BaseController {
             @ApiImplicitParam(name = "host", value = "HOST", type = "String"),
             @ApiImplicitParam(name = "startDate", value = "START_DATE", type = "String"),
             @ApiImplicitParam(name = "endDate", value = "END_DATE", type = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping("/list-paging")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java
index 54cfdb3..2cd7bf2 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java
@@ -103,8 +103,8 @@ public class TenantController extends BaseController {
     @ApiOperation(value = "queryTenantlistPaging", notes = "QUERY_TENANT_LIST_PAGING_NOTES")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
     })
     @GetMapping(value = "/list-paging")
     @ResponseStatus(HttpStatus.OK)
@@ -153,7 +153,7 @@ public class TenantController extends BaseController {
      */
     @ApiOperation(value = "updateTenant", notes = "UPDATE_TENANT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "ID", value = "TENANT_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "id", value = "TENANT_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "tenantCode", value = "TENANT_CODE", required = true, dataType = "String"),
             @ApiImplicitParam(name = "queueId", value = "QUEUE_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "description", value = "TENANT_DESC", type = "String")
@@ -182,7 +182,7 @@ public class TenantController extends BaseController {
      */
     @ApiOperation(value = "deleteTenantById", notes = "DELETE_TENANT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "ID", value = "TENANT_ID", required = true, dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "id", value = "TENANT_ID", required = true, dataType = "Int", example = "100")
 
     })
     @PostMapping(value = "/delete")
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UiPluginController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UiPluginController.java
index 95db274..276f4ea 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UiPluginController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UiPluginController.java
@@ -75,7 +75,7 @@ public class UiPluginController extends BaseController {
 
     @ApiOperation(value = "queryUiPluginDetailById", notes = "QUERY_UI_PLUGIN_DETAIL_BY_ID")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "PluginType"),
+            @ApiImplicitParam(name = "pluginId", value = "PLUGIN_ID", required = true, dataType = "Int", example = "100"),
     })
     @PostMapping(value = "/queryUiPluginDetailById")
     @ResponseStatus(HttpStatus.CREATED)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java
index 64ff316..cc16814 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java
@@ -90,11 +90,11 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "createUser", notes = "CREATE_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
-            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
-            @ApiImplicitParam(name = "tenantId", value = "TENANT_ID", dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "userName", value = "USER_NAME", required = true, type = "String"),
+            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", required = true, type = "String"),
+            @ApiImplicitParam(name = "tenantId", value = "TENANT_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "String"),
-            @ApiImplicitParam(name = "email", value = "EMAIL", dataType = "String"),
+            @ApiImplicitParam(name = "email", value = "EMAIL", required = true, dataType = "String"),
             @ApiImplicitParam(name = "phone", value = "PHONE", dataType = "String"),
             @ApiImplicitParam(name = "state", value = "STATE", dataType = "Int", example = "1")
     })
@@ -125,8 +125,8 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "queryUserList", notes = "QUERY_USER_LIST_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "10"),
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "10"),
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", type = "String")
     })
     @GetMapping(value = "/list-paging")
@@ -162,12 +162,12 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "updateUser", notes = "UPDATE_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "USER_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
-            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
-            @ApiImplicitParam(name = "tenantId", value = "TENANT_ID", dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "id", value = "USER_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "userName", value = "USER_NAME", required = true, type = "String"),
+            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", required = true, type = "String"),
+            @ApiImplicitParam(name = "tenantId", value = "TENANT_ID", required = true, dataType = "Int", example = "100"),
             @ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "String"),
-            @ApiImplicitParam(name = "email", value = "EMAIL", dataType = "String"),
+            @ApiImplicitParam(name = "email", value = "EMAIL", required = true, dataType = "String"),
             @ApiImplicitParam(name = "phone", value = "PHONE", dataType = "String"),
             @ApiImplicitParam(name = "state", value = "STATE", dataType = "Int", example = "1")
     })
@@ -197,7 +197,7 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "delUserById", notes = "DELETE_USER_BY_ID_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "USER_ID", dataType = "Int", example = "100")
+            @ApiImplicitParam(name = "id", value = "USER_ID", required = true, dataType = "Int", example = "100")
     })
     @PostMapping(value = "/delete")
     @ResponseStatus(HttpStatus.OK)
@@ -219,8 +219,8 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "grantProject", notes = "GRANT_PROJECT_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "projectIds", value = "PROJECT_IDS", type = "String")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "projectIds", value = "PROJECT_IDS", required = true, type = "String")
     })
     @PostMapping(value = "/grant-project")
     @ResponseStatus(HttpStatus.OK)
@@ -243,8 +243,8 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "grantResource", notes = "GRANT_RESOURCE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "resourceIds", value = "RESOURCE_IDS", type = "String")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "resourceIds", value = "RESOURCE_IDS", required = true, type = "String")
     })
     @PostMapping(value = "/grant-file")
     @ResponseStatus(HttpStatus.OK)
@@ -268,8 +268,8 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "grantUDFFunc", notes = "GRANT_UDF_FUNC_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "udfIds", value = "UDF_IDS", type = "String")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "udfIds", value = "UDF_IDS", required = true, type = "String")
     })
     @PostMapping(value = "/grant-udf-func")
     @ResponseStatus(HttpStatus.OK)
@@ -293,8 +293,8 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "grantDataSource", notes = "GRANT_DATASOURCE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "USER_ID", dataType = "Int", example = "100"),
-            @ApiImplicitParam(name = "datasourceIds", value = "DATASOURCE_IDS", type = "String")
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "datasourceIds", value = "DATASOURCE_IDS", required = true, type = "String")
     })
     @PostMapping(value = "/grant-datasource")
     @ResponseStatus(HttpStatus.OK)
@@ -366,7 +366,7 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "verifyUserName", notes = "VERIFY_USER_NAME_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String")
+            @ApiImplicitParam(name = "userName", value = "USER_NAME", required = true, type = "String")
     })
     @GetMapping(value = "/verify-user-name")
     @ResponseStatus(HttpStatus.OK)
@@ -388,7 +388,7 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "unauthorizedUser", notes = "UNAUTHORIZED_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "alertgroupId", value = "ALERT_GROUP_ID", type = "String")
+            @ApiImplicitParam(name = "alertgroupId", value = "ALERT_GROUP_ID", required = true, type = "String")
     })
     @GetMapping(value = "/unauth-user")
     @ResponseStatus(HttpStatus.OK)
@@ -410,7 +410,7 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "authorizedUser", notes = "AUTHORIZED_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "alertgroupId", value = "ALERT_GROUP_ID", type = "String")
+            @ApiImplicitParam(name = "alertgroupId", value = "ALERT_GROUP_ID", required = true, type = "String")
     })
     @GetMapping(value = "/authed-user")
     @ResponseStatus(HttpStatus.OK)
@@ -437,10 +437,10 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value="registerUser",notes = "REGISTER_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
-            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
-            @ApiImplicitParam(name = "repeatPassword", value = "REPEAT_PASSWORD", type = "String"),
-            @ApiImplicitParam(name = "email", value = "EMAIL", type = "String"),
+            @ApiImplicitParam(name = "userName", value = "USER_NAME", required = true, type = "String"),
+            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", required = true, type = "String"),
+            @ApiImplicitParam(name = "repeatPassword", value = "REPEAT_PASSWORD", required = true, type = "String"),
+            @ApiImplicitParam(name = "email", value = "EMAIL", required = true, type = "String"),
     })
     @PostMapping("/register")
     @ResponseStatus(HttpStatus.OK)
@@ -485,7 +485,7 @@ public class UsersController extends BaseController {
      */
     @ApiOperation(value = "batchActivateUser",notes = "BATCH_ACTIVATE_USER_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userNames", value = "USER_NAMES", type = "String"),
+            @ApiImplicitParam(name = "userNames", value = "USER_NAMES", required = true, type = "String"),
     })
     @PostMapping("/batch/activate")
     @ResponseStatus(HttpStatus.OK)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
index 6119ec5..507580d 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
@@ -45,6 +45,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -60,6 +61,7 @@ public class WorkFlowLineageController extends BaseController {
     @Autowired
     private WorkFlowLineageService workFlowLineageService;
 
+    @ApiOperation(value = "queryWorkFlowLineageByName", notes = "QUERY_WORKFLOW_LINEAGE_BY_NAME_NOTES")
     @GetMapping(value = "/list-name")
     @ResponseStatus(HttpStatus.OK)
     @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
@@ -76,6 +78,7 @@ public class WorkFlowLineageController extends BaseController {
         }
     }
 
+    @ApiOperation(value = "queryWorkFlowLineageByIds", notes = "QUERY_WORKFLOW_LINEAGE_BY_IDS_NOTES")
     @GetMapping(value = "/list-ids")
     @ResponseStatus(HttpStatus.OK)
     @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java
index 884add2..2df708b 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java
@@ -99,8 +99,8 @@ public class WorkerGroupController extends BaseController {
      */
     @ApiOperation(value = "queryAllWorkerGroupsPaging", notes = "QUERY_WORKER_GROUP_PAGING_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
-            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20"),
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20"),
             @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String")
     })
     @GetMapping(value = "/list-paging")
diff --git a/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties b/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
index 74fc4d0..a7c8b84 100644
--- a/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
+++ b/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
@@ -14,7 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
 QUERY_SCHEDULE_LIST_NOTES=query schedule list
 EXECUTE_PROCESS_TAG=execute process related operation
 PROCESS_INSTANCE_EXECUTOR_TAG=process instance executor related operation
@@ -37,11 +36,28 @@ DELETE_ALERT_GROUP_BY_ID_NOTES=delete alert group by id
 VERIFY_ALERT_GROUP_NAME_NOTES=verify alert group name, check alert group exist or not 
 GRANT_ALERT_GROUP_NOTES=grant alert group 
 USER_IDS=user id list
+EXECUTOR_TAG=executor operation 
+EXECUTOR_NAME=executor name
+WORKER_GROUP=work group
+startParams=start parameters
 ALERT_GROUP_TAG=alert group related operation
 ALERT_PLUGIN_INSTANCE_TAG=alert plugin instance related operation
+WORK_FLOW_LINEAGE_TAG=work flow lineage related operation
+UI_PLUGINS_TAG=UI plugin related operation
 UPDATE_ALERT_PLUGIN_INSTANCE_NOTES=update alert plugin instance operation
 CREATE_ALERT_PLUGIN_INSTANCE_NOTES=create alert plugin instance operation
 DELETE_ALERT_PLUGIN_INSTANCE_NOTES=delete alert plugin instance operation
+QUERY_ALERT_PLUGIN_INSTANCE_LIST_PAGING_NOTES=query alert plugin instance paging
+QUERY_TOPN_LONGEST_RUNNING_PROCESS_INSTANCE_NOTES=query topN longest running process instance 
+ALERT_PLUGIN_INSTANCE_NAME=alert plugin instance name
+ALERT_PLUGIN_DEFINE_ID=alert plugin define id
+ALERT_PLUGIN_ID=alert plugin id
+ALERT_PLUGIN_INSTANCE_ID=alert plugin instance id
+ALERT_PLUGIN_INSTANCE_PARAMS=alert plugin instance parameters
+ALERT_INSTANCE_NAME=alert instance name
+VERIFY_ALERT_INSTANCE_NAME_NOTES=verify alert instance name
+DATA_SOURCE_PARAM=datasource parameter
+QUERY_ALL_ALERT_PLUGIN_INSTANCE_NOTES=query all alert plugin instances
 GET_ALERT_PLUGIN_INSTANCE_NOTES=get alert plugin instance operation
 CREATE_ALERT_GROUP_NOTES=create alert group 
 WORKER_GROUP_TAG=worker group related operation
@@ -151,6 +167,9 @@ FAILURE_STRATEGY=failure strategy
 RECEIVERS=receivers
 RECEIVERS_CC=receivers cc
 WORKER_GROUP_ID=worker server group id
+PROCESS_INSTANCE_START_TIME=process instance start time
+PROCESS_INSTANCE_END_TIME=process instance end time
+PROCESS_INSTANCE_SIZE=process instance size
 PROCESS_INSTANCE_PRIORITY=process instance priority
 UPDATE_SCHEDULE_NOTES=update schedule 
 SCHEDULE_ID=schedule id
@@ -169,7 +188,7 @@ PROCESS_INSTANCE_LOCATIONS=process instance node locations info (json format)
 PROCESS_DEFINITION_CONNECTS=process definition node connects info (json format)
 PROCESS_INSTANCE_CONNECTS=process instance node connects info (json format)
 PROCESS_DEFINITION_DESC=process definition desc
-PROCESS_DEFINITION_TAG=process definition related opertation
+PROCESS_DEFINITION_TAG=process definition related operation
 SIGNOUT_NOTES=logout
 USER_PASSWORD=user password
 UPDATE_PROCESS_INSTANCE_NOTES=update process instance
@@ -179,6 +198,9 @@ LOGIN_NOTES=user login
 UPDATE_PROCESS_DEFINITION_NOTES=update process definition
 PROCESS_DEFINITION_ID=process definition id
 PROCESS_DEFINITION_IDS=process definition ids
+PROCESS_DEFINITION_CODE=process definition code
+PROCESS_DEFINITION_CODE_LIST=process definition code list
+IMPORT_PROCESS_DEFINITION_NOTES=import process definition
 RELEASE_PROCESS_DEFINITION_NOTES=release process definition
 QUERY_PROCESS_DEFINITION_BY_ID_NOTES=query process definition by id
 QUERY_PROCESS_DEFINITION_LIST_NOTES=query process definition list
@@ -188,22 +210,46 @@ PAGE_NO=page no
 PROCESS_INSTANCE_ID=process instance id
 PROCESS_INSTANCE_JSON=process instance info(json format)
 SCHEDULE_TIME=schedule time
-SYNC_DEFINE=update the information of the process instance to the process definition\
-
+SYNC_DEFINE=update the information of the process instance to the process definition
 RECOVERY_PROCESS_INSTANCE_FLAG=whether to recovery process instance 
+PREVIEW_SCHEDULE_NOTES=preview schedule
 SEARCH_VAL=search val
 USER_ID=user id
+FORCE_TASK_SUCCESS=force task success
+QUERY_TASK_INSTANCE_LIST_PAGING_NOTES=query task instance list paging
+PROCESS_INSTANCE_NAME=process instance name
+TASK_INSTANCE_ID=task instance id
+VERIFY_TENANT_CODE_NOTES=verify tenant code
+QUERY_UI_PLUGIN_DETAIL_BY_ID=query ui plugin detail by id
+PLUGIN_ID=plugin id
+QUERY_UI_PLUGINS_BY_TYPE=query ui plugins by type
+ACTIVATE_USER_NOTES=active user
+BATCH_ACTIVATE_USER_NOTES=batch active user
+STATE=state
+REPEAT_PASSWORD=repeat password
+REGISTER_USER_NOTES=register user
+USER_NAMES=user names
 PAGE_SIZE=page size
 LIMIT=limit
+CREATE_WORKER_GROUP_NOTES=create worker group
+WORKER_ADDR_LIST=worker address list
+QUERY_WORKER_ADDRESS_LIST_NOTES=query worker address list
+QUERY_WORKFLOW_LINEAGE_BY_IDS_NOTES=query workflow lineage by ids
+QUERY_WORKFLOW_LINEAGE_BY_NAME_NOTES=query workflow lineage by name
 VIEW_TREE_NOTES=view tree
+UDF_ID=udf id
 GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id
+GET_NODE_LIST_BY_DEFINITION_CODE_NOTES=get node list by definition code
+QUERY_PROCESS_DEFINITION_BY_NAME_NOTES=query process definition by name
 PROCESS_DEFINITION_ID_LIST=process definition id list
 QUERY_PROCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=query process definition all by project id
 DELETE_PROCESS_DEFINITION_BY_ID_NOTES=delete process definition by process definition id
 BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=batch delete process definition by process definition ids
+BATCH_DELETE_PROCESS_INSTANCE_BY_IDS_NOTES=batch delete process instance by process ids
 QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id
 DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id
 TASK_ID=task instance id
+PROCESS_INSTANCE_IDS=process_instance ids
 SKIP_LINE_NUM=skip line num
 QUERY_TASK_INSTANCE_LOG_NOTES=query task instance log 
 DOWNLOAD_TASK_INSTANCE_LOG_NOTES=download task instance log
@@ -217,6 +263,7 @@ EMAIL=email
 PHONE=phone
 QUERY_USER_LIST_NOTES=query user list 
 UPDATE_USER_NOTES=update user
+UPDATE_QUEUE_NOTES=update queue
 DELETE_USER_BY_ID_NOTES=delete user by id
 GRANT_PROJECT_NOTES=GRANT PROJECT 
 PROJECT_IDS=project ids(string format, multiple projects separated by ",")
@@ -228,6 +275,14 @@ VERIFY_USER_NAME_NOTES=verify user name
 UNAUTHORIZED_USER_NOTES=cancel authorization
 ALERT_GROUP_ID=alert group id
 AUTHORIZED_USER_NOTES=authorized user
+AUTHORIZE_RESOURCE_TREE_NOTES=authorize resource tree
+RESOURCE_CURRENTDIR=dir of the current resource
+QUERY_RESOURCE_LIST_PAGING_NOTES=query resource list paging
+RESOURCE_PID=parent directory ID of the current resource
+RESOURCE_FULL_NAME=resource full name
+QUERY_BY_RESOURCE_NAME=query by resource name
+QUERY_UDF_FUNC_LIST_NOTES=query udf funciton list
+VERIFY_RESOURCE_NAME_NOTES=verify resource name
 GRANT_UDF_FUNC_NOTES=grant udf function
 UDF_IDS=udf ids(string format, multiple udf functions separated by ",")
 GRANT_DATASOURCE_NOTES=grant datasource 
@@ -260,13 +315,13 @@ AUTHORIZED_DATA_SOURCE_NOTES=authorized data source
 DELETE_SCHEDULER_BY_ID_NOTES=delete scheduler by id
 QUERY_ALERT_GROUP_LIST_PAGING_NOTES=query alert group list paging
 EXPORT_PROCESS_DEFINITION_BY_ID_NOTES=export process definition by id
-BATCH_EXPORT_PROCESS_DEFINITION_BY_IDS_NOTES= batch export process definition by ids
-QUERY_USER_CREATED_PROJECT_NOTES= query user created project
-QUERY_AUTHORIZED_AND_USER_CREATED_PROJECT_NOTES= query authorized and user created project
-COPY_PROCESS_DEFINITION_NOTES= copy process definition notes
-MOVE_PROCESS_DEFINITION_NOTES= move process definition notes
-TARGET_PROJECT_ID= target project id
-IS_COPY = is copy
+BATCH_EXPORT_PROCESS_DEFINITION_BY_IDS_NOTES=batch export process definition by ids
+QUERY_USER_CREATED_PROJECT_NOTES=query user created project
+QUERY_AUTHORIZED_AND_USER_CREATED_PROJECT_NOTES=query authorized and user created project
+COPY_PROCESS_DEFINITION_NOTES=copy process definition notes
+MOVE_PROCESS_DEFINITION_NOTES=move process definition notes
+TARGET_PROJECT_ID=target project id
+IS_COPY=is copy
 DELETE_PROCESS_DEFINITION_VERSION_NOTES=delete process definition version
 QUERY_PROCESS_DEFINITION_VERSIONS_NOTES=query process definition versions
 SWITCH_PROCESS_DEFINITION_VERSION_NOTES=switch process definition version
diff --git a/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties b/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
index b3390fe..acc5be8 100644
--- a/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
+++ b/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
@@ -14,9 +14,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
 QUERY_SCHEDULE_LIST_NOTES=查询定时列表
 PROCESS_INSTANCE_EXECUTOR_TAG=流程实例执行相关操作
+UI_PLUGINS_TAG=UI插件相关操作
+WORK_FLOW_LINEAGE_TAG=工作流血缘相关操作
 RUN_PROCESS_INSTANCE_NOTES=运行流程实例
 START_NODE_LIST=开始节点列表(节点name)
 TASK_DEPEND_TYPE=任务依赖类型
@@ -25,27 +26,32 @@ RUN_MODE=运行模式
 TIMEOUT=超时时间
 EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=执行流程实例的各种操作(暂停、停止、重跑、恢复等)
 EXECUTE_TYPE=执行类型
+EXECUTOR_TAG=流程相关操作
+EXECUTOR_NAME=流程名称
 START_CHECK_PROCESS_DEFINITION_NOTES=检查流程定义
 DESC=备注(描述)
 GROUP_NAME=组名称
+WORKER_GROUP=worker群组
+startParams=启动参数
 GROUP_TYPE=组类型
-QUERY_ALERT_GROUP_LIST_NOTES=告警组列表\
-
+QUERY_ALERT_GROUP_LIST_NOTES=告警组列表
 UPDATE_ALERT_GROUP_NOTES=编辑(更新)告警组
-DELETE_ALERT_GROUP_BY_ID_NOTES=删除告警组通过ID
+DELETE_ALERT_GROUP_BY_ID_NOTES=通过ID删除告警组
 VERIFY_ALERT_GROUP_NAME_NOTES=检查告警组是否存在
 GRANT_ALERT_GROUP_NOTES=授权告警组
+PROCESS_DEFINITION_IDS=流程定义ID
+PROCESS_DEFINITION_CODE=流程定义编码
+PROCESS_DEFINITION_CODE_LIST=流程定义编码列表
 USER_IDS=用户ID列表
 ALERT_GROUP_TAG=告警组相关操作
 WORKER_GROUP_TAG=Worker分组管理
-SAVE_WORKER_GROUP_NOTES=创建Worker分组\
-
+SAVE_WORKER_GROUP_NOTES=创建Worker分组
+ALERT_PLUGIN_INSTANCE_TAG=告警插件实例相关操作
 WORKER_GROUP_NAME=Worker分组名称
-WORKER_IP_LIST=Worker ip列表,注意:多个IP地址以逗号分割\
-
+WORKER_IP_LIST=Worker ip列表,注意:多个IP地址以逗号分割
 QUERY_WORKER_GROUP_PAGING_NOTES=Worker分组管理
 QUERY_WORKER_GROUP_LIST_NOTES=查询worker group分组
-DELETE_WORKER_GROUP_BY_ID_NOTES=删除worker group通过ID
+DELETE_WORKER_GROUP_BY_ID_NOTES=通过ID删除worker group
 DATA_ANALYSIS_TAG=任务状态分析相关操作
 COUNT_TASK_STATE_NOTES=任务状态统计
 COUNT_PROCESS_INSTANCE_NOTES=统计流程实例状态
@@ -72,6 +78,7 @@ DATA_SOURCE_HOST=IP主机名
 DATA_SOURCE_PORT=数据源端口
 DATABASE_NAME=数据库名
 QUEUE_TAG=队列相关操作
+QUERY_TOPN_LONGEST_RUNNING_PROCESS_INSTANCE_NOTES=查询topN最长运行流程实例
 QUERY_QUEUE_LIST_NOTES=查询队列列表
 QUERY_QUEUE_LIST_PAGING_NOTES=分页查询队列列表
 CREATE_QUEUE_NOTES=创建队列
@@ -84,14 +91,18 @@ UPDATE_TENANT_NOTES=更新租户
 DELETE_TENANT_NOTES=删除租户
 RESOURCES_TAG=资源中心相关操作
 CREATE_RESOURCE_NOTES=创建资源
+RESOURCE_FULL_NAME=资源全名
 RESOURCE_TYPE=资源文件类型
 RESOURCE_NAME=资源文件名称
 RESOURCE_DESC=资源文件描述
 RESOURCE_FILE=资源文件
 RESOURCE_ID=资源ID
 QUERY_RESOURCE_LIST_NOTES=查询资源列表
-DELETE_RESOURCE_BY_ID_NOTES=删除资源通过ID
-VIEW_RESOURCE_BY_ID_NOTES=浏览资源通通过ID
+QUERY_BY_RESOURCE_NAME=通过资源名称查询
+QUERY_UDF_FUNC_LIST_NOTES=查询UDF函数列表
+VERIFY_RESOURCE_NAME_NOTES=验证资源名称
+DELETE_RESOURCE_BY_ID_NOTES=通过ID删除资源
+VIEW_RESOURCE_BY_ID_NOTES=通过ID浏览资源
 ONLINE_CREATE_RESOURCE_NOTES=在线创建资源
 SUFFIX=资源文件后缀
 CONTENT=资源文件内容
@@ -131,7 +142,7 @@ PROJECT_ID=项目ID
 QUERY_PROJECT_BY_ID_NOTES=通过项目ID查询项目信息
 QUERY_PROJECT_LIST_PAGING_NOTES=分页查询项目列表
 QUERY_ALL_PROJECT_LIST_NOTES=查询所有项目
-DELETE_PROJECT_BY_ID_NOTES=删除项目通过ID
+DELETE_PROJECT_BY_ID_NOTES=通过ID删除项目
 QUERY_UNAUTHORIZED_PROJECT_NOTES=查询未授权的项目
 QUERY_AUTHORIZED_PROJECT_NOTES=查询授权项目
 TASK_RECORD_TAG=任务记录相关操作
@@ -156,6 +167,9 @@ LOGIN_TAG=用户登录相关操作
 USER_NAME=用户名
 PROJECT_NAME=项目名称
 CREATE_PROCESS_DEFINITION_NOTES=创建流程定义
+PROCESS_INSTANCE_START_TIME=流程实例启动时间
+PROCESS_INSTANCE_END_TIME=流程实例结束时间
+PROCESS_INSTANCE_SIZE=流程实例个数
 PROCESS_DEFINITION_NAME=流程定义名称
 PROCESS_DEFINITION_JSON=流程定义详细信息(json格式)
 PROCESS_DEFINITION_LOCATIONS=流程定义节点坐标位置信息(json格式)
@@ -173,7 +187,7 @@ LOGIN_NOTES=用户登录
 UPDATE_PROCESS_DEFINITION_NOTES=更新流程定义
 PROCESS_DEFINITION_ID=流程定义ID
 RELEASE_PROCESS_DEFINITION_NOTES=发布流程定义
-QUERY_PROCESS_DEFINITION_BY_ID_NOTES=查询流程定义通过流程定义ID
+QUERY_PROCESS_DEFINITION_BY_ID_NOTES=通过流程定义ID查询流程定义
 QUERY_PROCESS_DEFINITION_LIST_NOTES=查询流程定义列表
 QUERY_PROCESS_DEFINITION_LIST_PAGING_NOTES=分页查询流程定义列表
 QUERY_ALL_DEFINITION_LIST_NOTES=查询所有流程定义
@@ -181,21 +195,43 @@ PAGE_NO=页码号
 PROCESS_INSTANCE_ID=流程实例ID
 PROCESS_INSTANCE_IDS=流程实例ID集合
 PROCESS_INSTANCE_JSON=流程实例信息(json格式)
+PREVIEW_SCHEDULE_NOTES=定时调度预览
 SCHEDULE_TIME=定时时间
 SYNC_DEFINE=更新流程实例的信息是否同步到流程定义
 RECOVERY_PROCESS_INSTANCE_FLAG=是否恢复流程实例
 SEARCH_VAL=搜索值
+FORCE_TASK_SUCCESS=强制TASK成功
+QUERY_TASK_INSTANCE_LIST_PAGING_NOTES=分页查询任务实例列表
+PROCESS_INSTANCE_NAME=流程实例名称
+TASK_INSTANCE_ID=任务实例ID
+VERIFY_TENANT_CODE_NOTES=验证租户
+QUERY_UI_PLUGIN_DETAIL_BY_ID=通过ID查询UI插件详情
+QUERY_UI_PLUGINS_BY_TYPE=通过类型查询UI插件
+ACTIVATE_USER_NOTES=激活用户
+BATCH_ACTIVATE_USER_NOTES=批量激活用户
+REPEAT_PASSWORD=重复密码
+REGISTER_USER_NOTES=用户注册
+STATE=状态
+USER_NAMES=多个用户名
+PLUGIN_ID=插件ID
 USER_ID=用户ID
 PAGE_SIZE=页大小
 LIMIT=显示多少条
+UDF_ID=udf ID
+AUTHORIZE_RESOURCE_TREE_NOTES=授权资源树
+RESOURCE_CURRENTDIR=当前资源目录
+RESOURCE_PID=资源父目录ID
+QUERY_RESOURCE_LIST_PAGING_NOTES=分页查询资源列表
 VIEW_TREE_NOTES=树状图
-GET_NODE_LIST_BY_DEFINITION_ID_NOTES=获得任务节点列表通过流程定义ID
+IMPORT_PROCESS_DEFINITION_NOTES=导入流程定义
+GET_NODE_LIST_BY_DEFINITION_ID_NOTES=通过流程定义ID获得任务节点列表
 PROCESS_DEFINITION_ID_LIST=流程定义id列表
-QUERY_PROCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=查询流程定义通过项目ID
-BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=批量删除流程定义通过流程定义ID集合
-DELETE_PROCESS_DEFINITION_BY_ID_NOTES=删除流程定义通过流程定义ID
-QUERY_PROCESS_INSTANCE_BY_ID_NOTES=查询流程实例通过流程实例ID
-DELETE_PROCESS_INSTANCE_BY_ID_NOTES=删除流程实例通过流程实例ID
+QUERY_PROCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=通过项目ID查询流程定义
+BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=通过流程定义ID集合批量删除流程定义
+BATCH_DELETE_PROCESS_INSTANCE_BY_IDS_NOTES=通过流程实例ID集合批量删除流程实例
+DELETE_PROCESS_DEFINITION_BY_ID_NOTES=通过流程定义ID删除流程定义
+QUERY_PROCESS_INSTANCE_BY_ID_NOTES=通过流程实例ID查询流程实例
+DELETE_PROCESS_INSTANCE_BY_ID_NOTES=通过流程实例ID删除流程实例
 TASK_ID=任务实例ID
 SKIP_LINE_NUM=忽略行数
 QUERY_TASK_INSTANCE_LOG_NOTES=查询任务实例日志
@@ -204,18 +240,26 @@ USERS_TAG=用户相关操作
 SCHEDULER_TAG=定时相关操作
 CREATE_SCHEDULE_NOTES=创建定时
 CREATE_USER_NOTES=创建用户
+CREATE_WORKER_GROUP_NOTES=创建Worker分组
+WORKER_ADDR_LIST=worker地址列表
+QUERY_WORKER_ADDRESS_LIST_NOTES=查询worker地址列表
+QUERY_WORKFLOW_LINEAGE_BY_IDS_NOTES=通过IDs查询工作流血缘列表
+QUERY_WORKFLOW_LINEAGE_BY_NAME_NOTES=通过名称查询工作流血缘列表
 TENANT_ID=租户ID
 QUEUE=使用的队列
 EMAIL=邮箱
 PHONE=手机号
 QUERY_USER_LIST_NOTES=查询用户列表
 UPDATE_USER_NOTES=更新用户
+UPDATE_QUEUE_NOTES=更新队列
 DELETE_USER_BY_ID_NOTES=删除用户通过ID
 GRANT_PROJECT_NOTES=授权项目
 PROJECT_IDS=项目IDS(字符串格式,多个项目以","分割)
 GRANT_RESOURCE_NOTES=授权资源文件
 RESOURCE_IDS=资源ID列表(字符串格式,多个资源ID以","分割)
 GET_USER_INFO_NOTES=获取用户信息
+GET_NODE_LIST_BY_DEFINITION_CODE_NOTES=通过流程定义编码查询节点列表
+QUERY_PROCESS_DEFINITION_BY_NAME_NOTES=通过名称查询流程定义
 LIST_USER_NOTES=用户列表
 VERIFY_USER_NAME_NOTES=验证用户名
 UNAUTHORIZED_USER_NOTES=取消授权
@@ -225,11 +269,11 @@ GRANT_UDF_FUNC_NOTES=授权udf函数
 UDF_IDS=udf函数id列表(字符串格式,多个udf函数ID以","分割)
 GRANT_DATASOURCE_NOTES=授权数据源
 DATASOURCE_IDS=数据源ID列表(字符串格式,多个数据源ID以","分割)
-QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=查询子流程实例通过任务实例ID
-QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=查询父流程实例信息通过子流程实例ID
+QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=通过任务实例ID查询子流程实例
+QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=通过子流程实例ID查询父流程实例信息
 QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=查询流程实例全局变量和局部变量
 VIEW_GANTT_NOTES=浏览Gantt图
-SUB_PROCESS_INSTANCE_ID=子流程是咧ID
+SUB_PROCESS_INSTANCE_ID=子流程实例ID
 TASK_NAME=任务实例名
 TASK_INSTANCE_TAG=任务实例相关操作
 LOGGER_TAG=日志相关操作
@@ -239,10 +283,25 @@ HOST=运行任务的主机IP地址
 START_DATE=开始时间
 END_DATE=结束时间
 QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=通过流程实例ID查询任务列表
+DELETE_ALERT_PLUGIN_INSTANCE_NOTES=删除告警插件实例
+CREATE_ALERT_PLUGIN_INSTANCE_NOTES=创建告警插件实例
+GET_ALERT_PLUGIN_INSTANCE_NOTES=查询告警插件实例
+QUERY_ALERT_PLUGIN_INSTANCE_LIST_PAGING_NOTES=分页查询告警实例列表
+QUERY_ALL_ALERT_PLUGIN_INSTANCE_NOTES=查询所有告警实例列表
+UPDATE_ALERT_PLUGIN_INSTANCE_NOTES=更新告警插件实例
+ALERT_PLUGIN_INSTANCE_NAME=告警插件实例名称
+ALERT_PLUGIN_DEFINE_ID=告警插件定义ID
+ALERT_PLUGIN_ID=告警插件ID
+ALERT_PLUGIN_INSTANCE_ID=告警插件实例ID
+ALERT_PLUGIN_INSTANCE_PARAMS=告警插件实例参数
+ALERT_INSTANCE_NAME=告警插件名称
+VERIFY_ALERT_INSTANCE_NAME_NOTES=验证告警插件名称
 UPDATE_DATA_SOURCE_NOTES=更新数据源
+DATA_SOURCE_PARAM=数据源参数
 DATA_SOURCE_ID=数据源ID
+CREATE_ALERT_GROUP_NOTES=创建告警组
 QUERY_DATA_SOURCE_NOTES=查询数据源通过ID
-QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=查询数据源列表通过数据源类型
+QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=通过数据源类型查询数据源列表
 QUERY_DATA_SOURCE_LIST_PAGING_NOTES=分页查询数据源列表
 CONNECT_DATA_SOURCE_NOTES=连接数据源
 CONNECT_DATA_SOURCE_TEST_NOTES=连接数据源测试
@@ -254,12 +313,12 @@ DELETE_SCHEDULER_BY_ID_NOTES=根据定时id删除定时数据
 QUERY_ALERT_GROUP_LIST_PAGING_NOTES=分页查询告警组列表
 EXPORT_PROCESS_DEFINITION_BY_ID_NOTES=通过工作流ID导出工作流定义
 BATCH_EXPORT_PROCESS_DEFINITION_BY_IDS_NOTES=批量导出工作流定义
-QUERY_USER_CREATED_PROJECT_NOTES= 查询用户创建的项目
-QUERY_AUTHORIZED_AND_USER_CREATED_PROJECT_NOTES= 查询授权和用户创建的项目
-COPY_PROCESS_DEFINITION_NOTES= 复制工作流定义
-MOVE_PROCESS_DEFINITION_NOTES= 移动工作流定义
-TARGET_PROJECT_ID= 目标项目ID
-IS_COPY = 是否复制
+QUERY_USER_CREATED_PROJECT_NOTES=查询用户创建的项目
+QUERY_AUTHORIZED_AND_USER_CREATED_PROJECT_NOTES=查询授权和用户创建的项目
+COPY_PROCESS_DEFINITION_NOTES=复制工作流定义
+MOVE_PROCESS_DEFINITION_NOTES=移动工作流定义
+TARGET_PROJECT_ID=目标项目ID
+IS_COPY=是否复制
 DELETE_PROCESS_DEFINITION_VERSION_NOTES=删除流程历史版本
 QUERY_PROCESS_DEFINITION_VERSIONS_NOTES=查询流程历史版本信息
 SWITCH_PROCESS_DEFINITION_VERSION_NOTES=切换流程版本