CIRCLE_BUILD_URL environment variable changing for projects that use GitHub App & GitLab

I guess, I expected the format of the URL to be the same (just github or circleci be different).

That inconsistency and others (as mentioned in CIRCLE_PROJECT_USERNAME & CIRCLE_PROJECT_REPONAME environment variables changing for projects that use GitHub App & GitLab) makes things very confusing. As a user I should not be knowing the type of integration (GH App, GH OAuth, GL, or BB) when using any of the environment variables!?!

For example, how should I obtain (consistently) the:

  • Workflow URL - currently there is no env-var for that! How to construct it without know the “integration” type?
  • Job URL - currently the misnamed CIRCLE_BUILD_URL exists, but is non-consistently formatted!
  • VCS user/org-name - is the current CIRCLE_PROJECT_USERNAME good for that?
  • VCS repo-name - is the current CIRCLE_PROJECT_REPONAME good for that?