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