Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3a49f09

Browse files
JohnVillalovosnejch
authored andcommitted
feat: add support forselect="package_file" in package upload
Add ability to use `select="package_file"` when uploading a genericpackage as described in:https://docs.gitlab.com/ee/user/packages/generic_packages/index.htmlCloses:#2557
1 parent8202e3f commit3a49f09

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

‎gitlab/v4/objects/packages.py‎

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def upload(
4747
package_version:str,
4848
file_name:str,
4949
path:Union[str,Path],
50+
select:Optional[str]=None,
5051
**kwargs:Any,
5152
)->GenericPackage:
5253
"""Upload a file as a generic package.
@@ -58,6 +59,7 @@ def upload(
5859
version regex rules
5960
file_name: The name of the file as uploaded in the registry
6061
path: The path to a local file to upload
62+
select: GitLab API accepts a value of 'package_file'
6163
6264
Raises:
6365
GitlabConnectionError: If the server cannot be reached
@@ -77,20 +79,21 @@ def upload(
7779
raiseexc.GitlabUploadError(f"Failed to read package file{path}")frome
7880

7981
url=f"{self._computed_path}/{package_name}/{package_version}/{file_name}"
80-
server_data=self.gitlab.http_put(url,post_data=file_data,raw=True,**kwargs)
82+
query_data= {}ifselectisNoneelse {"select":select}
83+
server_data=self.gitlab.http_put(
84+
url,query_data=query_data,post_data=file_data,raw=True,**kwargs
85+
)
8186
ifTYPE_CHECKING:
8287
assertisinstance(server_data,dict)
8388

84-
returnself._obj_cls(
85-
self,
86-
attrs={
87-
"package_name":package_name,
88-
"package_version":package_version,
89-
"file_name":file_name,
90-
"path":path,
91-
"message":server_data["message"],
92-
},
93-
)
89+
attrs= {
90+
"package_name":package_name,
91+
"package_version":package_version,
92+
"file_name":file_name,
93+
"path":path,
94+
}
95+
attrs.update(server_data)
96+
returnself._obj_cls(self,attrs=attrs)
9497

9598
@cli.register_custom_action(
9699
"GenericPackageManager",

‎tests/functional/api/test_packages.py‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package_name="hello-world"
1111
package_version="v1.0.0"
1212
file_name="hello.tar.gz"
13+
file_name2="hello2.tar.gz"
1314
file_content="package content"
1415

1516

@@ -37,6 +38,22 @@ def test_upload_generic_package(tmp_path, project):
3738
assertpackage.message=="201 Created"
3839

3940

41+
deftest_upload_generic_package_select(tmp_path,project):
42+
path=tmp_path/file_name2
43+
path.write_text(file_content)
44+
package=project.generic_packages.upload(
45+
package_name=package_name,
46+
package_version=package_version,
47+
file_name=file_name2,
48+
path=path,
49+
select="package_file",
50+
)
51+
52+
assertisinstance(package,GenericPackage)
53+
assertpackage.file_name==file_name2
54+
assertpackage.size==path.stat().st_size
55+
56+
4057
deftest_download_generic_package(project):
4158
package=project.generic_packages.download(
4259
package_name=package_name,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp