Skip to content

Commit 98cd03b

Browse files
iamed2JohnVillalovos
authored andcommitted
fix(api): do not require Release name for creation
Stop requiring a `name` attribute for creating a Release, since a release name has not been required since GitLab 12.5.
1 parent a9924f4 commit 98cd03b

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

gitlab/v4/objects/releases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class ProjectReleaseManager(CRUDMixin, RESTManager):
1919
_obj_cls = ProjectRelease
2020
_from_parent_attrs = {"project_id": "id"}
2121
_create_attrs = RequiredOptional(
22-
required=("name", "tag_name", "description"), optional=("ref", "assets")
22+
required=("tag_name", "description"), optional=("name", "ref", "assets")
2323
)
2424
_update_attrs = RequiredOptional(
2525
optional=("name", "description", "milestones", "released_at")

tests/functional/api/test_releases.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,24 @@ def test_create_project_release(project, project_file):
2323
assert release.description == release_description
2424

2525

26+
def test_create_project_release_no_name(project, project_file):
27+
unnamed_release_tag_name = "v2.3.4"
28+
29+
project.refresh() # Gets us the current default branch
30+
release = project.releases.create(
31+
{
32+
"tag_name": unnamed_release_tag_name,
33+
"description": release_description,
34+
"ref": project.default_branch,
35+
}
36+
)
37+
38+
assert len(project.releases.list()) >= 1
39+
assert project.releases.get(unnamed_release_tag_name)
40+
assert release.tag_name == unnamed_release_tag_name
41+
assert release.description == release_description
42+
43+
2644
def test_update_save_project_release(project, release):
2745
updated_description = f"{release.description} updated"
2846
release.description = updated_description

0 commit comments

Comments
 (0)