feat: Processes MCP tools (list/submit/track/cancel requests + pending approvals) + Spring bridge - EXO-88467 - #486
Merged
Jihed525 merged 1 commit intoJul 15, 2026
Conversation
…nding approvals) - EXO-88467 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merged
3 tasks
Jihed525
added a commit
that referenced
this pull request
Jul 21, 2026
The CI coverage gate (-Pcoverage, min 0.58 instruction ratio) failed on feature/ai-contribution: ProcessesMcpTool (added by #486) was at 20.7% coverage since ProcessesMcpToolTest only guarded listProcesses/ getPendingApprovals against a null-unbox NPE, leaving getMyRequests, getRequestDetails, submitWorkRequest, cancelWorkRequest and the task-mapping path of getPendingApprovals untested. That dragged the processes-services bundle to 55%, under develop's already-thin 58.1% margin. Added tests for the remaining methods (validation errors, not-found, happy path, the cancel-is-idempotent branch, and the pending-approvals task-to-model mapping), bringing ProcessesMcpTool to 92.9% and the bundle to 60.4%. Verified with mvn -Pcoverage clean install on the processes-services module and the full reactor.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Exposes the eXo Processes center (workflow requests) as 6 MCP tools for EVA, in the open processes add-on.
list_processes— discover available request types (WorkFlows)get_my_requests/get_request_details— track your requests + statussubmit_work_request— create a request (title/description/attachments; require_approval)cancel_work_request— cancel (status=Canceled + completed; require_approval)get_pending_approvals— requests awaiting me as a process-project manager (derived via the Task engine)Grounded in the code: a WorkFlow is a Task/Kanban project and a request is a task, so approval actions reuse the existing Task MCP tools (
update_task_status→ Validated/Refused,add_task_comment) rather than duplicating them.Spring bridge
The processes add-on was kernel-only, so a
ProcessesApplicationSpring bridge (@SpringBootApplication extends PortalApplicationContextInitializer, with the DB-autoconfig excludes) was added in the webapp module so the@Service ... McpToolPluginbean is discovered by mcp-server. Deploy needs both the services jar and the webapp WAR.Verification
Built + unit-tested; verified live through EVA (
list_processesreturns the configured process types). A runtime null-Boolean NPE in the filter (caught live) is fixed + regression-tested.Dependency / CI
Consumes
mcp-server-tools(McpToolPlugin) at the*-ai-contributionline — CI red until that version is published.Board: EXO-88467.
🤖 Generated with Claude Code