brianfeucht opened a new issue, #8891: URL: https://github.com/apache/incubator-devlake/issues/8891
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and found no similar issues. ### What happened Description: The Rootly plugin collects incidents by filtering per-service using filter[service_ids]. However, in practice many (or all) Rootly incidents are created without service associations. This causes three compounding issues that silently discard valid incidents: Bug 1 — Collector always sends service filter buildIncidentsQuery always appends filter[service_ids]=<serviceId> to every API request. The Rootly API returns 0 results for incidents with no service tag, so untagged incidents are never stored in the raw table. Bug 2 — ValidateTaskOptions rejects empty ServiceId There is no way to trigger a global (unfiltered) collection because an empty serviceId returns a validation error: "not enough info for Rootly execution". Bug 3 — Extractor service-membership guard drops incidents when ServiceId is empty In extractRootlyIncident, there is a safety check that filters out any incident whose service list doesn't contain the current ServiceId. When ServiceId == "", containsServiceId always returns false, so any incident that does have service relationships attached gets dropped as a false positive. Impact: - Any incident not tagged with a specific service is permanently lost — never reaches the tool layer or domain layer ### What do you expect to happen Allow ServiceId to be empty (opt-in global collection) Skip filter[service_ids] in buildIncidentsQuery when ServiceId is empty Skip the extractor service-membership guard when collecting globally ### How to reproduce 1. Create a Rootly incident without associating it to any service 2. Run the Rootly collector for any service scope 3. The incident does not appear in _tool_rootly_incidents or the incidents domain table ### Anything else _No response_ ### Version v1.0.3-beta12 ### Are you willing to submit PR? - [x] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
