def METHOD_NAME(self, data, **kwargs):
    """Add necessary fields."""
    project_name_stripped = normalize_to_ascii(data["project_name"])
    project_name_stripped = normalize_git_url(project_name_stripped)
    if len(project_name_stripped) == 0:
        raise ValidationError("Project name contains only unsupported characters")
    new_project_url = f"{data['project_repository']}/{data['project_namespace']}/{project_name_stripped}"
    try:
        _ = GitURL.parse(new_project_url)
    except InvalidURL as e:
        raise ValidationError("`git_url` contains unsupported characters") from e
    project_slug = f"{data['project_namespace']}/{project_name_stripped}"
    data["new_project_url"] = new_project_url
    data["project_name_stripped"] = project_name_stripped
    data["project_slug"] = project_slug
    new_project_url_parsed = urlparse(new_project_url)
    url = "oauth2:{}@{}".format(data["token"], new_project_url_parsed.netloc)
    data["new_project_url_with_auth"] = new_project_url_parsed._replace(netloc=url).geturl()
    return data