INNER CODE UNIT · Python
fetch_github_releases
nova-video-player/aos-AVP · script/sync_changelog.py:16
def fetch_github_releases(repo_owner: str, repo_name: str) -> List[Dict]:
"""Fetch all releases from GitHub API"""
releases = []
page = 1
per_page = 100
while True:
url = f"https://api.github.com/repos/{repo_owner}/{repo_name}/releases?page={page}&per_page={per_page}"
try:
req = urllib.request.Request(url)
req.add_header('Accept', 'application/vnd.github.v3+json')
with urllib.request.urlopen(req) as response:
data = json.loads(response.read().decode())
if not data:
break