We support Jaspersoft at multiple clients. My team creates the artifacts (reports, dashboards, domains, etc.) and each set of artifacts is versioned with a release number, i.e. "Analytics 1.6." These releases are designed to work with a certain version of our application database. The current packaging process, which I'm over simplifying, involves creating a zip file copy of the repository when the release is ready, then unpacking that file and deploying it on our customer's Jasperserver. It is not possible to branch, use a GIT type repository as we do with our application releases.
Ideally we would have one "repository" in the cloud where all the Jaspersoft instances that we support would point to to access their artifacts. Something like that would allow us to seamlessly deploy artifacts in the background while the customers server handled the ad-hoc artifacts that the customer had created.