Backend: CI Catalog - Add graphql query to get all components in a namespace
Summary
To build the CI catalog index page, we are going to need a way for the client to get all CI catalog components that are under the current namespace. We need to support things like search query, pagination and filter params The query could look something like this:
Proposal
query getNamespaceCiCatalogResources(
$fullPath: ID!,
$after: String
$before: String
$first: Int
$last: Int
){
project(fullPath: $fullPath){
ciCatalogResources(
after: $after, # Pagination
before: $before, # Pagination
first: $first, # Pagination
last: $last # Pagination
){
count # Int - From my understanding, we need to have a count of all the components the result gives back so that we can show the pagination control with a number of page. So if total is 100 and we show 20 per page, then we know we have 5 pages.
nodes{
name # String - Name of the component
latestVersion # String - Latest version of the component e.g. v1.2.3.4
description # String - Short desc. of the component
icon # String - Icon name to display
lastUpdate {
time # String - Time of last update
author # String - Name of the author of the last commit
}
}
}
}
}
Note: We need to make sure that the query supports returning all components within the top level namespace. So if the project is /root/my-project
, then all components hosted under root
namespace should be returned by this query
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Please make sure to mark all new GraphQL fields related to CI Catalog development as alpha!