API endpoint to list the packages of a group
Problem to solve
The GitLab Package Registry allows developers to build and deploy Maven and NPM packages to a centralized GitLab Registry. As part of the Package Registry, GitLab offers an API for listing, fetching and deleting packages at the project level.
However, we do not currently offer any group level API for the Package Registry. This prevents users from being able to view dependencies across projects.
Intended users
Proposal
Create a new API endpoint that will allow users to list all packages of all projects within a given group in a single list.
Example
packages = Package.where(project_id: group.projects)
Endpoint will be
api/v4/groups/:id/packages
Permissions and Security
Developers, maintainers and owners, will all have the ability to view the list of packages at the group level.
Documentation
Testing
- Ensure that packages in private projects can not be seen by users that may be a part of the group, but not have access to that private project.
What does success look like, and how can we measure that?
Success looks like we allow users to view their group level registry from gitlab.com. We can measure early adoption using page views, which can be added to the Package group's dashboard.
What is the type of buyer?
This feature is focused on Premium users.
Links / references
Designs
- Show closed items
- Issue#35247014.81Category:Fuzz Testing GitLab Ultimate Technical Writing UX devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec tw finished type feature workflow production
- Issue#35246514.81auto updated devops application security testing frontend section sec
- Issue#35207314.8Category:Fuzz Testing GitLab Ultimate backend devops application security testing feature enhancement fuzzing coverage group dynamic analysis section sec type bug workflow verification
- Issue#35163214.8Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec type feature workflow verification
- Issue#35153914.8Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec type feature workflow verification
- Issue#35097514.82Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec type feature workflow verification
- Issue#35097414.82Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec type feature workflow in dev
- Issue#34901414.8Category:Fuzz Testing GitLab Ultimate devops application security testing feature flag frontend fuzzing coverage group dynamic analysis missed:14.7 section sec type feature workflow in dev
- Issue#34748314.7Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis missed:14.6 section sec type bug workflow verification
- Issue#34509014.73Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis section sec type feature workflow verification
- Issue#34508914.73Category:Fuzz Testing auto updated devops application security testing frontend group dynamic analysis section sec workflow verification
- Issue#34508814.63Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis missed:14.5 section sec type feature workflow verification
- Issue#34148614.55Category:Fuzz Testing backend devops application security testing feature addition fuzzing coverage group dynamic analysis section sec type feature
- Issue#34148514.55Category:Fuzz Testing backend devops application security testing feature addition fuzzing coverage group dynamic analysis section sec type feature
- Issue#34148914.82Category:Fuzz Testing Technical Writing backend devops application security testing documentation feature addition fuzzing coverage group dynamic analysis missed:14.6 missed:14.7 section sec tw-weight 8 type feature
- Issue#34148714.65Category:Fuzz Testing backend devops application security testing feature enhancement fuzzing coverage group dynamic analysis section sec type feature
- Issue#34258014.62Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis missed:14.5 section sec type feature workflow verification
- Issue#34258314.82Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis missed:14.6 missed:14.7 section sec type feature workflow verification
- Issue#34243314.63Category:Fuzz Testing GitLab Ultimate devops application security testing feature enhancement frontend fuzzing coverage group dynamic analysis missed:14.5 section sec type feature workflow verification
- Issue#34133814.4automation:ml devops package group package registry section ops
- Issue#34121814.6Category:Package Registry Generic Package Repository auto updated devops package fuzzing coverage group package registry missed:14.4 missed:14.5 section ops
- Epicgitlab-org#668323Dec 18, 2021 – Jan 17, 2022Category:Fuzz Testing backend devops create frontend fuzzing coverage group dynamic analysis missed:14.2 section sec
- Issue#33973214.5Category:Fuzz Testing GitLab Ultimate backend devops application security testing direction fuzzing coverage group dynamic analysis missed:14.3 missed:14.4 section sec type feature workflow in dev
- Epicgitlab-org#640647Jul 18 – Aug 17, 2021Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing frontend fuzzing coverage group dynamic analysis section sec type feature
- Issue#33494114.7Category:Fuzz Testing Technical Writing backend devops application security testing documentation fuzzing coverage group dynamic analysis missed:14.2 missed:14.3 missed:14.4 missed:14.5 missed:14.6 section sec tw-weight 5 workflow refinement
- Issue#27316914.2Category:Fuzz Testing devops application security testing fuzzing coverage group dynamic analysis missed:13.8 section sec
- Issue#32689513.113Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing direction frontend fuzzing coverage group dynamic analysis missed-deliverable missed:13.10 section sec type feature workflow in review
- Issue#32689613.112Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing direction frontend fuzzing coverage group dynamic analysis missed-deliverable missed:13.10 section sec type feature workflow in review
- Issue#32689413.111Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing direction frontend fuzzing coverage group dynamic analysis missed-deliverable missed:13.10 section sec type feature workflow verification
- Issue#28059213.112Category:Fuzz Testing Deliverable GitLab Ultimate backend devops application security testing direction fuzzing coverage group dynamic analysis section sec type feature workflow in dev
- Issue#32636113.113Category:Fuzz Testing Deliverable GitLab Ultimate backend devops application security testing direction fuzzing coverage group dynamic analysis section sec type feature workflow in dev
- Issue#32636213.112Category:Fuzz Testing Deliverable GitLab Ultimate backend devops application security testing direction fuzzing coverage group dynamic analysis section sec type feature workflow in dev
- Issue#29444413.113Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing direction frontend fuzzing coverage group dynamic analysis missed-deliverable missed:13.10 section sec type feature workflow verification
- Issue#32161814.3Category:Fuzz Testing backend devops create frontend fuzzing coverage group dynamic analysis missed:14.2 section sec
- Issue#32789714.52Category:Fuzz Testing GitLab Ultimate devops application security testing frontend fuzzing coverage group dynamic analysis section sec type feature workflow production
- Issue#32088613.103Category:Fuzz Testing GitLab Ultimate devops application security testing direction frontend fuzzing coverage group dynamic analysis section sec workflow verification
- Issue#29954413.101Category:Fuzz Testing Deferred UX Deliverable UX devops create frontend group dynamic analysis workflow in dev
- Issue#29442513.92Category:Fuzz Testing GitLab Ultimate backend devops application security testing direction frontend fuzzing coverage group dynamic analysis section sec type feature workflow production
- Issue#28059314.32Category:Fuzz Testing GitLab Ultimate backend devops application security testing direction frontend fuzzing coverage group dynamic analysis section sec type feature workflow production
- Issue#28059013.9Category:Fuzz Testing backend devops application security testing fuzzing coverage group dynamic analysis missed:13.7 section sec type feature workflow ready for development
- Issue#32841814.8Category:Fuzz Testing GitLab Ultimate devops application security testing feature flag frontend fuzzing coverage group dynamic analysis missed:14.7 section sec type feature
- Issue#29074113.10Category:Fuzz Testing Deliverable devops application security testing fuzzing coverage group dynamic analysis missed-deliverable missed:13.8 section sec workflow verification
- Issue#268004Category:Fuzz Testing GitLab Ultimate UX FY21-Q4 backend devops application security testing direction feature enhancement frontend fuzzing coverage group dynamic analysis section sec secure:refinement-backend secure:refinement-frontend type feature workflow refinement
- Issue#32847514.2Category:Fuzz Testing Deliverable GitLab Ultimate devops application security testing frontend fuzzing coverage group dynamic analysis section sec type feature workflow refinement
Relates to
- gitlab-foss #62585
- #29135Backlog
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Thiago Presa added Persona: Software developer customer ~2975006 + 1 deleted label
added Persona: Software developer customer ~2975006 + 1 deleted label
- Author Contributor
- Contributor
This means listing all packages of projects within the group in single list. Something like
packages = Package.where(project_id: group.projects)
Endpoint will be
api/v4/groups/:id/packages
Edited by Dmytro Zaporozhets (DZ) - 🤖 GitLab Bot 🤖 mentioned in issue #10465 (closed)
mentioned in issue #10465 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue #10629 (closed)
mentioned in issue #10629 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue #10822 (closed)
mentioned in issue #10822 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue #10987 (closed)
mentioned in issue #10987 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue #11155 (closed)
mentioned in issue #11155 (closed)
- 🤖 GitLab Bot 🤖 added [deprecated] Accepting merge requests label
added [deprecated] Accepting merge requests label
- Tim Rizzi added to epic &1244 (closed)
added to epic &1244 (closed)
- Jason Yavorska added Category:Container Registry label
added Category:Container Registry label
- Jason Yavorska changed milestone to %12.4
changed milestone to %12.4
- Jason Yavorska added devopspackage label
added devopspackage label
Original Issue:
Problem to solve
Currently it is not possible to see what packages are available from within a group through the API
Target audience
- Sasha, Software Developer, https://design.gitlab.com/research/personas#persona-sasha
Proposal
Create an API endpoint similar to this but that would only list the packages of a group instead of the project
Links / references
- Tim Rizzi added GitLab Premium label
added GitLab Premium label
- Tim Rizzi changed the description
changed the description
- Tim Rizzi changed title from Create API endpoint to list the packages of a group to API endpoint to list the packages of a group
changed title from Create API endpoint to list the packages of a group to API endpoint to list the packages of a group
- Tim Rizzi added Category:Package Registry label and removed Category:Container Registry label
added Category:Package Registry label and removed Category:Container Registry label
- Steve Abrams added backend label
added backend label
- Tim Rizzi added grouppackage registry label
added grouppackage registry label
- Daniel Croft changed title from API endpoint to list the packages of a group to Public API endpoint to list the packages of a group
changed title from API endpoint to list the packages of a group to Public API endpoint to list the packages of a group
- Daniel Croft added Deliverable label
added Deliverable label
- 🤖 GitLab Bot 🤖 added Enterprise Edition label
added Enterprise Edition label
- Tim Rizzi removed milestone
removed milestone
- 🤖 GitLab Bot 🤖 mentioned in issue #13790 (closed)
mentioned in issue #13790 (closed)
- Daniel Croft removed 1 deleted label
removed 1 deleted label
- Tim Rizzi added 1 deleted label
added 1 deleted label
- Tim Rizzi mentioned in issue #11867 (closed)
mentioned in issue #11867 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue #20050 (closed)
mentioned in issue #20050 (closed)
- Steve Abrams changed weight to 1
changed weight to 1
- Steve Abrams changed weight to 2
changed weight to 2
- Tim Rizzi changed title from Public API endpoint to list the packages of a group to API endpoint to list the packages of a group
changed title from Public API endpoint to list the packages of a group to API endpoint to list the packages of a group
- Tim Rizzi changed the description
changed the description
- Tim Rizzi removed 1 deleted label
removed 1 deleted label
- David Fernandez assigned to @10io
assigned to @10io
- David Fernandez added workflowin dev label and removed [deprecated] Accepting merge requests label
added workflowin dev label and removed [deprecated] Accepting merge requests label
- David Fernandez created merge request !18871 (merged) to address this issue
created merge request !18871 (merged) to address this issue
- David Fernandez mentioned in merge request !18871 (merged)
mentioned in merge request !18871 (merged)
- Maintainer
Async issue update
- Please provide a quick summary of the current status (one sentence)?
MR is in review.
- When do you predict this feature to be ready for maintainer review?
In a few days, once reviewer questions are cleared.
- Are there any opportunities to further break the issue or merge request into smaller pieces (if applicable)?
Not that I see
- Tim Rizzi added package:active label
added package:active label
- Tim Rizzi added 1 deleted label and removed package:active label
added 1 deleted label and removed package:active label
- Maintainer
@tpresa / @trizzi Are packages from the subgroups included?
The example shows to use
group.projects
which doesn't include projects in subgroups.The current UI for listing packages from a group includes subgroups.
I think that if it isn't a specific need, it would be better to keep consistency between the current UI and the future API endpoint, so it should include packages from subgroups.
Collapse replies - Maintainer
Both options are possible.
As I said, it might best to keep consistency. Currently, on the UI at the group level the packages list includes subgroups. I would keep this behavior on this API endpoint too.
- Maintainer
@trizzi On a second thought, we could also let the user decide by adding a parameter to the endpoint
include_subgroups
. I'm not sure that it's useful but this is also a possibility.Edited by David Fernandez
- Maintainer
Async issue update
- Please provide a quick summary of the current status (one sentence)?
MR in review but I need to implement the optional parameter to exclude subgroups.
- When do you predict this feature to be ready for maintainer review?
Already in review
- Are there any opportunities to further break the issue or merge request into smaller pieces (if applicable)?
No
- David Fernandez changed milestone to %12.5
changed milestone to %12.5
- David Fernandez mentioned in merge request !19865 (merged)
mentioned in merge request !19865 (merged)
- David Fernandez added workflowverification label and removed workflowin dev label
added workflowverification label and removed workflowin dev label
- Tim Rizzi mentioned in merge request gitlab-com/www-gitlab-com!34573 (merged)
mentioned in merge request gitlab-com/www-gitlab-com!34573 (merged)
- Tim Rizzi added package:active label and removed 1 deleted label
added package:active label and removed 1 deleted label
- David Fernandez added workflowcanary label and removed workflowverification label
added workflowcanary label and removed workflowverification label
- 🤖 GitLab Bot 🤖 added missed:12.5 label
added missed:12.5 label
- 🤖 GitLab Bot 🤖 added missed-deliverable label
added missed-deliverable label
- 🤖 GitLab Bot 🤖 changed milestone to %12.6
changed milestone to %12.6
- David Fernandez added workflowproduction label and removed workflowcanary label
added workflowproduction label and removed workflowcanary label
- Maintainer
Verified on GitLab.com
- David Fernandez closed
closed
- Sam Goldstein mentioned in issue gitlab-com/www-gitlab-com#9140 (closed)
mentioned in issue gitlab-com/www-gitlab-com#9140 (closed)