gitlab_get_user_open_issues
Retrieve and prioritize open GitLab issues assigned to or created by a specific user. Filter by severity, SLA status, and sort by priority, due date, or recent updates for effective workload and compliance management.
Instructions
List open issues assigned to or created by a specific user.
Use this tool to see what issues a user is currently working on or responsible for.
Retrieve all currently open issues assigned to the specified user across all accessible projects, with intelligent priority sorting.
Returns prioritized issue list with:
Issue details: title, description, labels
Priority indicators: severity, SLA status
Context: project, milestone, due date
Activity: recent updates, comment count
Assignment: other assignees, collaboration info
Use cases:
Personal issue dashboard and inbox
Workload management and planning
SLA compliance tracking
Sprint and milestone planning
Parameters:
user_id: Numeric user ID
username: Username string (use either user_id or username)
severity: Filter by severity level
sla_status: Filter by SLA compliance (at_risk, overdue, ok)
sort: Sort order (priority, due_date, updated)
per_page: Results per page (default: 20)
page: Page number (default: 1)
Example: Get overdue issues for user
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination Type: integer Range: ≥1 Default: 1 Example: 3 (to get the third page of results) Note: Use with per_page to navigate large result sets | |
| per_page | No | Number of results per page Type: integer Range: 1-100 Default: 20 Example: 50 (for faster browsing) Tip: Use smaller values (10-20) for detailed operations, larger (50-100) for listing | |
| severity | No | Filter by severity level | |
| sla_status | No | Filter by SLA compliance | |
| sort | No | Sort order | priority |
| user_id | No | Numeric user ID | |
| username | No | Username string |
Implementation Reference
- src/mcp_gitlab/tool_handlers.py:762-780 (handler)The handler function that implements the core logic of the 'gitlab_get_user_open_issues' tool. It parses input arguments and delegates to the GitLabClient's get_user_open_issues method.def handle_get_user_open_issues(client: GitLabClient, arguments: Optional[Dict[str, Any]]) -> Dict[str, Any]: """Handle getting user's open issues""" user_id = get_argument(arguments, "user_id") username = get_argument(arguments, "username") severity = get_argument(arguments, "severity") sla_status = get_argument(arguments, "sla_status") sort = get_argument(arguments, "sort", "priority") per_page = get_argument(arguments, "per_page", DEFAULT_PAGE_SIZE) page = get_argument(arguments, "page", 1) return client.get_user_open_issues( user_id=user_id, username=username, severity=severity, sla_status=sla_status, sort=sort, per_page=per_page, page=page )
- src/mcp_gitlab/tool_handlers.py:1082-1082 (registration)Registration of the tool handler in the TOOL_HANDLERS dictionary, mapping the tool name constant to its handler function.TOOL_GET_USER_OPEN_ISSUES: handle_get_user_open_issues,
- Pydantic/MCP schema definition for the tool's input parameters and description.name=TOOL_GET_USER_OPEN_ISSUES, description=desc.DESC_GET_USER_OPEN_ISSUES, inputSchema={ "type": "object", "properties": { "username": {"type": "string", "description": "Username string"}, "scope": {"type": "string", "description": "Issue scope", "enum": ["created", "assigned", "all"], "default": "all"}, "labels": {"type": "string", "description": "Comma-separated label names"}, "per_page": {"type": "integer", "description": desc.DESC_PER_PAGE, "default": DEFAULT_PAGE_SIZE, "minimum": 1, "maximum": MAX_PAGE_SIZE}, "page": {"type": "integer", "description": desc.DESC_PAGE_NUMBER, "default": 1, "minimum": 1} }, "required": ["username"] } ),
- src/mcp_gitlab/server.py:1063-1064 (registration)Tool schema registration in the server's @server.list_tools() method for MCP protocol compliance.name=TOOL_GET_USER_OPEN_ISSUES, description=desc.DESC_GET_USER_OPEN_ISSUES,
- src/mcp_gitlab/constants.py:260-260 (helper)Constant defining the exact tool name string used throughout the codebase.TOOL_GET_USER_OPEN_ISSUES = "gitlab_get_user_open_issues"