mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 08:58:41 +00:00
**Related issue:** Resolves #32965 ## Description This PR adds two new query parameters to the \`GET /api/v1/fleet/software/titles\` endpoint to support filtering by SHA-256 hash and package filename. This enables CI/CD automation tools to check if a custom software package already exists in Fleet before uploading. ## Changes ### API Changes - Added \`hash_sha256\` query parameter to filter by package SHA-256 hash - Added \`package_name\` query parameter to filter by package filename - Both parameters require \`team_id\` to be specified (software packages are team-scoped) ### Implementation - Updated \`SoftwareTitleListOptions\` struct with new filter fields - Modified SQL query builder in \`selectSoftwareTitlesSQL\` to filter on \`software_installers.storage_id\` and \`software_installers.filename\` - Added validation to enforce team_id requirement for these filters ### Testing - Added \`TestListSoftwareTitlesByHashAndName\` integration test with 13 test scenarios - Tests cover filtering by hash, filtering by name, error handling, team isolation, and combination with other filters # Checklist for submitter - [x] Changes file added for user-visible changes in \`changes/\`, \`orbit/changes/\` or \`ee/fleetd-chrome/changes\`. - [x] Input data is properly validated, \`SELECT *\` is avoided, SQL injection is prevented (using placeholders for values in statements) ## Testing - [x] Added/updated automated tests - [x] Where appropriate, automated tests simulate multiple hosts and test for host isolation (updates to one hosts's records do not affect another) - [x] QA'd all new/changed functionality manually
1 line
239 B
Text
1 line
239 B
Text
- Added `hash_sha256` and `package_name` query parameters to the GET /api/v1/fleet/software/titles endpoint to allow checking if a custom software package already exists before uploading. Both parameters require `team_id` to be specified.
|