feat: new generic package version/file enumeration api endpoint #35770
+61
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #35762
Introduces a new generic package api endpoint that allows an authorized user to list/enumerate uploaded packages under a specified organization and package-name.
This is useful for linking gitea's generic package registry with additional automation that can operate using the content uploaded here - particularly when combined with ci/cd actions - for example automatically downloading and deploying the latest compiled build of repos within your organization.
The API itself is intended to be as simple and straight forward as possible; only returning the most relevant information pertaining to the versions/files available.
NOTE: the contributing guide mentions that all new APIs should be documented using swagger docs, but I noticed that none of the package APIs include any swagger-docs, so I wasn't sure what the preference on implementation there would be.
Example usage:
$ curl http://localhost:3000/api/packages/TestOrg/generic/examplePackage/list [{"version":"v0.1.0","downloads":0,"files":[{"name":"example.tar.gz","created":1761612511}]}]