@@ -732,14 +732,9 @@ def package_name(self) -> str:
732732
733733 @property
734734 def feed_name (self ) -> str :
735- if self .organisation_artifact :
736- fname : str = self .project_config .project__custom__ado_feedname or str (
737- self .config ("feed_name" )
738- )
739- else :
740- fname : str = self .project_config .project__custom__ado_feedname or str (
741- self .config ("feed_name" )
742- )
735+ fname : str = self .project_config .project__custom__ado_feedname or str (
736+ self .config ("feed_name" )
737+ )
743738 return fname .replace (" " , "-" ).lower ()
744739
745740 @property
@@ -1109,9 +1104,12 @@ def full_name(self) -> str:
11091104 def publish_repo_package (self , feed , tag_name : str , description : str ) -> None :
11101105 """Publishes a package to the given feed."""
11111106 repo_root = self .project_config .repo_root or "."
1112- force_app_path = os .path .join (repo_root , "force-app" )
1113- if not os .path .exists (force_app_path ):
1114- force_app_path = repo_root
1107+ artifact_path = os .path .join (
1108+ repo_root , str (self .config ("artifact_folder_path" ) or "" )
1109+ )
1110+
1111+ if not os .path .exists (artifact_path ):
1112+ artifact_path = repo_root
11151113
11161114 ctool = self .connection .get_client (
11171115 "cumulusci_ado.utils.common.client_tool.client_tool_client.ClientToolClient"
@@ -1122,7 +1120,7 @@ def publish_repo_package(self, feed, tag_name: str, description: str) -> None:
11221120 feed .id ,
11231121 self .package_name ,
11241122 tag_name ,
1125- force_app_path ,
1123+ artifact_path ,
11261124 description = description ,
11271125 scope = ("organization" if self .organisation_artifact else "project" ),
11281126 organization = f"https://{ self ._service_config .url if self ._service_config else '' } " ,
@@ -1132,16 +1130,8 @@ def publish_repo_package(self, feed, tag_name: str, description: str) -> None:
11321130
11331131 return ret
11341132
1135- def create_release (
1136- self ,
1137- tag_name : str ,
1138- name : str = "" ,
1139- body : str = "" ,
1140- draft : bool = False ,
1141- prerelease : bool = False ,
1142- options : dict = {},
1143- ) -> ADORelease :
1144- """Creates a release on the given repository."""
1133+ def get_feed (self ) -> Feed :
1134+ """Fetches the feed for the given repository."""
11451135 try :
11461136 feed : Feed = self .feed_client .get_feed (
11471137 self .feed_name ,
@@ -1153,32 +1143,41 @@ def create_release(
11531143 feed_instance ,
11541144 project = (None if self .organisation_artifact else self .project_id ),
11551145 )
1146+ return feed
1147+
1148+ def create_release (
1149+ self ,
1150+ tag_name : str ,
1151+ name : str = "" ,
1152+ body : str = "" ,
1153+ draft : bool = False ,
1154+ prerelease : bool = False ,
1155+ options : dict = {},
1156+ ) -> ADORelease :
1157+ """Creates a release on the given repository."""
1158+
1159+ feed : Feed = self .get_feed ()
11561160
11571161 try :
11581162 numeric_part = custom_to_semver (tag_name , self .project_config )
11591163
11601164 version , pkg = self .get_version_package (tag_name )
11611165
1166+ description = {"tag_name" : tag_name }
1167+
1168+ if options .get ("version_id" ):
1169+ description ["version_id" ] = options ["version_id" ]
1170+
11621171 if version is None :
11631172 self .publish_repo_package (
11641173 feed ,
11651174 numeric_part ,
1166- description = json .dumps ({ "tag_name" : tag_name , "body" : body } ),
1175+ description = json .dumps (description ),
11671176 )
11681177
11691178 self ._package = None
11701179 version , pkg = self .get_version_package (tag_name )
11711180
1172- if pkg and version :
1173- release : PackageVersion = self .feed_client .get_package_version (
1174- feed .id ,
1175- pkg .id ,
1176- version .id ,
1177- project = (
1178- None if self .organisation_artifact else self .project_id
1179- ),
1180- )
1181-
11821181 if not pkg :
11831182 raise ADOApiNotFoundError (
11841183 f"Package { self .package_name } not found in feed { self .feed_name } "
@@ -1189,6 +1188,13 @@ def create_release(
11891188 f"Version { tag_name } not found for package { self .package_name } "
11901189 )
11911190
1191+ release : PackageVersion = self .feed_client .get_package_version (
1192+ feed .id ,
1193+ pkg .id ,
1194+ version .id ,
1195+ project = (None if self .organisation_artifact else self .project_id ),
1196+ )
1197+
11921198 if draft :
11931199 return ADORelease (release = release , tag_name = tag_name )
11941200
0 commit comments