2025-10-09 18:51:07 +02:00

42 lines
1.1 KiB
Python

import requests
from dotenv import load_dotenv
import os
load_dotenv()
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
def find_package_version_with_tag(org , package, target_tag):
headers = {
"Authorization": f"Bearer {GITHUB_TOKEN}",
"Accept": "application/vnd.github+json"
}
page = 1
per_page = 100
while True:
url = f"https://api.github.com/orgs/{org}/packages/container/{package}/versions"
params = {"per_page": per_page, "page": page}
response = requests.get(url, headers=headers, params=params)
if response.status_code != 200:
print(f"Error {response.status_code}: {response.text}")
return None
versions = response.json()
if not versions:
print(f"Reached end of pages — tag '{target_tag}' not found.")
return None
for version in versions:
tags = version.get("metadata", {}).get("container", {}).get("tags", [])
if target_tag in tags:
print(f"Found tag '{target_tag}' on page {page}:\n")
return version["id"]
page += 1
if __name__ == "__main__":
find_package_version_with_tag("Suwayomi", "tachidesk", "stable")