I am working with the Pybossa webhooks, and found this plugin to analyse the Pybossa results in real-time. I forked it but not getting how it is to be executed.
Currently, I am executing it as follows:
python app.py test_project
where test_project is my project_short_name. But, it is reverting me to index.html page of this repository.
I found it ! Look into pybossa.model.event_listeners
you will find push_webhook
function, it push webhook into queue. And it's called by on_taskrun_submit, on_auditrun_submit
function in the same file.
If you really want to execute webhook manually, look into pybossa.jobs
, you will find webhook
function, it's where the webhook execute. You can call it manually like this:
def trigger_webhook(short_name, task_id=0, result_id=0):
from pybossa.jobs import webhook
from datetime import datetime
from pybossa.core import project_repo
with app.app_context():
project = project_repo.get_by_shortname(short_name)
payload = dict(event="task_completed",
project_short_name=project.short_name,
project_id=project.id,
task_id=task_id,
result_id=result_id,
fired_at=datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S"))
webhook(project.webhook, payload)
I put this function in cli.py so I can call it handily.