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")