feat(buildbot): add buildbot formatter
This commit is contained in:
parent
e42aa941e5
commit
0c8c5faad0
1 changed files with 32 additions and 0 deletions
32
matrix_webhook/formatters/buildbot.py
Normal file
32
matrix_webhook/formatters/buildbot.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
from datetime import datetime
|
||||
|
||||
|
||||
def formatter(data, headers):
|
||||
"""Pretty-print a buildbot notification."""
|
||||
buildid = data["buildid"]
|
||||
buildstate = data["state_string"]
|
||||
buildlink = data["url"]
|
||||
reason = data["buildset"]["reason"]
|
||||
project = data["properties"]["project"][0]
|
||||
submittime = datetime.fromtimestamp(data["buildset"]["submitted_at"])
|
||||
if buildstate == "starting":
|
||||
try:
|
||||
data["body"] = (
|
||||
f"###Buildbot job #{buildid} for {project} - {buildstate}\n\n"
|
||||
f"{reason}\n\n"
|
||||
f"**started at** {submittime}\n\n"
|
||||
f"[view details]({buildlink})"
|
||||
)
|
||||
except Exception as error:
|
||||
print(error)
|
||||
elif buildstate == "build successful":
|
||||
try:
|
||||
data["body"] = (
|
||||
f"###Buildbot job #{buildid} for {project} - {buildstate}\n\n"
|
||||
f"**completed at** {datetime.fromtimestamp(data['complete_at'])}\n\n"
|
||||
f"[view details]({buildlink})"
|
||||
)
|
||||
except Exception as error:
|
||||
print(error)
|
||||
|
||||
return data
|
Loading…
Reference in a new issue