delete_script_include
Remove a script include from a ServiceNow instance by specifying its ID or name, streamlining management of server-side scripts.
Instructions
Delete a script include in ServiceNow
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script_include_id | Yes | Script include ID or name |
Implementation Reference
- Main handler function that implements the logic to delete a Script Include by ID or name. It first retrieves the Script Include to get its sys_id, then sends a DELETE request to the ServiceNow REST API.def delete_script_include( config: ServerConfig, auth_manager: AuthManager, params: DeleteScriptIncludeParams, ) -> ScriptIncludeResponse: """Delete a script include from ServiceNow. Args: config: The server configuration. auth_manager: The authentication manager. params: The parameters for the request. Returns: A response indicating the result of the operation. """ # First, get the script include to delete get_params = GetScriptIncludeParams(script_include_id=params.script_include_id) get_result = get_script_include(config, auth_manager, get_params) if not get_result["success"]: return ScriptIncludeResponse( success=False, message=get_result["message"], ) script_include = get_result["script_include"] sys_id = script_include["sys_id"] name = script_include["name"] # Build the URL url = f"{config.instance_url}/api/now/table/sys_script_include/{sys_id}" # Make the request headers = auth_manager.get_headers() try: response = requests.delete( url, headers=headers, timeout=30, ) response.raise_for_status() return ScriptIncludeResponse( success=True, message=f"Deleted script include: {name}", script_include_id=sys_id, script_include_name=name, ) except Exception as e: logger.error(f"Error deleting script include: {e}") return ScriptIncludeResponse( success=False, message=f"Error deleting script include: {str(e)}", )
- Pydantic model defining the input parameters for the delete_script_include tool, requiring a script_include_id (sys_id or name).class DeleteScriptIncludeParams(BaseModel): """Parameters for deleting a script include.""" script_include_id: str = Field(..., description="Script include ID or name")
- src/servicenow_mcp/utils/tool_utils.py:653-659 (registration)Tool registration entry in the get_tool_definitions dictionary, mapping the tool name to its handler (aliased), params schema, return type hint, description, and serialization method."delete_script_include": ( delete_script_include_tool, DeleteScriptIncludeParams, str, # Expects JSON string "Delete a script include in ServiceNow", "json_dict", # Tool returns Pydantic model ),