We use Request Tracker in Ensembl. All tickets are private and can be conducted entirely by email, so no login is required by requestors. You can also comment on a ticket without a requestor seeing it, which can be useful for keeping track of your own internal investigations.
In RT, you "take" a ticket, then you are the requestor's only point of contact. You can change the settings so that everybody who follows the queue sees all emails, or so that only the ticket owner sees all subsequent emails. You can "steal" tickets from someone if it becomes apparent that someone else is better equipped to deal with it, or if the owner goes on holiday or something.
It's not great for formatting. Generally the interface is a bit clunky. You can format your messages to include code and stuff, but it's certainly not as easy to use as something like BioStars. Since the requestor is using email, you suffer from all kinds of dodgy formatting that their email client will do to you. Mostly I send stuff like scripts as attachments.
I'm not sure if you can integrate with git/gitlab. It has an API to allow you to write custom scripts in Perl to do quite a lot of stuff, so it's probably possible.
It's fairly easy to search and generate graphs and stats of your search results. I personally haven't used RT to help justify a promotion or similar, but you could certainly show that an individual took some percentage of tickets and resolved them all within a certain space of time (although this tells you nothing about the difficulty of those tickets, it could be like comparing the number of operations and survival rate of a brain surgeon to one who mainly does C-sections).
our support desks use OSTicket I think. Not sure if it covers your needs.