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

wangtao29 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozhera.git


The following commit(s) were added to refs/heads/master by this push:
     new 7dc37d64 feat: add git checkout new branch and create MR flow (#620)
7dc37d64 is described below

commit 7dc37d6464a03fed4d1e94bcee68a1775f78bcae
Author: EricDing <[email protected]>
AuthorDate: Thu Dec 4 14:26:38 2025 +0800

    feat: add git checkout new branch and create MR flow (#620)
    
    * refactor: refactor ozhera intelligence
    
    * feat: add coder tool and git mcp
    
    * fix: update codefix agent and tool
    
    * fix: add git suffix
    
    * refactor: add log query tool
    
    * fix: add endTime and update desc
    
    * feat: add git checkout new branch and create MR flow
---
 .../src/main/resources/application.properties         |  4 +++-
 .../main/resources/config/opensource-outer.properties |  4 +++-
 .../intelligence/agents/config/AgentConfig.java       | 19 +++++++++++++------
 .../ozhera/intelligence/service/TraceService.java     |  2 +-
 4 files changed, 20 insertions(+), 9 deletions(-)

diff --git 
a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties
 
b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties
index dd2e2af3..47d368a5 100644
--- 
a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties
+++ 
b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties
@@ -35,7 +35,7 @@ nacos.address=${nacos.address}
 mcp.agent.name=${mcp.agent.name}
 
 # Trace span sectional API
-trace.span.sectional.url=${trace.span.sectional.url}
+trace.query.section.api.url=${trace.query.section.api.url}
 # Trace query mode: http or dubbo
 trace.query.mode=${trace.query.mode}
 
@@ -67,3 +67,5 @@ metrics.api.url=${metrics.api.url}
 dubbo.qps.api.url=${dubbo.qps.api.url}
 
 log.query.api.url=${log.query.api.url}
+hera.log.detail.api.url=${hera.log.detail.api.url}
+trace.query.api.url=${trace.query.api.url}
\ No newline at end of file
diff --git 
a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties
 
b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties
index f637cb22..eff53e44 100644
--- 
a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties
+++ 
b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties
@@ -34,7 +34,7 @@ nacos.address=nacos:80
 mcp.agent.name=trace-analysis
 
 # Trace span sectional API
-trace.span.sectional.url=http://xx
+trace.query.section.api.url=http://xx
 # Trace query mode: http or dubbo,
 trace.query.mode=dubbo
 
@@ -62,3 +62,5 @@ hera.analysis.api.flowId=
 metrics.api.url=http://xxx
 dubbo.qps.api.url=http://xxxx
 log.query.api.url=http://xxxx
+hera.log.detail.api.url==http://xxxx
+trace.query.api.url=http://xxxx
\ No newline at end of file
diff --git 
a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/agents/config/AgentConfig.java
 
b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/agents/config/AgentConfig.java
index 7fd0f136..f400f177 100644
--- 
a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/agents/config/AgentConfig.java
+++ 
b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/agents/config/AgentConfig.java
@@ -27,9 +27,7 @@ import org.springframework.context.annotation.Configuration;
 import run.mone.hive.mcp.function.ChatFunction;
 import run.mone.hive.mcp.service.RoleMeta;
 import run.mone.hive.roles.tool.*;
-import run.mone.mcp.git.tool.GitCloneTool;
-import run.mone.mcp.git.tool.GitCommitTool;
-import run.mone.mcp.git.tool.GitPushTool;
+import run.mone.mcp.git.tool.*;
 import run.mone.mcp.hera.analysis.tool.LogQueryTool;
 import run.mone.mcp.miline.tools.GetPipelineDetailTool;
 import run.mone.mcp.miline.tools.RunPipelineTool;
@@ -51,6 +49,10 @@ public class AgentConfig {
     @Autowired
     private GitPushTool gitPushTool;
     @Autowired
+    private GitCheckoutNewBranchTool gitCheckoutNewBranchTool;
+    @Autowired
+    private GitCreateMergeRequestTool gitCreateMergeRequestTool;
+    @Autowired
     private LogQueryTool logQueryTool;
 
     private boolean isRemoteFile = false;
@@ -86,6 +88,8 @@ public class AgentConfig {
                         gitCloneTool,
                         gitCommitTool,
                         gitPushTool,
+                        gitCheckoutNewBranchTool,
+                        gitCreateMergeRequestTool,
                         logQueryTool
                 ))
                 //mcp工具
@@ -96,9 +100,12 @@ public class AgentConfig {
                         2、查询对应project和流水线(env)endTime前后半小时的该traceId的全部日志
                         2、根据根因节点的projectId和envId(就是pipelineId)获取流水线详情 
                         
3、根据流水线详情中的gitUrl、gitBranch、gitCommitId调用git_clone工具进行git clone\s
-                        4、根据trace链路上的异常信息或者是日志中的信息,结合项目代码进行异常修复\s
-                        5、修复完成后,将本地代码使用git_commit工具进行git 
commit,commit信息是自动代码修复, 使用git_push进行git push\s
-                        6、根据projectId和envId调用RunPipelineTool进行发布
+                        4、基于gitBranch和localPath创建一个新的分支,这个分支用于代码修复分支
+                        5、根据trace链路上的异常信息或者是日志中的信息,结合项目代码进行异常修复\s
+                        6、修复完成后,将本地代码使用git_commit工具进行git 
commit,commit信息是自动代码修复, 使用git_push进行git push\s
+                        
7、根据流水线详情中的gitUrl、代码修复分支、gitBranch创建MR,将代码修复分支的代码合并到gitBranch中
+                        8、使用ask工具询问用户是否能够发布
+                        
9、如果能够发布,根据projectId和envId调用RunPipelineTool进行发布,如果不能够发布,则直接结束流程
                 """)
                 .build();
     }
diff --git 
a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java
 
b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java
index 928709f4..7da5878a 100644
--- 
a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java
+++ 
b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java
@@ -57,7 +57,7 @@ public class TraceService {
     /**
      * Trace span sectional API URL
      */
-    @Value("${trace.span.sectional.url}")
+    @Value("${trace.query.section.api.url}")
     private String traceSpanSectionalUrl;
 
     /**


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to