| |
@@ -267,6 +267,20 @@
|
| |
|
| |
return data
|
| |
|
| |
+ def get_pr_ci_result(package, pr_id):
|
| |
+ """
|
| |
+ Return CI result for package pull-request
|
| |
+ Returns "failure" or "success" or None
|
| |
+ TODO: Add support for FedoraCI, add support for results other than "failure" and "success"
|
| |
+ """
|
| |
+ resp_pr_ci_result = get_json("https://src.fedoraproject.org/api/0/rpms/%s/pull-request/%s/flag" % (package, pr_id))
|
| |
+ if not resp_pr_ci_result:
|
| |
+ return None
|
| |
+ # Pagure returns PR results sorted from newest to latest, so we can pick just the first result
|
| |
+ if resp_pr_ci_result["flags"][0]["status"] not in ("failure", "success"):
|
| |
+ return None
|
| |
+ return resp_pr_ci_result["flags"][0]["status"]
|
| |
+
|
| |
|
| |
def get_package_prs(package):
|
| |
"""
|
| |
@@ -287,7 +301,7 @@
|
| |
"comments": len(request["comments"]),
|
| |
"date_created": str(datetime.datetime.fromtimestamp(int(request["date_created"]))),
|
| |
"last_updated": str(datetime.datetime.fromtimestamp(int(request["last_updated"]))),
|
| |
- "ci_status": None, # Awaiting pagure api integration
|
| |
+ "ci_status": get_pr_ci_result(package, request["id"]),
|
| |
"url": "https://src.fedoraproject.org/rpms/%s/pull-request/%s" % (package, request["id"])
|
| |
})
|
| |
return data
|
| |