gitlab_get_user_open_issues
Retrieve and manage open issues assigned to or created by a specific GitLab user. Filter by severity, SLA status, or sort by priority to track workload and compliance.
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 |
|---|---|---|---|
| user_id | No | Numeric user ID | |
| username | No | Username string | |
| severity | No | Filter by severity level | |
| sla_status | No | Filter by SLA compliance | |
| sort | No | Sort order | priority |
| 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 | |
| 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 |
Implementation Reference
- src/mcp_gitlab/tool_handlers.py:762-780 (handler)The main handler function that implements the tool logic, extracting parameters and calling 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 )
- The MCP tool definition including input schema and description.types.Tool( 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/tool_handlers.py:1082-1082 (registration)Registration of the tool name to its handler function in the TOOL_HANDLERS dictionary.TOOL_GET_USER_OPEN_ISSUES: handle_get_user_open_issues,
- src/mcp_gitlab/constants.py:260-260 (helper)Constant defining the tool name string.TOOL_GET_USER_OPEN_ISSUES = "gitlab_get_user_open_issues"