public static long creatProject(String url, String token, String projectName,
            String description) {
        try {
            Map<String, String> header = buildHeader(token);

            Map<String, String> queryParams = new HashMap<>();
            queryParams.put(DS_PROJECT_NAME, projectName);
            queryParams.put(DS_PROJECT_DESC, description);

            JsonObject response = executeHttpRequest(url, POST, queryParams, header);

            JsonObject data = response.get(DS_RESPONSE_DATA).getAsJsonObject();
            LOGGER.info("create project success, project data: {}", data);

            return data != null ? data.get(DS_CODE).getAsLong() : 0;
        } catch (JsonParseException e) {
            LOGGER.error("JsonParseException during creating project", e);
            throw new DolphinScheduleException(
                    JSON_PARSE_ERROR,
                    String.format("Error creating project with name: %s and description: %s at URL: %s",
                            projectName, description, url));

        } catch (DolphinScheduleException e) {
            LOGGER.error("Creating project failed: {}", e.getMessage());
            throw new DolphinScheduleException(
                    PROJECT_CREATION_FAILED,
                    String.format("Error creating project with name: %s and description: %s at URL: %s",
                            projectName, description, url));
        }
    }
Creates a new project in DolphinScheduler.

@param url         The base URL of the DolphinScheduler API.
@param token       The authentication token to be used in the request header.
@param projectName The name of the new project.
@param description The description of the new project.
@return The project code (ID) if creation is successful, or 0 if an error occurs.
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java