-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Add list generic package version/file API endpoint
#35770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
It's better to have a test |
list generic package version/file api endpoint
list generic package version/file api endpointlist generic package version/file API endpoint
@lunny tests added as requested. I hope that covers what is expected, lmk if we need any additional tests.
edit: nvm i cant read. looking into it. weird it was only mysql lol |
|
looks like it was an issue with mysql returning the objects from the database in a different order than all the others did. have no idea why, but I'll add a sort to the unit-test that way its consistent for the test. |
|
all tests passing now! :) |
|
Please run |
@lunny I just ran it, but it did not generate any new files or make any changes to the repo. I don't believe any of the That's why I included my note in the original PR message:
|
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}]}]