class_docstr: Helper class to output a list of logs entries on a superset changelog format
  
  We want to map a git author to a github login, for that we call github's API
code: def _parse_change_log(
      self,
      changelog: dict[str, str],
      pr_info: dict[str, str],
      github_login: str,
  ) -> None:
      formatted_pr = (
          f"- [#{pr_info.get('id')}]"
          f"(https://github.com/{SUPERSET_REPO}/pull/{pr_info.get('id')}) "
          f"{pr_info.get('title')} (@{github_login})\n"
      )
      if pr_info.get("has_migrations"):
          changelog["Database Migrations"] += formatted_pr
      elif pr_info.get("type") == "fix":
          changelog["Fixes"] += formatted_pr
      elif pr_info.get("type") == "feat":
          changelog["Features"] += formatted_pr
      else:
          changelog["Others"] += formatted_pr
  
imports: import csv
  import os
  import re
  import sys
  from collections.abc import Iterator
  from dataclasses import dataclass
  from typing import Any, Optional, Union
  import click
  from click.core import Context
label_desc: Use image node_id 8 for calling the GitChangeLog obj's underlying member method code with example usage: obj._parse_change_log(changelog, pr_info, github_login) without return types