from pyforgejo import AuthenticatedClient from pyforgejo.api.repository import repo_create_status from pyforgejo.models.create_status_option import CreateStatusOption import json from os import environ client = AuthenticatedClient( base_url=environ["GITHUB_API_URL"], token=environ["GITHUB_TOKEN"] ) with open("result.json", "r") as file: data = json.load(file) print("Reporting statuses acording to the following result.json") print(json.dumps(data, indent=2)) for result in data["results"]: attr = result["attr"] success = result["success"] type = result["type"] print(f"Report status success={success} for {type} {attr}") response = repo_create_status.sync_detailed( owner="aciceri", repo="nixfleet", sha=environ["GITHUB_SHA"], client=client, body=CreateStatusOption( context=type, description=attr, target_url="https://git.aciceri.dev", # FIXME state=( "success" if success else "failure" ), # may be pending,success,failure,error_message ), ) print("Done reporting statuses")