def list_labels()

in migration/src/github_issues_util.py [0:0]


def list_labels(token: str, repo: str, logger: Logger) -> list[str]:
    url = GITHUB_API_BASE + f"/repos/{repo}/labels?per_page=100"
    headers = {"Authorization": f"token {token}", "Accept": "application/vnd.github.v3+json"}
    page = 1
    labels = []
    while True:
        res = requests.get(f"{url}&page={page}", headers=headers)
        time.sleep(INTERVAL_IN_SECONDS)
        if res.status_code != 200:
            logger.error(f"Failed to get labels for {repo}; status_code={res.status_code}, message={res.text}")
            return labels
        if len(res.json()) == 0:
            break
        for l in res.json():
            name = l["name"]
            labels.append(name)
        page += 1
    return labels