ppm_risk_start_mitigation
Transition a risk to the 'mitigating' status to start the mitigation process.
Instructions
Transition a risk to 'mitigating'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| risk_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/qod_ppm_mcp/server.py:226-230 (handler)Handler for ppm_risk_start_mitigation tool. Takes a risk_id, calls the Odoo server action 'action_start_mitigation' on 'ppm.risk' model to transition the risk to 'mitigating' state, then returns the updated risk with standard risk fields.
@mcp.tool() def ppm_risk_start_mitigation(risk_id: int) -> dict[str, Any]: """Transition a risk to 'mitigating'.""" client().call_action("ppm.risk", "action_start_mitigation", [risk_id]) return _read_state("ppm.risk", risk_id, _RISK_FIELDS) - src/qod_ppm_mcp/server.py:226-226 (registration)Registration via @mcp.tool() decorator on line 226 registers the function as an MCP tool named 'ppm_risk_start_mitigation'.
@mcp.tool() - src/qod_ppm_mcp/server.py:206-216 (schema)Schema definition for risk fields used by the tool to read back state after the action.
_RISK_FIELDS = [ "name", "state", "risk_type", "probability", "impact", "risk_score", "risk_level", "project_id", "owner_id", ] - src/qod_ppm_mcp/server.py:30-34 (helper)Helper function _read_state used by ppm_risk_start_mitigation to read the risk record after the action call.
def _read_state(model: str, rec_id: int, fields: list[str]) -> dict[str, Any]: rows = client().read(model, [rec_id], fields) if not rows: raise ValueError(f"{model} id={rec_id} not found") return rows[0]