Bitbucket Cloud
Receive Bitbucket Cloud issue and pull request events in Plural
A Bitbucket Cloud webhook delivers issues, pull requests, and their comments from a Bitbucket Cloud repository into Plural. Each one becomes an issue record in Plural that a workbench can act on.
An event does not start a job by itself. A job starts only when a webhook trigger on a workbench matches the item, and only when the item has just become open: a new open issue, pull request, or comment, or a closed one that was reopened. Edits to an item that is already open do not start another job, and the same item starts at most one job per workbench in an hour.
This webhook is separate from the SCM webhook Plural uses for pull request automation and Flows. See SCM webhooks and PR linking for that one.
What Plural reads from the payload
Plural looks at the shape of the payload, not the X-Event-Key header. Any event that carries a pullrequest or issue object is recorded. Everything else, such as repository pushes, is acknowledged and ignored.
Bitbucket event | Recorded as | Title | Body | Link |
|---|---|---|---|---|
| Issue created or updated | The issue | Issue title | content.raw | Issue page |
| Issue comment created | A separate item per comment | Comment on Issue: <title> (#<comment id>) | Comment content.raw | Comment link |
| Pull request created, updated, merged, or declined | The pull request | Pull request title | Description | Pull request page |
| Pull request comment created | A separate item per comment | Comment on PR: <title> (#<comment id>) | Comment content.raw | Comment link |
Other pull request events, such as approvals, update the pull request's own record.
Plural identifies each item by repository (repository.full_name) and Bitbucket ID, so later events for the same issue, pull request, or comment update the existing record instead of creating a new one. An empty body is stored as {empty}, and bodies longer than 10,000 characters are truncated.
A trigger matches against the title and body joined by a newline. Because a comment's title includes the pull request or issue title, a trigger that matches text in that title also matches every comment on it.