will-bradley parent
You shouldn't need a user account for automated tasks, that's what webhooks and deploy keys are for.
I don’t know if this issue has been resolved, but as late as four years ago, GitLab didn’t have a notion of a service user. If you wanted a server to authenticate and pull from a private repo, you had to use a licensed account to do so. This meant your 5 user tier became a 4 user tier.
Project access tokens (https://docs.gitlab.com/ee/user/project/settings/project_acc...) is what you need and they have been around for 2+ years