## Is your feature request related to a problem?

You can currently install plugins from Github and NPM sources, but not GitLab

## Describe the solution you'd like

Copy a GitLab URL to install a plugin

## Describe alternatives you've considered

Using the plugin source editor.

## Additional context

Came from a conversation in the Users' slack

#### *Thank you* for your feature request – we love each and every one!

posthog/plugins/utils.py
url = url.strip("/")
    match = re.search(
        r"^https?:\/\/(?:www\.)?github\.com\/([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)((\/commit|\/tree|\/releases\/tag)\/([A-Za-z0-9_.\-\/]+))?$",
        url,
    )
    if not match:
        match = re.search(
            r"^https?:\/\/(?:www\.)?github\.com\/([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)((\/archive)\/([A-Za-z0-9_.\-\/]+)(\.zip|\.tar\.gz))?$",
            url,
        )
    if not match:
        return None
    parsed = {"type": "github", "user": match.group(1), "repo": match.group(2), "tag": match.group(5)}
    parsed["root_url"] = "https://github.com/{}/{}".format(parsed["user"], parsed["repo"])
    if get_latest_if_none and not parsed["tag"]:
        try:
            commits_url = "https://api.github.com/repos/{}/{}/commits".format(parsed["user"], parsed["repo"])
            commits = requests.get(commits_url).json()
            if len(commits) > 0 and commits[0].get("html_url", None):
                return parse_url(commits[0]["html_url"])
            raise
        except Exception:
            raise Exception("Could not get latest commit for: {}".format(parsed["root_url"]))
    if parsed["tag"]:
        parsed["tagged_url"] = "https://github.com/{}/{}/tree/{}".format(parsed["user"], parsed["repo"], parsed["tag"])
    return parsed
def parse_npm_url(url: str, get_latest_if_none=False) -> Optional[Dict[str, str]]: