I work on git hosts integration, we aim to support Github, Bitbucket and Gitlab. I don't understand Gitlab api just like I don't understand their UI. It's confusing. For example while the others call Repo as Repo, Gitlab call Repo as Project, and call Tree as Repo.