@@ -28,7 +28,6 @@ export default async (pluginConfig, context) => {
2828 const { projectPath, projectApiUrl } = getProjectContext ( context , gitlabUrl , gitlabApiUrl , repositoryUrl ) ;
2929
3030 const encodedGitTag = encodeURIComponent ( gitTag ) ;
31- const encodedVersion = encodeURIComponent ( version ) ;
3231 const apiOptions = {
3332 headers : {
3433 [ tokenHeader ] : gitlabToken ,
@@ -76,6 +75,7 @@ export default async (pluginConfig, context) => {
7675 const filepath = asset . filepath ? template ( asset . filepath ) ( context ) : undefined ;
7776 const target = asset . target ? template ( asset . target ) ( context ) : undefined ;
7877 const status = asset . status ? template ( asset . status ) ( context ) : undefined ;
78+ const packageName = asset . packageName ? template ( asset . packageName ) ( context ) : "release" ;
7979
8080 if ( _url ) {
8181 assetsList . push ( { label, rawUrl : _url , type, filepath } ) ;
@@ -103,17 +103,21 @@ export default async (pluginConfig, context) => {
103103 debug ( "file filepath: %o" , filepath ) ;
104104 debug ( "file target: %o" , target ) ;
105105 debug ( "file status: %o" , status ) ;
106+ debug ( "package name: %o" , packageName ) ;
106107
107108 let uploadEndpoint ;
108109 let response ;
109110
110111 if ( target === "generic_package" ) {
112+ const finalLabel = label ?? pathlib . basename ( file ) ;
111113 // Upload generic packages
112- const encodedLabel = encodeURIComponent ( label ) ;
114+ const encodedVersion = encodeURIComponent ( version ) ;
115+ const encodedPackageName = encodeURIComponent ( packageName ) ;
116+ const encodedLabel = encodeURIComponent ( finalLabel ) ;
113117 // https://docs.gitlab.com/ee/user/packages/generic_packages/#publish-a-package-file
114118 uploadEndpoint = urlJoin (
115119 projectApiUrl ,
116- `packages/generic/release /${ encodedVersion } /${ encodedLabel } ?${
120+ `packages/generic/${ encodedPackageName } /${ encodedVersion } /${ encodedLabel } ?${
117121 status ? `status=${ status } &` : ""
118122 } select=package_file`
119123 ) ;
@@ -128,9 +132,12 @@ export default async (pluginConfig, context) => {
128132 }
129133
130134 // https://docs.gitlab.com/ee/user/packages/generic_packages/#download-package-file
131- const url = urlJoin ( projectApiUrl , `packages/generic/release/${ encodedVersion } /${ encodedLabel } ` ) ;
135+ const url = urlJoin (
136+ projectApiUrl ,
137+ `packages/generic/${ encodedPackageName } /${ encodedVersion } /${ encodedLabel } `
138+ ) ;
132139
133- assetsList . push ( { label, alt : "release" , url, type : "package" , filepath } ) ;
140+ assetsList . push ( { label : finalLabel , alt : packageName , url, type : "package" , filepath } ) ;
134141
135142 logger . log ( "Uploaded file: %s (%s)" , url , response . file . url ) ;
136143 } else {
0 commit comments