Bugzilla REST Extractor
Pricing
from $0.35 / 1,000 records
Bugzilla REST Extractor
Point at any Bugzilla server (Mozilla, Red Hat, LibreOffice, Eclipse, Gentoo) and get one structured row per bug: summary, status, resolution, product, component, priority, severity, reporter, timestamps, keywords. Also lists products and server version.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
A GENERIC "point at any Bugzilla server" Apify actor — the issue-tracker sibling of the Gitea/Jenkins generic extractors. Bugzilla (Mozilla's tracker, 20+ years old) sits behind Red Hat, LibreOffice, Eclipse, Gentoo, KDE, the Linux kernel, GCC and hundreds of distros/projects, and every install ships the same native REST API with anonymous read on the public bug corpus — so ONE actor spans every Bugzilla install in existence, no per-tracker scraper.
Input
| Field | Mode | Meaning |
|---|---|---|
sources (required) | all | One or more Bugzilla base URLs — https://bugzilla.redhat.com, https://bugs.eclipse.org/bugs (the /bugs mount is kept), https://bugs.documentfoundation.org, https://bugzilla.mozilla.org, https://bugs.gentoo.org, or any self-hosted install. /rest/... is appended for you. |
mode | — | products (safe default), bugs, or version. If API callers omit mode but supply a bug filter, the actor infers bugs. |
product / component / status | bugs | Filter bugs. Comma lists OR their values. |
quicksearch | bugs | A Bugzilla quicksearch expression. |
changedAfter | bugs | Only bugs changed at/after a date/datetime or relative token (-7d). |
maxRecords | all | Global cap across every source (one row = one billable event). |
apiKey | all | Optional Bugzilla API key for restricted products (X-BUGZILLA-API-KEY). Never logged. |
extraHeaders | all | Optional extra request headers (JSON). |
The ready-to-run defaults query Eclipse Bugzilla in products mode and return at most 20 rows, so a first click is fast, bounded, and produces useful data.
bugs mode requires at least one filter (product / component / quicksearch /
changedAfter). An unbounded /rest/bug is rejected by Bugzilla servers (Mozilla's
BMO returns HTTP 400 "You may not search ... without any search terms"), so the
runner surfaces a clear input error rather than a blind query. Run products mode
first to discover valid product names.
Modes
- bugs (default) — paginated
/rest/bug→ one flat row per bug:id,summary,status,resolution,product,component,priority,severity, reporter/assignee (name + numeric id only),creationTime,lastChangeTime,keywords[],version,opSys,isConfirmed,dependsOn[],blocks[], plus a lossless_raw. - products —
/rest/product?type=selectable→ one row per product (id,product,classification,description,isActive,milestones[]). - version —
/rest/version→ one row per source (reachability + server version probe).
Behaviour
- Every field is read by key presence (
dict.get) — a bug that omitsresolution/keywords/ a Mozillacf_*custom yieldsnullfor that column, never a crash. Unknown fields (incl.cf_*customs) survive in_raw. - Anti-leak: reporter/assignee emails are public-tracker data but are kept out
of the flat columns — only the display name + numeric id are flattened. The full
*_detailobject (email included) is preserved only in_raw. - A source behind an anti-bot interstitial (a non-JSON HTTP 200, e.g. Anubis) is a clean skip-with-warning. In multi-source runs a per-source failure is skipped with a warning; a single failing source fails the run so nothing broken ships silently.
- An empty result → 0 records and a clean exit 0. Unpopular is fine; the actor never fabricates rows.
Pricing
Pay-per-event: one record charge per emitted dataset row.
Development
python3.12 -m venv .venv && source .venv/bin/activatepip install -r requirements.txtpython tests_logic.py # pure-logic tests (no network)apify validate-schemaapify run # local run (set .actor storage INPUT.json)