def METHOD_NAME(data: Mapping[str, Any], integration: RpcIntegration) -> None:
    project: str | None = None
    try:
        external_issue_key = data["resource"]["workItemId"]
    except KeyError as e:
        logger.info(
            "vsts.updating-workitem-does-not-have-necessary-information",
            extra={"error": str(e), "integration_id": integration.id},
        )
        return
    try:
        project = data["resourceContainers"]["project"]["id"]
    except KeyError as e:
        logger.info(
            "vsts.updating-workitem-does-not-have-necessary-information",
            extra={"error": str(e), "integration_id": integration.id},
        )
    try:
        assigned_to = data["resource"]["fields"].get("System.AssignedTo")
        status_change = data["resource"]["fields"].get("System.State")
    except KeyError as e:
        logger.info(
            "vsts.updated-workitem-fields-not-passed",
            extra={
                "error": str(e),
                "workItemId": data["resource"]["workItemId"],
                "integration_id": integration.id,
                "azure_project_id": project,
            },
        )
        return  # In the case that there are no fields sent, no syncing can be done
    logger.info(
        "vsts.updated-workitem-fields-correct",
        extra={
            "workItemId": data["resource"]["workItemId"],
            "integration_id": integration.id,
            "azure_project_id": project,
        },
    )
    handle_assign_to(integration, external_issue_key, assigned_to)
    handle_status_change(integration, external_issue_key, status_change, project)