Objective function for 'reg:gamma'

Who can tell me the function that is minimised when objective=‘reg:gamma’ is used in an XGBoost regression?

Here is the implementation of negative log-likelihood for the gamma objective:

I am looking to implement gamma regression with some changes possibly. Starting off simply, how would I implement the same gamma function as custom objective function? How would the gradient and hessian be defined in the custom function?