refactor: xuqm-log-service → xuqm-bugcollect-service
- 目录/包名/API路径/数据库/容器名全部重命名 - 26个Java文件包名 com.xuqm.log → com.xuqm.bugcollect - API前缀 /log/v1/ → /bugcollect/v1/ - mvn compile 通过 Co-Authored-By: Claude <noreply@anthropic.com>
这个提交包含在:
父节点
e7702fb443
当前提交
5b020525ac
@ -17,7 +17,7 @@ COPY update-service/pom.xml ./update-service/pom.xml
|
|||||||
COPY demo-service/pom.xml ./demo-service/pom.xml
|
COPY demo-service/pom.xml ./demo-service/pom.xml
|
||||||
COPY file-service/pom.xml ./file-service/pom.xml
|
COPY file-service/pom.xml ./file-service/pom.xml
|
||||||
COPY license-service/pom.xml ./license-service/pom.xml
|
COPY license-service/pom.xml ./license-service/pom.xml
|
||||||
COPY xuqm-log-service/pom.xml ./xuqm-log-service/pom.xml
|
COPY xuqm-bugcollect-service/pom.xml ./xuqm-bugcollect-service/pom.xml
|
||||||
|
|
||||||
# Pre-download dependencies using BuildKit cache mount — persisted across builds
|
# Pre-download dependencies using BuildKit cache mount — persisted across builds
|
||||||
RUN --mount=type=cache,target=/root/.m2 \
|
RUN --mount=type=cache,target=/root/.m2 \
|
||||||
@ -34,7 +34,7 @@ COPY update-service ./update-service
|
|||||||
COPY demo-service ./demo-service
|
COPY demo-service ./demo-service
|
||||||
COPY file-service ./file-service
|
COPY file-service ./file-service
|
||||||
COPY license-service ./license-service
|
COPY license-service ./license-service
|
||||||
COPY xuqm-log-service ./xuqm-log-service
|
COPY xuqm-bugcollect-service ./xuqm-bugcollect-service
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.m2 \
|
RUN --mount=type=cache,target=/root/.m2 \
|
||||||
mvn -s /workspace/maven-settings.xml -pl ${SERVICE_MODULE} -am -DskipTests package
|
mvn -s /workspace/maven-settings.xml -pl ${SERVICE_MODULE} -am -DskipTests package
|
||||||
|
|||||||
6
Jenkinsfile
vendored
6
Jenkinsfile
vendored
@ -4,7 +4,7 @@ pipeline {
|
|||||||
parameters {
|
parameters {
|
||||||
choice(
|
choice(
|
||||||
name: 'SERVICE',
|
name: 'SERVICE',
|
||||||
choices: ['all', 'tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-log-service'],
|
choices: ['all', 'tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-bugcollect-service'],
|
||||||
description: '要构建的服务模块(all = 全部,每个服务独立版本号)'
|
description: '要构建的服务模块(all = 全部,每个服务独立版本号)'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -41,7 +41,7 @@ pipeline {
|
|||||||
stage('Resolve Versions') {
|
stage('Resolve Versions') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
def allServices = ['tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-log-service']
|
def allServices = ['tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-bugcollect-service']
|
||||||
|
|
||||||
// 支持从 job 名自动推断服务(如 xuqmgroup-update-service → update-service)
|
// 支持从 job 名自动推断服务(如 xuqmgroup-update-service → update-service)
|
||||||
def jobService = env.JOB_NAME.tokenize('/').last()
|
def jobService = env.JOB_NAME.tokenize('/').last()
|
||||||
@ -118,7 +118,7 @@ pipeline {
|
|||||||
// 合并更新 versions.json(只改动本次构建涉及的服务,不覆盖其它服务或 web 条目)
|
// 合并更新 versions.json(只改动本次构建涉及的服务,不覆盖其它服务或 web 条目)
|
||||||
def releasedAt = new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone('UTC'))
|
def releasedAt = new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone('UTC'))
|
||||||
def builtJson = groovy.json.JsonOutput.toJson(serviceVersions)
|
def builtJson = groovy.json.JsonOutput.toJson(serviceVersions)
|
||||||
def allSvcsList = groovy.json.JsonOutput.toJson(['tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-log-service'])
|
def allSvcsList = groovy.json.JsonOutput.toJson(['tenant-service', 'im-service', 'push-service', 'update-service', 'file-service', 'license-service', 'demo-service', 'xuqm-bugcollect-service'])
|
||||||
def updateScript = """\
|
def updateScript = """\
|
||||||
import json, os
|
import json, os
|
||||||
path = '${env.VERSIONS_FILE}'
|
path = '${env.VERSIONS_FILE}'
|
||||||
|
|||||||
2
pom.xml
2
pom.xml
@ -21,7 +21,7 @@
|
|||||||
<module>demo-service</module>
|
<module>demo-service</module>
|
||||||
<module>file-service</module>
|
<module>file-service</module>
|
||||||
<module>license-service</module>
|
<module>license-service</module>
|
||||||
<module>xuqm-log-service</module>
|
<module>xuqm-bugcollect-service</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@ -11,9 +11,9 @@
|
|||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>xuqm-log-service</artifactId>
|
<artifactId>xuqm-bugcollect-service</artifactId>
|
||||||
<name>xuqm-log-service</name>
|
<name>xuqm-bugcollect-service</name>
|
||||||
<description>Log collection, dedup, symbolication, webhook notification & funnel analytics</description>
|
<description>Bug collection, dedup, symbolication, webhook notification & funnel analytics</description>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log;
|
package com.xuqm.bugcollect;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
@ -6,7 +6,7 @@ import org.springframework.context.annotation.ComponentScan;
|
|||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@ComponentScan(basePackages = {"com.xuqm.log", "com.xuqm.common"})
|
@ComponentScan(basePackages = {"com.xuqm.bugcollect", "com.xuqm.common"})
|
||||||
@EnableAsync
|
@EnableAsync
|
||||||
public class LogServiceApplication {
|
public class LogServiceApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.config;
|
package com.xuqm.bugcollect.config;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -18,7 +18,7 @@ public class SecurityConfig {
|
|||||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||||
.authorizeHttpRequests(auth -> auth
|
.authorizeHttpRequests(auth -> auth
|
||||||
.requestMatchers("/actuator/**").permitAll()
|
.requestMatchers("/actuator/**").permitAll()
|
||||||
.requestMatchers("/log/**").permitAll()
|
.requestMatchers("/bugcollect/**").permitAll()
|
||||||
.anyRequest().permitAll()
|
.anyRequest().permitAll()
|
||||||
);
|
);
|
||||||
return http.build();
|
return http.build();
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.controller;
|
package com.xuqm.bugcollect.controller;
|
||||||
|
|
||||||
import com.xuqm.common.exception.BusinessException;
|
import com.xuqm.common.exception.BusinessException;
|
||||||
import com.xuqm.common.model.ApiResponse;
|
import com.xuqm.common.model.ApiResponse;
|
||||||
@ -1,11 +1,11 @@
|
|||||||
package com.xuqm.log.controller;
|
package com.xuqm.bugcollect.controller;
|
||||||
|
|
||||||
import com.xuqm.common.model.ApiResponse;
|
import com.xuqm.common.model.ApiResponse;
|
||||||
import com.xuqm.common.model.PageResult;
|
import com.xuqm.common.model.PageResult;
|
||||||
import com.xuqm.log.dto.*;
|
import com.xuqm.bugcollect.dto.*;
|
||||||
import com.xuqm.log.service.LogService;
|
import com.xuqm.bugcollect.service.LogService;
|
||||||
import com.xuqm.log.service.SourcemapService;
|
import com.xuqm.bugcollect.service.SourcemapService;
|
||||||
import com.xuqm.log.service.WebhookService;
|
import com.xuqm.bugcollect.service.WebhookService;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -15,7 +15,7 @@ import java.io.IOException;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/log/v1")
|
@RequestMapping("/bugcollect/v1")
|
||||||
public class LogController {
|
public class LogController {
|
||||||
|
|
||||||
private final LogService logService;
|
private final LogService logService;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.dto;
|
package com.xuqm.bugcollect.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.entity;
|
package com.xuqm.bugcollect.entity;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.entity;
|
package com.xuqm.bugcollect.entity;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.entity;
|
package com.xuqm.bugcollect.entity;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.entity;
|
package com.xuqm.bugcollect.entity;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.xuqm.log.entity;
|
package com.xuqm.bugcollect.entity;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xuqm.log.repository;
|
package com.xuqm.bugcollect.repository;
|
||||||
|
|
||||||
import com.xuqm.log.entity.LogEventEntity;
|
import com.xuqm.bugcollect.entity.LogEventEntity;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xuqm.log.repository;
|
package com.xuqm.bugcollect.repository;
|
||||||
|
|
||||||
import com.xuqm.log.entity.LogIssueEventEntity;
|
import com.xuqm.bugcollect.entity.LogIssueEventEntity;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xuqm.log.repository;
|
package com.xuqm.bugcollect.repository;
|
||||||
|
|
||||||
import com.xuqm.log.entity.LogIssueEntity;
|
import com.xuqm.bugcollect.entity.LogIssueEntity;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xuqm.log.repository;
|
package com.xuqm.bugcollect.repository;
|
||||||
|
|
||||||
import com.xuqm.log.entity.LogSourcemapEntity;
|
import com.xuqm.bugcollect.entity.LogSourcemapEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xuqm.log.repository;
|
package com.xuqm.bugcollect.repository;
|
||||||
|
|
||||||
import com.xuqm.log.entity.LogWebhookEntity;
|
import com.xuqm.bugcollect.entity.LogWebhookEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,10 +1,10 @@
|
|||||||
package com.xuqm.log.service;
|
package com.xuqm.bugcollect.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.xuqm.log.dto.*;
|
import com.xuqm.bugcollect.dto.*;
|
||||||
import com.xuqm.log.entity.*;
|
import com.xuqm.bugcollect.entity.*;
|
||||||
import com.xuqm.log.repository.*;
|
import com.xuqm.bugcollect.repository.*;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
@ -1,8 +1,8 @@
|
|||||||
package com.xuqm.log.service;
|
package com.xuqm.bugcollect.service;
|
||||||
|
|
||||||
import com.xuqm.log.dto.SourcemapUploadResponse;
|
import com.xuqm.bugcollect.dto.SourcemapUploadResponse;
|
||||||
import com.xuqm.log.entity.LogSourcemapEntity;
|
import com.xuqm.bugcollect.entity.LogSourcemapEntity;
|
||||||
import com.xuqm.log.repository.LogSourcemapRepository;
|
import com.xuqm.bugcollect.repository.LogSourcemapRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@ -23,7 +23,7 @@ public class SourcemapService {
|
|||||||
|
|
||||||
private final LogSourcemapRepository sourcemapRepository;
|
private final LogSourcemapRepository sourcemapRepository;
|
||||||
|
|
||||||
@Value("${log-service.sourcemap.storage-dir:/data/log-service/sourcemaps}")
|
@Value("${bugcollect-service.sourcemap.storage-dir:/data/bugcollect-service/sourcemaps}")
|
||||||
private String storageDir;
|
private String storageDir;
|
||||||
|
|
||||||
public SourcemapService(LogSourcemapRepository sourcemapRepository) {
|
public SourcemapService(LogSourcemapRepository sourcemapRepository) {
|
||||||
@ -1,11 +1,11 @@
|
|||||||
package com.xuqm.log.service;
|
package com.xuqm.bugcollect.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.xuqm.log.dto.WebhookRequest;
|
import com.xuqm.bugcollect.dto.WebhookRequest;
|
||||||
import com.xuqm.log.dto.WebhookResponse;
|
import com.xuqm.bugcollect.dto.WebhookResponse;
|
||||||
import com.xuqm.log.entity.LogIssueEntity;
|
import com.xuqm.bugcollect.entity.LogIssueEntity;
|
||||||
import com.xuqm.log.entity.LogWebhookEntity;
|
import com.xuqm.bugcollect.entity.LogWebhookEntity;
|
||||||
import com.xuqm.log.repository.LogWebhookRepository;
|
import com.xuqm.bugcollect.repository.LogWebhookRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -3,9 +3,9 @@ server:
|
|||||||
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: xuqm-log-service
|
name: xuqm-bugcollect-service
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:mysql://39.107.53.187:3306/xuqm_log?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
url: jdbc:mysql://39.107.53.187:3306/xuqm_bugcollect?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
||||||
username: xuqm
|
username: xuqm
|
||||||
password: Xuqm@2026
|
password: Xuqm@2026
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
@ -50,9 +50,9 @@ spring:
|
|||||||
max-file-size: 50MB
|
max-file-size: 50MB
|
||||||
max-request-size: 50MB
|
max-request-size: 50MB
|
||||||
|
|
||||||
log-service:
|
bugcollect-service:
|
||||||
sourcemap:
|
sourcemap:
|
||||||
storage-dir: ${LOG_SOURCEMAP_DIR:/data/log-service/sourcemaps}
|
storage-dir: ${LOG_SOURCEMAP_DIR:/data/bugcollect-service/sourcemaps}
|
||||||
webhook:
|
webhook:
|
||||||
connect-timeout-ms: 3000
|
connect-timeout-ms: 3000
|
||||||
read-timeout-ms: 5000
|
read-timeout-ms: 5000
|
||||||
正在加载...
在新工单中引用
屏蔽一个用户