unarchive_issue
Restore archived security issues to active view in the ZeroPath MCP Server for continued monitoring and management.
Instructions
Unarchive a previously archived security issue to restore it to active view.
Args:
issue_id: The ID of the issue to unarchive
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issue_id | Yes |
Implementation Reference
- The handler function for the 'unarchive_issue' tool. It validates the issue_id input, makes an authenticated POST request to the ZeroPath API endpoint '/issues/unarchive', and handles the response with appropriate success/error messages. Registered as an MCP tool via the @mcp.tool() decorator.@mcp.tool() def unarchive_issue(issue_id: str) -> str: """ Unarchive a previously archived security issue to restore it to active view. Args: issue_id: The ID of the issue to unarchive """ if not issue_id: return "Error: Issue ID is required" response, error = make_api_request( "issues/unarchive", {"issueId": issue_id} ) if error: return error if response.status_code == 200: return f"Issue {issue_id} unarchived successfully" elif response.status_code == 401: return "Error: Unauthorized - check API credentials" elif response.status_code == 400: return f"Error: Bad request - {response.text}" else: return f"Error: API returned status {response.status_code}: {response.text}"
- Supporting helper function called by unarchive_issue (and other tools) to perform authenticated API requests to the ZeroPath service using environment variables for credentials.def make_api_request(endpoint, payload=None, include_org=True): """Make authenticated API request to ZeroPath.""" if not token_id or not token_secret: return None, "Error: Zeropath API credentials not found in environment variables" headers = { "X-ZeroPath-API-Token-Id": token_id, "X-ZeroPath-API-Token-Secret": token_secret, "Content-Type": "application/json" } if payload is None: payload = {} if include_org and org_id: payload["organizationId"] = org_id try: response = requests.post( f"{API_BASE_URL}/{endpoint}", headers=headers, json=payload ) return response, None except Exception as e: return None, f"Error: {str(e)}"