Graph Neural Networks (GNNs) are an emerging tool in high energy physics experiments which provide the high dimensionality pattern recognition of deep learning generalised to sparse and geometrically complex data. This work presents a general method based on GNNs for reconstruction of events observed by the IceCube Neutrino Observatory. The method generalises to the entire energy range of IceCube and is flexible enough to be compatible with the coming detector upgrade featuring new sensor types on additional strings. The GNN is trained to reconstruct energy, zenith, azimuth and interaction vertex. In addition, the GNN is trained to classify atmospheric muons from neutrino events and to classify event topologies. In this poster we first apply the method to simulated events in the low energy range of IceCube DeepCore, and demonstrate that the GNN leads to substantial improvements in both classification tasks and a 15-20% resolution improvement for reconstructed variables in the 1 - 30 GeV energy range, as compared to the currently-in-use methods. We then apply the method to IceCube Upgrade and show how uncertainty estimations from the GNN can be used in event selection.