Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab
GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 34,903
    • Issues 34,903
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 1,218
    • Merge Requests 1,218
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #32812

Closed
Open
Opened Sep 26, 2019 by Rayana Verissimo@rayana🔴Developer0 of 4 tasks completed0/4 tasks

Create a Release from the web interface

Problem to solve

In #26016 (closed) we added the option edit a release via UI, and this issue will expand the API create functionality into the UI. This issue will cover Create a Release using the Application UI.

User story

As a user, I want to be able to create a release from the Releases page, so I can quickly start managing my releases without having to go to a different page on GitLab.

Acceptance criteria

  • If no releases are created, user sees an empty state message. The CTA (call to action) button on the empty state should be removed, and replaced with an inline link to the documentation.
  • User sees the button Create release on the Releases overview page.
  • Releases can be created, updated, or deleted by project Developers, Maintainers, and Owners. See
  • If a user doesn't have permission to create a release, the button should not be displayed.
  • Clicking the Create release button should take the user to the Create tag page.
  • In the Release notes section of the Create tag page, a helper message should be added on top of the text field:
    • Optionally, create a public release of your project based on a Git tag. By adding release notes to the tag, the information will be stored in the GitLab database and displayed on the Releases page. More information
    • The link should point to the documentation page: https://gitlab.com/help/user/project/releases/index#release-description
  • If the user fills in the Release notes section, and clicks the Create tag button, the system should create a new release item. The user will be taken to the detail view of the newly created release tag. (user flow stays as is)

Out of scope

  • Any changes relates to the form fields in the New Tag page.
  • Redirecting the user to the Releases page after creating a release tag.
  • Any other improvements (CSS) to the interface.

Proposal (UX)

  • SEE PROTOTYPES BY CLICKING THE DESIGNS TAB

Intended users

  • Rachel (Release Manager)
  • Anyone doing Release manager activities, for example:
    • Parker (Product Manager)
    • Delaney (Development Team Lead)
    • Sasha (Software Developer)
    • Devon (DevOps Engineer)

Permissions and Security

Releases can be created, updated, or deleted by project Developers, Maintainers, and Owners. Guest users cannot create Releases and should not see the Create release button. Read more

Documentation

Yes, we will need documentation.

Testing

To be determined during the implementation planning.

What does success look like, and how can we measure that?

Users will be able to create a Release item from the Release page, via application UI.

What is the type of buyer?

Links / references

View previous issue description

Users should be able to:

  • Create a Release in the Release Page
  • Assign the newly created release it to an existing tag
  • Allow manual specifications of milestones
  • Support entry in creation of all attributes from Releases in API and support the edit functionality delivered in #26016 (closed):
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
name string no The release name.
tag_name string yes The tag where the release will be created from.
description string yes The description of the release. You can use markdown.
ref string yes, if tag_name doesn't exist If tag_name doesn't exist, the release will be created from ref. It can be a commit SHA, another tag name, or a branch name.
milestones array of string no The title of each milestone the release is associated with.
assets:links array of hash no An array of assets links.
assets:links:name string required by: assets:links The name of the link.
assets:links:url string required by: assets:links The url of the link.
released_at datetime no The date when the release will be/was ready. Defaults to the current time. Expected in ISO 8601 format (2019-03-15T08:00:00Z).

Further details

The Create Release Form should include:

Supporting all attributes from the API

Assign newly created Release to Existing Tag

  • In the create a release using the application UI, there needs to be a separation between Create Release and Create Tag pages

Allow manual specification of Milestones

Users should be able to specify the Milestone of the Release on the Release page during the create release workflow

Allow manual specification of release date for Releases in #26413 (closed)

Users need to be able to manually set the release date for Releases

Edited Nov 12, 2020 by Orit Golowinski
Assignee
Assign to
12.9
Milestone
12.9 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: gitlab-org/gitlab#32812