Skip to content

Add group field to query all maven virtual registry upstreams

What does this MR do and why?

Add virtualRegistriesPackagesMavenUpstreams field to Group EE query

Adds search by upstream name functionality

Update permissions for mavenVirtualRegistries field.

EE: true

References

Screenshots or screen recordings

N/A

How to set up and validate locally

  1. Run the following in the rails console
Feature.enable(:virtual_registry_maven)
g = Group.find(1) // must be a root group
r = VirtualRegistries::Packages::Maven::Registry.create(group: g, name: 'app-test') 
# create an upstream, note: if you get validation error for local URL you need to comment out url validations in ee/app/models/virtual_registries/packages/maven/upstream.rb
u = VirtualRegistries::Packages::Maven::Upstream.create!(group: g, url: 'http://local.test/maven/', name: 'Upstream')

# create a registry_upstream join table row
VirtualRegistries::Packages::Maven::RegistryUpstream.create!(group: g, registry: r, upstream: u)
  1. Run the query in /-/graphql-explorer
query {
  group(fullPath: "<group-path>") {
    virtualRegistriesPackagesMavenUpstreams(upstreamName: "test", first: 10) {
      count
      nodes {
        id
        name
        registriesCount
        registries(first: 20) {
          nodes {
            id
          }
        }
        registryUpstreams {
          id
          position
        }
      }
      pageInfo {
        endCursor
        startCursor
        hasPreviousPage
        hasNextPage
      }
    }
  }
}
  1. Confirm that virtualRegistriesPackagesMavenUpstreams & mavenVirtualRegistries return null when conditions are not met.
  2. Run the query & confirm that new field registriesCount is added for mavenUpstreamRegistry.
query {
    mavenUpstreamRegistry(id: "gid://gitlab/VirtualRegistries::Packages::Maven::Upstream/10") {
      id
      name
      registriesCount  <--- This field is newly added
    }
}

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #525932

Edited by Rahul Chanila

Merge request reports

Loading