Show tags related to deployed commit on Environment Page
Release notes
With this update, you can now easily see tags that are related to deployments and specifically, the deployed commit.
Problem to solve
For users, it is difficult to understand what is currently deployed for an environment across releases and pipeline views.
Intended users
Further details
-
Use Case 1: All users of GitLab may want to see the details that they would normally see on a commit
Proposal
Expose any tags for the commit that is currently deployed to each environment right from the environments list and deployment history pages
Design/Further Details
Details:
- Add tag information and link beside the branch link.
- Show both branch and tag, if a tag exist for that commit (we do this elsewhere, check this from commit page).
- Remove the show/hide details link and expand all information in that section.
Reason:
- This area gives us the best real estate if multiple tags are displayed, it also sits in with the rest of the links.
Note for Backend:
- If there is no way to fetch the data efficiently, it's worth considering to add a new endpoint for fetching environment details e.g. when a user clicks "Show details" button, it shows spinner and queries additional data from backend. This endpoint later can be used for spliting the gigantic environments.json endpoint as further optimization.
- Conversation here.
Single Tag | Multi-Tag |
---|---|
![]() |
![]() |
Backend Notes about mapping the UI components and endpoints:
-
Environments Index Page
- JSON Endpoint:
environments.json
- It returns the high-level overview of project environments.
- JSON Endpoint:
- Deployment Details (A new endpoint for this issue)
- JSON Endpoint:
deployments/:id.json
- It returns the details of a specific deployment, including related tags
tag_names_contains
. - Usage example: Frontend queries to this endpoint when a user expands the deployment details in Environment Index page.
- JSON Endpoint:
- Note: If we add a new endpoint, we'd go for GraphQL instead of internal Rest API. See #367410 (comment 1056103445). In this case, the endpoint path will be
/graphql
, but this mapping is still same.
More context in this conversation.
Permissions and Security
- Exposing the tags here as view-only, not editable or managed in the environments view
Documentation
Testing
- Tags in the UI should match tags per commit
- Tags in different environments with for example the tag "deployed", both of these tagged commits should be present in the "environment list(s)", as well as the "deployment history pages"
What does success look like, and how can we measure that?
- Easier to use Environments View
What is the type of buyer?
- Community Edition
Links / references
- As we build out the Release View Page, we should consider how to display the many items that would show on this view to many releases that those would also be a part of