cumulusci-plus 5.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cumulusci-plus might be problematic. Click here for more details.

Files changed (744) hide show
  1. cumulusci/__about__.py +1 -0
  2. cumulusci/__init__.py +22 -0
  3. cumulusci/__main__.py +3 -0
  4. cumulusci/cli/__init__.py +0 -0
  5. cumulusci/cli/cci.py +244 -0
  6. cumulusci/cli/error.py +125 -0
  7. cumulusci/cli/flow.py +185 -0
  8. cumulusci/cli/logger.py +72 -0
  9. cumulusci/cli/org.py +692 -0
  10. cumulusci/cli/plan.py +181 -0
  11. cumulusci/cli/project.py +391 -0
  12. cumulusci/cli/robot.py +116 -0
  13. cumulusci/cli/runtime.py +190 -0
  14. cumulusci/cli/service.py +521 -0
  15. cumulusci/cli/task.py +295 -0
  16. cumulusci/cli/tests/__init__.py +0 -0
  17. cumulusci/cli/tests/test_cci.py +545 -0
  18. cumulusci/cli/tests/test_error.py +170 -0
  19. cumulusci/cli/tests/test_flow.py +276 -0
  20. cumulusci/cli/tests/test_logger.py +25 -0
  21. cumulusci/cli/tests/test_org.py +1438 -0
  22. cumulusci/cli/tests/test_plan.py +245 -0
  23. cumulusci/cli/tests/test_project.py +235 -0
  24. cumulusci/cli/tests/test_robot.py +177 -0
  25. cumulusci/cli/tests/test_runtime.py +197 -0
  26. cumulusci/cli/tests/test_service.py +853 -0
  27. cumulusci/cli/tests/test_task.py +266 -0
  28. cumulusci/cli/tests/test_ui.py +310 -0
  29. cumulusci/cli/tests/test_utils.py +122 -0
  30. cumulusci/cli/tests/utils.py +52 -0
  31. cumulusci/cli/ui.py +234 -0
  32. cumulusci/cli/utils.py +150 -0
  33. cumulusci/conftest.py +181 -0
  34. cumulusci/core/__init__.py +0 -0
  35. cumulusci/core/config/BaseConfig.py +5 -0
  36. cumulusci/core/config/BaseTaskFlowConfig.py +5 -0
  37. cumulusci/core/config/OrgConfig.py +5 -0
  38. cumulusci/core/config/ScratchOrgConfig.py +5 -0
  39. cumulusci/core/config/__init__.py +125 -0
  40. cumulusci/core/config/base_config.py +111 -0
  41. cumulusci/core/config/base_task_flow_config.py +82 -0
  42. cumulusci/core/config/marketing_cloud_service_config.py +83 -0
  43. cumulusci/core/config/oauth2_service_config.py +17 -0
  44. cumulusci/core/config/org_config.py +604 -0
  45. cumulusci/core/config/project_config.py +782 -0
  46. cumulusci/core/config/scratch_org_config.py +251 -0
  47. cumulusci/core/config/sfdx_org_config.py +220 -0
  48. cumulusci/core/config/tests/_test_config_backwards_compatibility.py +33 -0
  49. cumulusci/core/config/tests/test_config.py +1895 -0
  50. cumulusci/core/config/tests/test_config_expensive.py +839 -0
  51. cumulusci/core/config/tests/test_config_util.py +91 -0
  52. cumulusci/core/config/universal_config.py +88 -0
  53. cumulusci/core/config/util.py +18 -0
  54. cumulusci/core/datasets.py +303 -0
  55. cumulusci/core/debug.py +33 -0
  56. cumulusci/core/dependencies/__init__.py +55 -0
  57. cumulusci/core/dependencies/base.py +561 -0
  58. cumulusci/core/dependencies/dependencies.py +273 -0
  59. cumulusci/core/dependencies/github.py +177 -0
  60. cumulusci/core/dependencies/github_resolvers.py +244 -0
  61. cumulusci/core/dependencies/resolvers.py +580 -0
  62. cumulusci/core/dependencies/tests/__init__.py +0 -0
  63. cumulusci/core/dependencies/tests/conftest.py +385 -0
  64. cumulusci/core/dependencies/tests/test_dependencies.py +950 -0
  65. cumulusci/core/dependencies/tests/test_github.py +83 -0
  66. cumulusci/core/dependencies/tests/test_resolvers.py +1027 -0
  67. cumulusci/core/dependencies/utils.py +13 -0
  68. cumulusci/core/enums.py +11 -0
  69. cumulusci/core/exceptions.py +311 -0
  70. cumulusci/core/flowrunner.py +888 -0
  71. cumulusci/core/github.py +665 -0
  72. cumulusci/core/keychain/__init__.py +24 -0
  73. cumulusci/core/keychain/base_project_keychain.py +441 -0
  74. cumulusci/core/keychain/encrypted_file_project_keychain.py +945 -0
  75. cumulusci/core/keychain/environment_project_keychain.py +7 -0
  76. cumulusci/core/keychain/serialization.py +152 -0
  77. cumulusci/core/keychain/subprocess_keychain.py +24 -0
  78. cumulusci/core/keychain/tests/conftest.py +50 -0
  79. cumulusci/core/keychain/tests/test_base_project_keychain.py +299 -0
  80. cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +1228 -0
  81. cumulusci/core/metadeploy/__init__.py +0 -0
  82. cumulusci/core/metadeploy/api.py +88 -0
  83. cumulusci/core/metadeploy/plans.py +25 -0
  84. cumulusci/core/metadeploy/tests/test_api.py +276 -0
  85. cumulusci/core/runtime.py +115 -0
  86. cumulusci/core/sfdx.py +162 -0
  87. cumulusci/core/source/__init__.py +16 -0
  88. cumulusci/core/source/github.py +50 -0
  89. cumulusci/core/source/local_folder.py +35 -0
  90. cumulusci/core/source_transforms/__init__.py +0 -0
  91. cumulusci/core/source_transforms/tests/test_transforms.py +1091 -0
  92. cumulusci/core/source_transforms/transforms.py +532 -0
  93. cumulusci/core/tasks.py +404 -0
  94. cumulusci/core/template_utils.py +59 -0
  95. cumulusci/core/tests/__init__.py +0 -0
  96. cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_e2e.yaml +215 -0
  97. cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_extract_standard_objects.yaml +199 -0
  98. cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_read_explicit_extract_declaration.yaml +3 -0
  99. cumulusci/core/tests/fake_remote_repo/cumulusci.yml +32 -0
  100. cumulusci/core/tests/fake_remote_repo/tasks/directory/example_2.py +6 -0
  101. cumulusci/core/tests/fake_remote_repo/tasks/example.py +43 -0
  102. cumulusci/core/tests/fake_remote_repo_2/cumulusci.yml +11 -0
  103. cumulusci/core/tests/fake_remote_repo_2/tasks/example_3.py +6 -0
  104. cumulusci/core/tests/test_datasets_e2e.py +386 -0
  105. cumulusci/core/tests/test_exceptions.py +11 -0
  106. cumulusci/core/tests/test_flowrunner.py +836 -0
  107. cumulusci/core/tests/test_github.py +942 -0
  108. cumulusci/core/tests/test_sfdx.py +138 -0
  109. cumulusci/core/tests/test_source.py +678 -0
  110. cumulusci/core/tests/test_tasks.py +262 -0
  111. cumulusci/core/tests/test_utils.py +141 -0
  112. cumulusci/core/tests/test_utils_merge_config.py +276 -0
  113. cumulusci/core/tests/test_versions.py +76 -0
  114. cumulusci/core/tests/untrusted_repo_child/cumulusci.yml +7 -0
  115. cumulusci/core/tests/untrusted_repo_child/tasks/untrusted_child.py +6 -0
  116. cumulusci/core/tests/untrusted_repo_parent/cumulusci.yml +26 -0
  117. cumulusci/core/tests/untrusted_repo_parent/tasks/untrusted_parent.py +6 -0
  118. cumulusci/core/tests/utils.py +116 -0
  119. cumulusci/core/tests/yaml/global.yaml +0 -0
  120. cumulusci/core/utils.py +402 -0
  121. cumulusci/core/versions.py +149 -0
  122. cumulusci/cumulusci.yml +1621 -0
  123. cumulusci/files/admin_profile.xml +20 -0
  124. cumulusci/files/delete_excludes.txt +424 -0
  125. cumulusci/files/templates/project/README.md +12 -0
  126. cumulusci/files/templates/project/cumulusci.yml +63 -0
  127. cumulusci/files/templates/project/dot-gitignore +60 -0
  128. cumulusci/files/templates/project/mapping.yml +45 -0
  129. cumulusci/files/templates/project/scratch_def.json +25 -0
  130. cumulusci/oauth/__init__.py +0 -0
  131. cumulusci/oauth/client.py +400 -0
  132. cumulusci/oauth/exceptions.py +9 -0
  133. cumulusci/oauth/salesforce.py +95 -0
  134. cumulusci/oauth/tests/__init__.py +0 -0
  135. cumulusci/oauth/tests/cassettes/test_get_device_code.yaml +22 -0
  136. cumulusci/oauth/tests/cassettes/test_get_device_oauth_token.yaml +74 -0
  137. cumulusci/oauth/tests/test_client.py +308 -0
  138. cumulusci/oauth/tests/test_salesforce.py +46 -0
  139. cumulusci/plugins/__init__.py +3 -0
  140. cumulusci/plugins/plugin_base.py +93 -0
  141. cumulusci/plugins/plugin_loader.py +59 -0
  142. cumulusci/robotframework/CumulusCI.py +340 -0
  143. cumulusci/robotframework/CumulusCI.robot +7 -0
  144. cumulusci/robotframework/Performance.py +165 -0
  145. cumulusci/robotframework/Salesforce.py +936 -0
  146. cumulusci/robotframework/Salesforce.robot +192 -0
  147. cumulusci/robotframework/SalesforceAPI.py +416 -0
  148. cumulusci/robotframework/SalesforcePlaywright.py +220 -0
  149. cumulusci/robotframework/SalesforcePlaywright.robot +40 -0
  150. cumulusci/robotframework/__init__.py +2 -0
  151. cumulusci/robotframework/base_library.py +39 -0
  152. cumulusci/robotframework/faker_mixin.py +89 -0
  153. cumulusci/robotframework/form_handlers.py +222 -0
  154. cumulusci/robotframework/javascript/cci_init.js +34 -0
  155. cumulusci/robotframework/javascript/cumulusci.js +4 -0
  156. cumulusci/robotframework/locator_manager.py +197 -0
  157. cumulusci/robotframework/locators_56.py +88 -0
  158. cumulusci/robotframework/locators_57.py +5 -0
  159. cumulusci/robotframework/pageobjects/BasePageObjects.py +433 -0
  160. cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +246 -0
  161. cumulusci/robotframework/pageobjects/PageObjectLibrary.py +45 -0
  162. cumulusci/robotframework/pageobjects/PageObjects.py +351 -0
  163. cumulusci/robotframework/pageobjects/__init__.py +12 -0
  164. cumulusci/robotframework/pageobjects/baseobjects.py +120 -0
  165. cumulusci/robotframework/perftests/short/collection_perf.robot +105 -0
  166. cumulusci/robotframework/tests/CustomObjectTestPage.py +10 -0
  167. cumulusci/robotframework/tests/FooTestPage.py +8 -0
  168. cumulusci/robotframework/tests/cumulusci/base.robot +40 -0
  169. cumulusci/robotframework/tests/cumulusci/bulkdata.robot +38 -0
  170. cumulusci/robotframework/tests/cumulusci/communities.robot +57 -0
  171. cumulusci/robotframework/tests/cumulusci/datagen.robot +84 -0
  172. cumulusci/robotframework/tests/salesforce/TestLibraryA.py +24 -0
  173. cumulusci/robotframework/tests/salesforce/TestLibraryB.py +20 -0
  174. cumulusci/robotframework/tests/salesforce/TestListener.py +93 -0
  175. cumulusci/robotframework/tests/salesforce/api.robot +178 -0
  176. cumulusci/robotframework/tests/salesforce/browsers.robot +143 -0
  177. cumulusci/robotframework/tests/salesforce/classic.robot +51 -0
  178. cumulusci/robotframework/tests/salesforce/create_contact.robot +59 -0
  179. cumulusci/robotframework/tests/salesforce/faker.robot +68 -0
  180. cumulusci/robotframework/tests/salesforce/forms.robot +172 -0
  181. cumulusci/robotframework/tests/salesforce/label_locator.robot +244 -0
  182. cumulusci/robotframework/tests/salesforce/labels.html +33 -0
  183. cumulusci/robotframework/tests/salesforce/locators.robot +149 -0
  184. cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +100 -0
  185. cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +25 -0
  186. cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +115 -0
  187. cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +74 -0
  188. cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +171 -0
  189. cumulusci/robotframework/tests/salesforce/performance.robot +109 -0
  190. cumulusci/robotframework/tests/salesforce/playwright/javascript_keywords.robot +33 -0
  191. cumulusci/robotframework/tests/salesforce/playwright/open_test_browser.robot +48 -0
  192. cumulusci/robotframework/tests/salesforce/playwright/playwright.robot +24 -0
  193. cumulusci/robotframework/tests/salesforce/playwright/ui.robot +32 -0
  194. cumulusci/robotframework/tests/salesforce/populate.robot +89 -0
  195. cumulusci/robotframework/tests/salesforce/test_testlistener.py +37 -0
  196. cumulusci/robotframework/tests/salesforce/ui.robot +361 -0
  197. cumulusci/robotframework/tests/test_cumulusci_library.py +304 -0
  198. cumulusci/robotframework/tests/test_locator_manager.py +158 -0
  199. cumulusci/robotframework/tests/test_pageobjects.py +291 -0
  200. cumulusci/robotframework/tests/test_performance.py +38 -0
  201. cumulusci/robotframework/tests/test_salesforce.py +79 -0
  202. cumulusci/robotframework/tests/test_salesforce_locators.py +73 -0
  203. cumulusci/robotframework/tests/test_template_util.py +53 -0
  204. cumulusci/robotframework/tests/test_utils.py +106 -0
  205. cumulusci/robotframework/utils.py +283 -0
  206. cumulusci/salesforce_api/__init__.py +0 -0
  207. cumulusci/salesforce_api/exceptions.py +23 -0
  208. cumulusci/salesforce_api/filterable_objects.py +96 -0
  209. cumulusci/salesforce_api/mc_soap_envelopes.py +89 -0
  210. cumulusci/salesforce_api/metadata.py +721 -0
  211. cumulusci/salesforce_api/org_schema.py +571 -0
  212. cumulusci/salesforce_api/org_schema_models.py +226 -0
  213. cumulusci/salesforce_api/package_install.py +265 -0
  214. cumulusci/salesforce_api/package_zip.py +301 -0
  215. cumulusci/salesforce_api/rest_deploy.py +148 -0
  216. cumulusci/salesforce_api/retrieve_profile_api.py +301 -0
  217. cumulusci/salesforce_api/soap_envelopes.py +177 -0
  218. cumulusci/salesforce_api/tests/__init__.py +0 -0
  219. cumulusci/salesforce_api/tests/metadata_test_strings.py +24 -0
  220. cumulusci/salesforce_api/tests/test_metadata.py +1015 -0
  221. cumulusci/salesforce_api/tests/test_package_install.py +219 -0
  222. cumulusci/salesforce_api/tests/test_package_zip.py +380 -0
  223. cumulusci/salesforce_api/tests/test_rest_deploy.py +264 -0
  224. cumulusci/salesforce_api/tests/test_retrieve_profile_api.py +337 -0
  225. cumulusci/salesforce_api/tests/test_utils.py +124 -0
  226. cumulusci/salesforce_api/utils.py +51 -0
  227. cumulusci/schema/cumulusci.jsonschema.json +782 -0
  228. cumulusci/tasks/__init__.py +0 -0
  229. cumulusci/tasks/apex/__init__.py +0 -0
  230. cumulusci/tasks/apex/anon.py +157 -0
  231. cumulusci/tasks/apex/batch.py +180 -0
  232. cumulusci/tasks/apex/testrunner.py +835 -0
  233. cumulusci/tasks/apex/tests/cassettes/ManualEditTestApexIntegrationTests.test_run_tests__integration_test.yaml +703 -0
  234. cumulusci/tasks/apex/tests/test_apex_tasks.py +1558 -0
  235. cumulusci/tasks/base_source_control_task.py +17 -0
  236. cumulusci/tasks/bulkdata/__init__.py +15 -0
  237. cumulusci/tasks/bulkdata/base_generate_data_task.py +96 -0
  238. cumulusci/tasks/bulkdata/dates.py +97 -0
  239. cumulusci/tasks/bulkdata/delete.py +156 -0
  240. cumulusci/tasks/bulkdata/extract.py +441 -0
  241. cumulusci/tasks/bulkdata/extract_dataset_utils/calculate_dependencies.py +117 -0
  242. cumulusci/tasks/bulkdata/extract_dataset_utils/extract_yml.py +123 -0
  243. cumulusci/tasks/bulkdata/extract_dataset_utils/hardcoded_default_declarations.py +49 -0
  244. cumulusci/tasks/bulkdata/extract_dataset_utils/synthesize_extract_declarations.py +283 -0
  245. cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_extract_yml.py +142 -0
  246. cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_synthesize_extract_declarations.py +575 -0
  247. cumulusci/tasks/bulkdata/factory_utils.py +134 -0
  248. cumulusci/tasks/bulkdata/generate.py +4 -0
  249. cumulusci/tasks/bulkdata/generate_and_load_data.py +232 -0
  250. cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +19 -0
  251. cumulusci/tasks/bulkdata/generate_from_yaml.py +183 -0
  252. cumulusci/tasks/bulkdata/generate_mapping.py +434 -0
  253. cumulusci/tasks/bulkdata/generate_mapping_utils/dependency_map.py +169 -0
  254. cumulusci/tasks/bulkdata/generate_mapping_utils/extract_mapping_file_generator.py +45 -0
  255. cumulusci/tasks/bulkdata/generate_mapping_utils/generate_mapping_from_declarations.py +121 -0
  256. cumulusci/tasks/bulkdata/generate_mapping_utils/load_mapping_file_generator.py +127 -0
  257. cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_generator_post_processes.py +53 -0
  258. cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_transforms.py +139 -0
  259. cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_generate_extract_mapping_from_declarations.py +135 -0
  260. cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_generate_load_mapping_from_declarations.py +330 -0
  261. cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_mapping_generator_post_processes.py +60 -0
  262. cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_mapping_transforms.py +188 -0
  263. cumulusci/tasks/bulkdata/load.py +1196 -0
  264. cumulusci/tasks/bulkdata/mapping_parser.py +811 -0
  265. cumulusci/tasks/bulkdata/query_transformers.py +264 -0
  266. cumulusci/tasks/bulkdata/select_utils.py +792 -0
  267. cumulusci/tasks/bulkdata/snowfakery.py +753 -0
  268. cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +478 -0
  269. cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +141 -0
  270. cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +53 -0
  271. cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +64 -0
  272. cumulusci/tasks/bulkdata/step.py +1242 -0
  273. cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
  274. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_random_strategy.yaml +147 -0
  275. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_annoy_strategy.yaml +123 -0
  276. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_select_and_insert_strategy.yaml +313 -0
  277. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_select_and_insert_strategy_bulk.yaml +550 -0
  278. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_strategy.yaml +175 -0
  279. cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_standard_strategy.yaml +147 -0
  280. cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__multiple_needed.yaml +69 -0
  281. cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__none_needed.yaml +22 -0
  282. cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__one_needed.yaml +24 -0
  283. cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_snowfakery_query_salesforce.yaml +25 -0
  284. cumulusci/tasks/bulkdata/tests/cassettes/TestUpdatesIntegrationTests.test_updates_task.yaml +80 -0
  285. cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_simple_upsert__rest.yaml +270 -0
  286. cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert__rest.yaml +267 -0
  287. cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_external_id_field__rest.yaml +369 -0
  288. cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_external_id_field_rest__duplicate_error.yaml +204 -0
  289. cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_fields__bulk.yaml +675 -0
  290. cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +36 -0
  291. cumulusci/tasks/bulkdata/tests/integration_test_utils.py +49 -0
  292. cumulusci/tasks/bulkdata/tests/mapping-oid.yml +87 -0
  293. cumulusci/tasks/bulkdata/tests/mapping_after.yml +38 -0
  294. cumulusci/tasks/bulkdata/tests/mapping_poly.yml +34 -0
  295. cumulusci/tasks/bulkdata/tests/mapping_poly_incomplete.yml +20 -0
  296. cumulusci/tasks/bulkdata/tests/mapping_poly_wrong.yml +21 -0
  297. cumulusci/tasks/bulkdata/tests/mapping_select.yml +20 -0
  298. cumulusci/tasks/bulkdata/tests/mapping_select_invalid_strategy.yml +20 -0
  299. cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_number.yml +21 -0
  300. cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_strategy.yml +21 -0
  301. cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__non_float.yml +21 -0
  302. cumulusci/tasks/bulkdata/tests/mapping_select_missing_priority_fields.yml +22 -0
  303. cumulusci/tasks/bulkdata/tests/mapping_select_no_priority_fields.yml +18 -0
  304. cumulusci/tasks/bulkdata/tests/mapping_simple.yml +27 -0
  305. cumulusci/tasks/bulkdata/tests/mapping_v1.yml +28 -0
  306. cumulusci/tasks/bulkdata/tests/mapping_v2.yml +21 -0
  307. cumulusci/tasks/bulkdata/tests/mapping_v3.yml +32 -0
  308. cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +69 -0
  309. cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +12 -0
  310. cumulusci/tasks/bulkdata/tests/person_accounts.yml +23 -0
  311. cumulusci/tasks/bulkdata/tests/person_accounts_minimal.yml +15 -0
  312. cumulusci/tasks/bulkdata/tests/recordtypes.yml +8 -0
  313. cumulusci/tasks/bulkdata/tests/recordtypes_2.yml +6 -0
  314. cumulusci/tasks/bulkdata/tests/recordtypes_with_ispersontype.yml +8 -0
  315. cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +3 -0
  316. cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +4 -0
  317. cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +89 -0
  318. cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +3 -0
  319. cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +34 -0
  320. cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +6 -0
  321. cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +16 -0
  322. cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +83 -0
  323. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +2 -0
  324. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +13 -0
  325. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +5 -0
  326. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +13 -0
  327. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +12 -0
  328. cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +13 -0
  329. cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +4 -0
  330. cumulusci/tasks/bulkdata/tests/snowfakery/upsert.recipe.yml +23 -0
  331. cumulusci/tasks/bulkdata/tests/snowfakery/upsert_2.recipe.yml +29 -0
  332. cumulusci/tasks/bulkdata/tests/snowfakery/upsert_before.yml +10 -0
  333. cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +61 -0
  334. cumulusci/tasks/bulkdata/tests/test_dates.py +99 -0
  335. cumulusci/tasks/bulkdata/tests/test_delete.py +404 -0
  336. cumulusci/tasks/bulkdata/tests/test_extract.py +1311 -0
  337. cumulusci/tasks/bulkdata/tests/test_factory_utils.py +55 -0
  338. cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +252 -0
  339. cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +343 -0
  340. cumulusci/tasks/bulkdata/tests/test_generatemapping.py +1039 -0
  341. cumulusci/tasks/bulkdata/tests/test_load.py +3175 -0
  342. cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +1658 -0
  343. cumulusci/tasks/bulkdata/tests/test_query_db__joins_self_lookups.yml +12 -0
  344. cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups.yml +26 -0
  345. cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups_select.yml +48 -0
  346. cumulusci/tasks/bulkdata/tests/test_select.py +171 -0
  347. cumulusci/tasks/bulkdata/tests/test_select_utils.py +1057 -0
  348. cumulusci/tasks/bulkdata/tests/test_snowfakery.py +1153 -0
  349. cumulusci/tasks/bulkdata/tests/test_step.py +3957 -0
  350. cumulusci/tasks/bulkdata/tests/test_updates.py +513 -0
  351. cumulusci/tasks/bulkdata/tests/test_upsert.py +1015 -0
  352. cumulusci/tasks/bulkdata/tests/test_utils.py +158 -0
  353. cumulusci/tasks/bulkdata/tests/testdata.db +0 -0
  354. cumulusci/tasks/bulkdata/tests/update_describe.py +50 -0
  355. cumulusci/tasks/bulkdata/tests/update_person_accounts.yml +23 -0
  356. cumulusci/tasks/bulkdata/tests/utils.py +114 -0
  357. cumulusci/tasks/bulkdata/update_data.py +260 -0
  358. cumulusci/tasks/bulkdata/upsert_utils.py +130 -0
  359. cumulusci/tasks/bulkdata/utils.py +249 -0
  360. cumulusci/tasks/command.py +178 -0
  361. cumulusci/tasks/connectedapp.py +186 -0
  362. cumulusci/tasks/create_package_version.py +778 -0
  363. cumulusci/tasks/datadictionary.py +745 -0
  364. cumulusci/tasks/dx_convert_from.py +26 -0
  365. cumulusci/tasks/github/__init__.py +17 -0
  366. cumulusci/tasks/github/base.py +16 -0
  367. cumulusci/tasks/github/commit_status.py +13 -0
  368. cumulusci/tasks/github/merge.py +11 -0
  369. cumulusci/tasks/github/publish.py +11 -0
  370. cumulusci/tasks/github/pull_request.py +11 -0
  371. cumulusci/tasks/github/release.py +11 -0
  372. cumulusci/tasks/github/release_report.py +11 -0
  373. cumulusci/tasks/github/tag.py +11 -0
  374. cumulusci/tasks/github/tests/__init__.py +0 -0
  375. cumulusci/tasks/github/tests/test_util.py +202 -0
  376. cumulusci/tasks/github/tests/test_vcs_migration.py +44 -0
  377. cumulusci/tasks/github/tests/util_github_api.py +666 -0
  378. cumulusci/tasks/github/util.py +252 -0
  379. cumulusci/tasks/marketing_cloud/__init__.py +0 -0
  380. cumulusci/tasks/marketing_cloud/api.py +188 -0
  381. cumulusci/tasks/marketing_cloud/base.py +38 -0
  382. cumulusci/tasks/marketing_cloud/deploy.py +345 -0
  383. cumulusci/tasks/marketing_cloud/get_user_info.py +40 -0
  384. cumulusci/tasks/marketing_cloud/mc_constants.py +1 -0
  385. cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
  386. cumulusci/tasks/marketing_cloud/tests/conftest.py +46 -0
  387. cumulusci/tasks/marketing_cloud/tests/expected-payload.json +110 -0
  388. cumulusci/tasks/marketing_cloud/tests/test_api.py +97 -0
  389. cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +145 -0
  390. cumulusci/tasks/marketing_cloud/tests/test_base.py +14 -0
  391. cumulusci/tasks/marketing_cloud/tests/test_deploy.py +400 -0
  392. cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +141 -0
  393. cumulusci/tasks/marketing_cloud/tests/validation-response.json +39 -0
  394. cumulusci/tasks/metadata/__init__.py +0 -0
  395. cumulusci/tasks/metadata/ee_src.py +94 -0
  396. cumulusci/tasks/metadata/managed_src.py +100 -0
  397. cumulusci/tasks/metadata/metadata_map.yml +868 -0
  398. cumulusci/tasks/metadata/modify.py +99 -0
  399. cumulusci/tasks/metadata/package.py +684 -0
  400. cumulusci/tasks/metadata/tests/__init__.py +0 -0
  401. cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/.hidden/.keep +0 -0
  402. cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +9 -0
  403. cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +9 -0
  404. cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package_install_uninstall.xml +11 -0
  405. cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/reports/namespace__TestFolder/TestReport.report +3 -0
  406. cumulusci/tasks/metadata/tests/sample_package.xml +9 -0
  407. cumulusci/tasks/metadata/tests/test_ee_src.py +112 -0
  408. cumulusci/tasks/metadata/tests/test_managed_src.py +111 -0
  409. cumulusci/tasks/metadata/tests/test_modify.py +123 -0
  410. cumulusci/tasks/metadata/tests/test_package.py +476 -0
  411. cumulusci/tasks/metadata_etl/__init__.py +29 -0
  412. cumulusci/tasks/metadata_etl/base.py +436 -0
  413. cumulusci/tasks/metadata_etl/duplicate_rules.py +24 -0
  414. cumulusci/tasks/metadata_etl/field_sets.py +70 -0
  415. cumulusci/tasks/metadata_etl/help_text.py +92 -0
  416. cumulusci/tasks/metadata_etl/layouts.py +550 -0
  417. cumulusci/tasks/metadata_etl/objects.py +68 -0
  418. cumulusci/tasks/metadata_etl/permissions.py +167 -0
  419. cumulusci/tasks/metadata_etl/picklists.py +221 -0
  420. cumulusci/tasks/metadata_etl/remote_site_settings.py +99 -0
  421. cumulusci/tasks/metadata_etl/sharing.py +138 -0
  422. cumulusci/tasks/metadata_etl/tests/test_base.py +512 -0
  423. cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +22 -0
  424. cumulusci/tasks/metadata_etl/tests/test_field_sets.py +156 -0
  425. cumulusci/tasks/metadata_etl/tests/test_help_text.py +387 -0
  426. cumulusci/tasks/metadata_etl/tests/test_ip_ranges.py +85 -0
  427. cumulusci/tasks/metadata_etl/tests/test_layouts.py +858 -0
  428. cumulusci/tasks/metadata_etl/tests/test_objects.py +236 -0
  429. cumulusci/tasks/metadata_etl/tests/test_permissions.py +223 -0
  430. cumulusci/tasks/metadata_etl/tests/test_picklists.py +547 -0
  431. cumulusci/tasks/metadata_etl/tests/test_remote_site_settings.py +46 -0
  432. cumulusci/tasks/metadata_etl/tests/test_sharing.py +333 -0
  433. cumulusci/tasks/metadata_etl/tests/test_value_sets.py +298 -0
  434. cumulusci/tasks/metadata_etl/value_sets.py +106 -0
  435. cumulusci/tasks/metadeploy.py +393 -0
  436. cumulusci/tasks/metaxml.py +88 -0
  437. cumulusci/tasks/preflight/__init__.py +0 -0
  438. cumulusci/tasks/preflight/dataset_load.py +49 -0
  439. cumulusci/tasks/preflight/licenses.py +86 -0
  440. cumulusci/tasks/preflight/packages.py +14 -0
  441. cumulusci/tasks/preflight/permsets.py +23 -0
  442. cumulusci/tasks/preflight/recordtypes.py +16 -0
  443. cumulusci/tasks/preflight/retrieve_tasks.py +30 -0
  444. cumulusci/tasks/preflight/settings.py +77 -0
  445. cumulusci/tasks/preflight/sobjects.py +202 -0
  446. cumulusci/tasks/preflight/tests/test_dataset_load.py +85 -0
  447. cumulusci/tasks/preflight/tests/test_licenses.py +174 -0
  448. cumulusci/tasks/preflight/tests/test_packages.py +14 -0
  449. cumulusci/tasks/preflight/tests/test_permset_preflights.py +51 -0
  450. cumulusci/tasks/preflight/tests/test_recordtypes.py +30 -0
  451. cumulusci/tasks/preflight/tests/test_retrieve_tasks.py +62 -0
  452. cumulusci/tasks/preflight/tests/test_settings.py +130 -0
  453. cumulusci/tasks/preflight/tests/test_sobjects.py +231 -0
  454. cumulusci/tasks/push/README.md +59 -0
  455. cumulusci/tasks/push/__init__.py +0 -0
  456. cumulusci/tasks/push/push_api.py +659 -0
  457. cumulusci/tasks/push/pushfails.py +136 -0
  458. cumulusci/tasks/push/tasks.py +476 -0
  459. cumulusci/tasks/push/tests/conftest.py +263 -0
  460. cumulusci/tasks/push/tests/test_push_api.py +951 -0
  461. cumulusci/tasks/push/tests/test_push_tasks.py +659 -0
  462. cumulusci/tasks/release_notes/README.md +63 -0
  463. cumulusci/tasks/release_notes/__init__.py +0 -0
  464. cumulusci/tasks/release_notes/exceptions.py +5 -0
  465. cumulusci/tasks/release_notes/generator.py +137 -0
  466. cumulusci/tasks/release_notes/parser.py +232 -0
  467. cumulusci/tasks/release_notes/provider.py +44 -0
  468. cumulusci/tasks/release_notes/task.py +300 -0
  469. cumulusci/tasks/release_notes/tests/__init__.py +0 -0
  470. cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +17 -0
  471. cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +1 -0
  472. cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +1 -0
  473. cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +1 -0
  474. cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +1 -0
  475. cumulusci/tasks/release_notes/tests/test_generator.py +582 -0
  476. cumulusci/tasks/release_notes/tests/test_parser.py +867 -0
  477. cumulusci/tasks/release_notes/tests/test_provider.py +512 -0
  478. cumulusci/tasks/release_notes/tests/test_task.py +461 -0
  479. cumulusci/tasks/release_notes/tests/utils.py +153 -0
  480. cumulusci/tasks/robotframework/__init__.py +3 -0
  481. cumulusci/tasks/robotframework/debugger/DebugListener.py +100 -0
  482. cumulusci/tasks/robotframework/debugger/__init__.py +10 -0
  483. cumulusci/tasks/robotframework/debugger/model.py +87 -0
  484. cumulusci/tasks/robotframework/debugger/ui.py +259 -0
  485. cumulusci/tasks/robotframework/libdoc.py +269 -0
  486. cumulusci/tasks/robotframework/robotframework.py +392 -0
  487. cumulusci/tasks/robotframework/stylesheet.css +130 -0
  488. cumulusci/tasks/robotframework/template.html +109 -0
  489. cumulusci/tasks/robotframework/tests/TestLibrary.py +18 -0
  490. cumulusci/tasks/robotframework/tests/TestPageObjects.py +31 -0
  491. cumulusci/tasks/robotframework/tests/TestResource.robot +8 -0
  492. cumulusci/tasks/robotframework/tests/failing_tests.robot +16 -0
  493. cumulusci/tasks/robotframework/tests/performance.robot +23 -0
  494. cumulusci/tasks/robotframework/tests/test_browser_proxies.py +137 -0
  495. cumulusci/tasks/robotframework/tests/test_debugger.py +360 -0
  496. cumulusci/tasks/robotframework/tests/test_robot_parallel.py +141 -0
  497. cumulusci/tasks/robotframework/tests/test_robotframework.py +860 -0
  498. cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +58 -0
  499. cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +45 -0
  500. cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +18 -0
  501. cumulusci/tasks/salesforce/BaseSalesforceTask.py +4 -0
  502. cumulusci/tasks/salesforce/BaseUninstallMetadata.py +41 -0
  503. cumulusci/tasks/salesforce/CreateCommunity.py +124 -0
  504. cumulusci/tasks/salesforce/CreatePackage.py +29 -0
  505. cumulusci/tasks/salesforce/Deploy.py +240 -0
  506. cumulusci/tasks/salesforce/DeployBundles.py +88 -0
  507. cumulusci/tasks/salesforce/DescribeMetadataTypes.py +26 -0
  508. cumulusci/tasks/salesforce/EnsureRecordTypes.py +202 -0
  509. cumulusci/tasks/salesforce/GetInstalledPackages.py +8 -0
  510. cumulusci/tasks/salesforce/ListCommunities.py +40 -0
  511. cumulusci/tasks/salesforce/ListCommunityTemplates.py +19 -0
  512. cumulusci/tasks/salesforce/PublishCommunity.py +62 -0
  513. cumulusci/tasks/salesforce/RetrievePackaged.py +41 -0
  514. cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +82 -0
  515. cumulusci/tasks/salesforce/RetrieveUnpackaged.py +36 -0
  516. cumulusci/tasks/salesforce/SOQLQuery.py +39 -0
  517. cumulusci/tasks/salesforce/UninstallLocal.py +15 -0
  518. cumulusci/tasks/salesforce/UninstallLocalBundles.py +28 -0
  519. cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +58 -0
  520. cumulusci/tasks/salesforce/UninstallPackage.py +32 -0
  521. cumulusci/tasks/salesforce/UninstallPackaged.py +56 -0
  522. cumulusci/tasks/salesforce/UpdateAdminProfile.py +8 -0
  523. cumulusci/tasks/salesforce/__init__.py +79 -0
  524. cumulusci/tasks/salesforce/activate_flow.py +74 -0
  525. cumulusci/tasks/salesforce/check_components.py +324 -0
  526. cumulusci/tasks/salesforce/composite.py +142 -0
  527. cumulusci/tasks/salesforce/create_permission_sets.py +35 -0
  528. cumulusci/tasks/salesforce/custom_settings.py +134 -0
  529. cumulusci/tasks/salesforce/custom_settings_wait.py +132 -0
  530. cumulusci/tasks/salesforce/enable_prediction.py +107 -0
  531. cumulusci/tasks/salesforce/insert_record.py +40 -0
  532. cumulusci/tasks/salesforce/install_package_version.py +242 -0
  533. cumulusci/tasks/salesforce/license_preflights.py +8 -0
  534. cumulusci/tasks/salesforce/network_member_group.py +178 -0
  535. cumulusci/tasks/salesforce/nonsourcetracking.py +228 -0
  536. cumulusci/tasks/salesforce/org_settings.py +193 -0
  537. cumulusci/tasks/salesforce/package_upload.py +328 -0
  538. cumulusci/tasks/salesforce/profiles.py +74 -0
  539. cumulusci/tasks/salesforce/promote_package_version.py +376 -0
  540. cumulusci/tasks/salesforce/retrieve_profile.py +195 -0
  541. cumulusci/tasks/salesforce/salesforce_files.py +244 -0
  542. cumulusci/tasks/salesforce/sourcetracking.py +507 -0
  543. cumulusci/tasks/salesforce/tests/__init__.py +3 -0
  544. cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +278 -0
  545. cumulusci/tasks/salesforce/tests/test_CreatePackage.py +22 -0
  546. cumulusci/tasks/salesforce/tests/test_Deploy.py +470 -0
  547. cumulusci/tasks/salesforce/tests/test_DeployBundles.py +76 -0
  548. cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +345 -0
  549. cumulusci/tasks/salesforce/tests/test_ListCommunities.py +84 -0
  550. cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +49 -0
  551. cumulusci/tasks/salesforce/tests/test_PackageUpload.py +547 -0
  552. cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +699 -0
  553. cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +181 -0
  554. cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +24 -0
  555. cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +56 -0
  556. cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +21 -0
  557. cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +30 -0
  558. cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +15 -0
  559. cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +19 -0
  560. cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +22 -0
  561. cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +19 -0
  562. cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +66 -0
  563. cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +127 -0
  564. cumulusci/tasks/salesforce/tests/test_activate_flow.py +132 -0
  565. cumulusci/tasks/salesforce/tests/test_base_tasks.py +110 -0
  566. cumulusci/tasks/salesforce/tests/test_check_components.py +445 -0
  567. cumulusci/tasks/salesforce/tests/test_composite.py +250 -0
  568. cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +41 -0
  569. cumulusci/tasks/salesforce/tests/test_custom_settings.py +227 -0
  570. cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +174 -0
  571. cumulusci/tasks/salesforce/tests/test_describemetadatatypes.py +18 -0
  572. cumulusci/tasks/salesforce/tests/test_enable_prediction.py +240 -0
  573. cumulusci/tasks/salesforce/tests/test_insert_record.py +110 -0
  574. cumulusci/tasks/salesforce/tests/test_install_package_version.py +464 -0
  575. cumulusci/tasks/salesforce/tests/test_network_member_group.py +444 -0
  576. cumulusci/tasks/salesforce/tests/test_nonsourcetracking.py +235 -0
  577. cumulusci/tasks/salesforce/tests/test_org_settings.py +407 -0
  578. cumulusci/tasks/salesforce/tests/test_profiles.py +202 -0
  579. cumulusci/tasks/salesforce/tests/test_retrieve_profile.py +287 -0
  580. cumulusci/tasks/salesforce/tests/test_salesforce_files.py +228 -0
  581. cumulusci/tasks/salesforce/tests/test_sourcetracking.py +350 -0
  582. cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +300 -0
  583. cumulusci/tasks/salesforce/tests/test_update_dependencies.py +509 -0
  584. cumulusci/tasks/salesforce/tests/util.py +79 -0
  585. cumulusci/tasks/salesforce/trigger_handlers.py +119 -0
  586. cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +136 -0
  587. cumulusci/tasks/salesforce/update_dependencies.py +290 -0
  588. cumulusci/tasks/salesforce/update_profile.py +339 -0
  589. cumulusci/tasks/salesforce/users/permsets.py +227 -0
  590. cumulusci/tasks/salesforce/users/photos.py +162 -0
  591. cumulusci/tasks/salesforce/users/tests/photo.mock.txt +1 -0
  592. cumulusci/tasks/salesforce/users/tests/test_permsets.py +950 -0
  593. cumulusci/tasks/salesforce/users/tests/test_photos.py +373 -0
  594. cumulusci/tasks/sample_data/capture_sample_data.py +77 -0
  595. cumulusci/tasks/sample_data/load_sample_data.py +85 -0
  596. cumulusci/tasks/sample_data/test_capture_sample_data.py +117 -0
  597. cumulusci/tasks/sample_data/test_load_sample_data.py +121 -0
  598. cumulusci/tasks/sfdx.py +83 -0
  599. cumulusci/tasks/tests/__init__.py +1 -0
  600. cumulusci/tasks/tests/conftest.py +30 -0
  601. cumulusci/tasks/tests/test_command.py +129 -0
  602. cumulusci/tasks/tests/test_connectedapp.py +236 -0
  603. cumulusci/tasks/tests/test_create_package_version.py +847 -0
  604. cumulusci/tasks/tests/test_datadictionary.py +1575 -0
  605. cumulusci/tasks/tests/test_dx_convert_from.py +60 -0
  606. cumulusci/tasks/tests/test_metadeploy.py +624 -0
  607. cumulusci/tasks/tests/test_metaxml.py +99 -0
  608. cumulusci/tasks/tests/test_promote_package_version.py +488 -0
  609. cumulusci/tasks/tests/test_pushfails.py +96 -0
  610. cumulusci/tasks/tests/test_salesforce.py +72 -0
  611. cumulusci/tasks/tests/test_sfdx.py +105 -0
  612. cumulusci/tasks/tests/test_util.py +207 -0
  613. cumulusci/tasks/util.py +261 -0
  614. cumulusci/tasks/vcs/__init__.py +19 -0
  615. cumulusci/tasks/vcs/commit_status.py +58 -0
  616. cumulusci/tasks/vcs/create_commit_status.py +37 -0
  617. cumulusci/tasks/vcs/download_extract.py +199 -0
  618. cumulusci/tasks/vcs/merge.py +298 -0
  619. cumulusci/tasks/vcs/publish.py +207 -0
  620. cumulusci/tasks/vcs/pull_request.py +9 -0
  621. cumulusci/tasks/vcs/release.py +134 -0
  622. cumulusci/tasks/vcs/release_report.py +105 -0
  623. cumulusci/tasks/vcs/tag.py +31 -0
  624. cumulusci/tasks/vcs/tests/github/test_commit_status.py +196 -0
  625. cumulusci/tasks/vcs/tests/github/test_download_extract.py +896 -0
  626. cumulusci/tasks/vcs/tests/github/test_merge.py +1118 -0
  627. cumulusci/tasks/vcs/tests/github/test_publish.py +823 -0
  628. cumulusci/tasks/vcs/tests/github/test_pull_request.py +29 -0
  629. cumulusci/tasks/vcs/tests/github/test_release.py +390 -0
  630. cumulusci/tasks/vcs/tests/github/test_release_report.py +109 -0
  631. cumulusci/tasks/vcs/tests/github/test_tag.py +90 -0
  632. cumulusci/tasks/vlocity/exceptions.py +2 -0
  633. cumulusci/tasks/vlocity/tests/test_vlocity.py +283 -0
  634. cumulusci/tasks/vlocity/vlocity.py +342 -0
  635. cumulusci/tests/__init__.py +1 -0
  636. cumulusci/tests/cassettes/GET_sobjects_Account_PersonAccount_describe.yaml +18 -0
  637. cumulusci/tests/cassettes/TestIntegrationInfrastructure.test_integration_tests.yaml +19 -0
  638. cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +307 -0
  639. cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +275 -0
  640. cumulusci/tests/pytest_plugins/pytest_sf_vcr_serializer.py +160 -0
  641. cumulusci/tests/pytest_plugins/pytest_typeguard.py +5 -0
  642. cumulusci/tests/pytest_plugins/test_vcr_string_compressor.py +49 -0
  643. cumulusci/tests/pytest_plugins/vcr_string_compressor.py +97 -0
  644. cumulusci/tests/shared_cassettes/GET_sobjects_Account_describe.yaml +18 -0
  645. cumulusci/tests/shared_cassettes/GET_sobjects_Case_describe.yaml +18 -0
  646. cumulusci/tests/shared_cassettes/GET_sobjects_Contact_describe.yaml +4838 -0
  647. cumulusci/tests/shared_cassettes/GET_sobjects_Custom__c_describe.yaml +242 -0
  648. cumulusci/tests/shared_cassettes/GET_sobjects_Event_describe.yaml +19 -0
  649. cumulusci/tests/shared_cassettes/GET_sobjects_Global_describe.yaml +1338 -0
  650. cumulusci/tests/shared_cassettes/GET_sobjects_Lead_describe.yaml +18 -0
  651. cumulusci/tests/shared_cassettes/GET_sobjects_OpportunityContactRole_describe.yaml +34 -0
  652. cumulusci/tests/shared_cassettes/GET_sobjects_Opportunity_describe.yaml +1261 -0
  653. cumulusci/tests/shared_cassettes/GET_sobjects_Organization.yaml +49 -0
  654. cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfoList_xml.tpl +15 -0
  655. cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfo_xml.tpl +13 -0
  656. cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_insert_xml.tpl +24 -0
  657. cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_upsert_xml.tpl +25 -0
  658. cumulusci/tests/test_entry_points.py +20 -0
  659. cumulusci/tests/test_integration_infrastructure.py +131 -0
  660. cumulusci/tests/test_main.py +9 -0
  661. cumulusci/tests/test_schema.py +32 -0
  662. cumulusci/tests/test_utils.py +657 -0
  663. cumulusci/tests/test_vcr_serializer.py +134 -0
  664. cumulusci/tests/uncompressed_cassette.yaml +83 -0
  665. cumulusci/tests/util.py +344 -0
  666. cumulusci/utils/__init__.py +731 -0
  667. cumulusci/utils/classutils.py +9 -0
  668. cumulusci/utils/collections.py +32 -0
  669. cumulusci/utils/deprecation.py +11 -0
  670. cumulusci/utils/encryption.py +31 -0
  671. cumulusci/utils/fileutils.py +295 -0
  672. cumulusci/utils/git.py +142 -0
  673. cumulusci/utils/http/multi_request.py +214 -0
  674. cumulusci/utils/http/requests_utils.py +103 -0
  675. cumulusci/utils/http/tests/cassettes/ManualEditTestCompositeParallelSalesforce.test_http_headers.yaml +32 -0
  676. cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_composite_parallel_salesforce.yaml +65 -0
  677. cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_errors.yaml +24 -0
  678. cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_reference_ids.yaml +49 -0
  679. cumulusci/utils/http/tests/test_multi_request.py +255 -0
  680. cumulusci/utils/iterators.py +21 -0
  681. cumulusci/utils/logging.py +128 -0
  682. cumulusci/utils/metaprogramming.py +10 -0
  683. cumulusci/utils/options.py +138 -0
  684. cumulusci/utils/parallel/queries_in_parallel/run_queries_in_parallel.py +29 -0
  685. cumulusci/utils/parallel/queries_in_parallel/tests/test_run_queries_in_parallel.py +50 -0
  686. cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +238 -0
  687. cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +243 -0
  688. cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +353 -0
  689. cumulusci/utils/salesforce/count_sobjects.py +46 -0
  690. cumulusci/utils/salesforce/soql.py +17 -0
  691. cumulusci/utils/salesforce/tests/cassettes/ManualEdit_TestCountSObjects.test_count_sobjects__network_errors.yaml +23 -0
  692. cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects__errors.yaml +33 -0
  693. cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects_simple.yaml +29 -0
  694. cumulusci/utils/salesforce/tests/test_count_sobjects.py +29 -0
  695. cumulusci/utils/salesforce/tests/test_soql.py +30 -0
  696. cumulusci/utils/tests/cassettes/ManualEditTestDescribeOrg.test_minimal_schema.yaml +36 -0
  697. cumulusci/utils/tests/cassettes/ManualEdit_test_describe_to_sql.yaml +191 -0
  698. cumulusci/utils/tests/test_fileutils.py +284 -0
  699. cumulusci/utils/tests/test_git.py +85 -0
  700. cumulusci/utils/tests/test_logging.py +70 -0
  701. cumulusci/utils/tests/test_option_parsing.py +188 -0
  702. cumulusci/utils/tests/test_org_schema.py +691 -0
  703. cumulusci/utils/tests/test_org_schema_models.py +79 -0
  704. cumulusci/utils/tests/test_waiting.py +25 -0
  705. cumulusci/utils/version_strings.py +391 -0
  706. cumulusci/utils/waiting.py +42 -0
  707. cumulusci/utils/xml/__init__.py +91 -0
  708. cumulusci/utils/xml/metadata_tree.py +299 -0
  709. cumulusci/utils/xml/robot_xml.py +114 -0
  710. cumulusci/utils/xml/salesforce_encoding.py +100 -0
  711. cumulusci/utils/xml/test/test_metadata_tree.py +251 -0
  712. cumulusci/utils/xml/test/test_salesforce_encoding.py +173 -0
  713. cumulusci/utils/yaml/cumulusci_yml.py +401 -0
  714. cumulusci/utils/yaml/model_parser.py +156 -0
  715. cumulusci/utils/yaml/safer_loader.py +74 -0
  716. cumulusci/utils/yaml/tests/bad_cci.yml +5 -0
  717. cumulusci/utils/yaml/tests/cassettes/TestCumulusciYml.test_validate_url__with_errors.yaml +20 -0
  718. cumulusci/utils/yaml/tests/test_cumulusci_yml.py +286 -0
  719. cumulusci/utils/yaml/tests/test_model_parser.py +175 -0
  720. cumulusci/utils/yaml/tests/test_safer_loader.py +88 -0
  721. cumulusci/utils/ziputils.py +61 -0
  722. cumulusci/vcs/base.py +143 -0
  723. cumulusci/vcs/bootstrap.py +272 -0
  724. cumulusci/vcs/github/__init__.py +24 -0
  725. cumulusci/vcs/github/adapter.py +689 -0
  726. cumulusci/vcs/github/release_notes/generator.py +219 -0
  727. cumulusci/vcs/github/release_notes/parser.py +151 -0
  728. cumulusci/vcs/github/release_notes/provider.py +143 -0
  729. cumulusci/vcs/github/service.py +569 -0
  730. cumulusci/vcs/github/tests/test_adapter.py +138 -0
  731. cumulusci/vcs/github/tests/test_service.py +408 -0
  732. cumulusci/vcs/models.py +586 -0
  733. cumulusci/vcs/tests/conftest.py +41 -0
  734. cumulusci/vcs/tests/dummy_service.py +241 -0
  735. cumulusci/vcs/tests/test_vcs_base.py +687 -0
  736. cumulusci/vcs/tests/test_vcs_bootstrap.py +727 -0
  737. cumulusci/vcs/utils/__init__.py +31 -0
  738. cumulusci/vcs/vcs_source.py +287 -0
  739. cumulusci_plus-5.0.0.dist-info/METADATA +145 -0
  740. cumulusci_plus-5.0.0.dist-info/RECORD +744 -0
  741. cumulusci_plus-5.0.0.dist-info/WHEEL +4 -0
  742. cumulusci_plus-5.0.0.dist-info/entry_points.txt +3 -0
  743. cumulusci_plus-5.0.0.dist-info/licenses/AUTHORS.rst +41 -0
  744. cumulusci_plus-5.0.0.dist-info/licenses/LICENSE +30 -0
@@ -0,0 +1,1621 @@
1
+ cumulusci:
2
+ keychain: cumulusci.core.keychain.EncryptedFileProjectKeychain
3
+ tasks:
4
+ activate_flow:
5
+ group: Metadata Transformations
6
+ description: Activates Flows identified by a given list of Developer Names
7
+ class_path: cumulusci.tasks.salesforce.activate_flow.ActivateFlow
8
+ options:
9
+ status: True
10
+ deactivate_flow:
11
+ group: Metadata Transformations
12
+ description: deactivates Flows identified by a given list of Developer Names
13
+ class_path: cumulusci.tasks.salesforce.activate_flow.ActivateFlow
14
+ options:
15
+ status: False
16
+ add_page_layout_related_lists:
17
+ group: Metadata Transformations
18
+ description: Adds specified Related List to one or more Page Layouts.
19
+ class_path: cumulusci.tasks.metadata_etl.AddRelatedLists
20
+ options:
21
+ namespace_inject: $project_config.project__package__namespace
22
+ add_page_layout_fields:
23
+ group: Metadata Transformations
24
+ description: Adds specified Fields or Visualforce Pages to a Page Layout.
25
+ class_path: cumulusci.tasks.metadata_etl.layouts.AddFieldsToPageLayout
26
+ add_profile_ip_ranges:
27
+ group: Metadata Transformations
28
+ description: Adds (or optionally replaces) IP Login Ranges to the specified Profiles.
29
+ class_path: cumulusci.tasks.metadata_etl.permissions.AddIPRanges
30
+ add_standard_value_set_entries:
31
+ group: Metadata Transformations
32
+ description: Adds specified picklist entries to a Standard Value Set.
33
+ class_path: cumulusci.tasks.metadata_etl.AddValueSetEntries
34
+ options:
35
+ namespace_inject: $project_config.project__package__namespace
36
+ add_picklist_entries:
37
+ group: Metadata Transformations
38
+ description: Adds specified picklist entries to a custom picklist field.
39
+ class_path: cumulusci.tasks.metadata_etl.picklists.AddPicklistEntries
40
+ options:
41
+ namespace_inject: $project_config.project__package__namespace
42
+ add_fields_to_field_set:
43
+ group: Metadata Transformations
44
+ description: Adds specified fields to a given field set.
45
+ class_path: cumulusci.tasks.metadata_etl.field_sets.AddFieldsToFieldSet
46
+ add_permission_set_perms:
47
+ group: Metadata Transformations
48
+ description: Adds specified Apex class access and Field-Level Security to a Permission Set.
49
+ class_path: cumulusci.tasks.metadata_etl.AddPermissionSetPermissions
50
+ options:
51
+ namespace_inject: $project_config.project__package__namespace
52
+ add_record_action_list_item:
53
+ group: Metadata Transformations
54
+ description: "Adds the specified 'Record' context Lightning button/action to the provided page layout."
55
+ class_path: cumulusci.tasks.metadata_etl.layouts.AddRecordPlatformActionListItem
56
+ add_remote_site_settings:
57
+ group: Metadata Transformations
58
+ description: "Adds the specified RemoteSiteSettings records to an org."
59
+ class_path: cumulusci.tasks.metadata_etl.remote_site_settings.AddRemoteSiteSettings
60
+ assign_compact_layout:
61
+ group: Metadata Transformations
62
+ description: "Assigns the Compact Layout specified in the 'value' option to the Custom Objects in 'api_names' option."
63
+ class_path: cumulusci.tasks.metadata_etl.UpdateMetadataFirstChildTextTask
64
+ options:
65
+ namespace_inject: $project_config.project__package__namespace
66
+ metadata_type: CustomObject
67
+ tag: compactLayoutAssignment
68
+ assign_permission_sets:
69
+ group: Salesforce Users
70
+ description: "Assigns specified Permission Sets to the current user, if not already assigned."
71
+ class_path: cumulusci.tasks.salesforce.users.permsets.AssignPermissionSets
72
+ assign_permission_set_groups:
73
+ group: Salesforce Users
74
+ description: "Assigns specified Permission Set Groups to the current user, if not already assigned."
75
+ class_path: cumulusci.tasks.salesforce.users.permsets.AssignPermissionSetGroups
76
+ assign_permission_set_licenses:
77
+ group: Salesforce Users
78
+ description: "Assigns specified Permission Set Licenses to the current user, if not already assigned."
79
+ class_path: cumulusci.tasks.salesforce.users.permsets.AssignPermissionSetLicenses
80
+ batch_apex_wait:
81
+ description: Waits on a batch apex or queueable apex job to finish.
82
+ class_path: cumulusci.tasks.apex.batch.BatchApexWait
83
+ group: Salesforce
84
+ check_components:
85
+ description: "Check if common components exist in the target org based on provided deploy paths or those from a plan/flow."
86
+ class_path: cumulusci.tasks.salesforce.check_components.CheckComponents
87
+ group: Salesforce Preflight Checks
88
+ check_dataset_load:
89
+ description: Runs as a preflight check to determine whether dataset can be loaded successfully.
90
+ class_path: cumulusci.tasks.preflight.dataset_load.LoadDataSetCheck
91
+ group: Salesforce Preflight Checks
92
+ check_my_domain_active:
93
+ description: Runs as a preflight check to determine whether My Domain is active.
94
+ class_path: cumulusci.tasks.preflight.settings.CheckMyDomainActive
95
+ group: Salesforce Preflight Checks
96
+ check_sobjects_available:
97
+ description: Runs as a preflight check to determine whether specific sObjects are available.
98
+ class_path: cumulusci.tasks.preflight.sobjects.CheckSObjectsAvailable
99
+ group: Salesforce Preflight Checks
100
+ check_sobject_permissions:
101
+ description: Runs as a preflight check to determine whether specific sObjects are permissioned as desired (options are required).
102
+ class_path: cumulusci.tasks.preflight.sobjects.CheckSObjectPerms
103
+ group: Salesforce Preflight Checks
104
+ check_advanced_currency_management:
105
+ description: Runs as a preflight check to determine whether Advanced Currency Management is active (True result means the feature is active).
106
+ class_path: cumulusci.tasks.preflight.sobjects.CheckSObjectPerms
107
+ group: Salesforce Preflight Checks
108
+ options:
109
+ permissions:
110
+ DatedConversionRate:
111
+ createable: True
112
+ check_org_wide_defaults:
113
+ description: Runs as a preflight check to validate Organization-Wide Defaults.
114
+ class_path: cumulusci.tasks.preflight.sobjects.CheckSObjectOWDs
115
+ group: Salesforce Preflight Checks
116
+ check_org_settings_value:
117
+ description: Runs as a preflight check to validate organization settings.
118
+ class_path: cumulusci.tasks.preflight.settings.CheckSettingsValue
119
+ group: Salesforce Preflight Checks
120
+ check_chatter_enabled:
121
+ description: Runs as a preflight check to validate Chatter is enabled.
122
+ class_path: cumulusci.tasks.preflight.settings.CheckSettingsValue
123
+ group: Salesforce Preflight Checks
124
+ options:
125
+ settings_type: ChatterSettings
126
+ settings_field: IsChatterEnabled
127
+ value: True
128
+ check_enhanced_notes_enabled:
129
+ description: Preflight check to validate that Enhanced Notes are enabled.
130
+ group: Salesforce Preflight Checks
131
+ class_path: cumulusci.tasks.preflight.settings.CheckSettingsValue
132
+ options:
133
+ settings_type: EnhancedNotesSettings
134
+ settings_field: IsEnhancedNotesEnabled
135
+ value: True
136
+ retrieve_tasks:
137
+ description: Retrieves the tasks under the particular category or group
138
+ class_path: cumulusci.tasks.preflight.retrieve_tasks.RetrieveTasks
139
+ custom_settings_value_wait:
140
+ description: Waits for a specific field value on the specified custom settings object and field
141
+ class_path: cumulusci.tasks.salesforce.custom_settings_wait.CustomSettingValueWait
142
+ group: Salesforce
143
+ command:
144
+ description: Run an arbitrary command
145
+ class_path: cumulusci.tasks.command.Command
146
+ group: Utilities
147
+ composite_request:
148
+ description: Execute a series of REST API requests in a single call
149
+ class_path: cumulusci.tasks.salesforce.composite.CompositeApi
150
+ group: Data Operations
151
+ create_community:
152
+ description: Creates a Community in the target org using the Connect API
153
+ class_path: cumulusci.tasks.salesforce.CreateCommunity
154
+ group: Salesforce Communities
155
+ connected_app:
156
+ description: Creates the Connected App needed to use persistent orgs in the CumulusCI keychain
157
+ class_path: cumulusci.tasks.connectedapp.CreateConnectedApp
158
+ group: Setup
159
+ options:
160
+ label: CumulusCI
161
+ connect: True
162
+ overwrite: False
163
+ create_network_member_groups:
164
+ description: Creates NetworkMemberGroup records which grant access to an Experience Site (Community) for specified Profiles or Permission Sets
165
+ class_path: cumulusci.tasks.salesforce.network_member_group.CreateNetworkMemberGroups
166
+ group: Salesforce Communities
167
+ insert_record:
168
+ description: Inserts a record of any sObject using the REST API
169
+ class_path: cumulusci.tasks.salesforce.insert_record.InsertRecord
170
+ group: Data Operations
171
+ create_package:
172
+ description: Creates a package in the target org with the default package name for the project
173
+ class_path: cumulusci.tasks.salesforce.CreatePackage
174
+ group: Salesforce Packages
175
+ create_package_version:
176
+ description: Uploads a 2nd-generation package (2GP) version
177
+ class_path: cumulusci.tasks.create_package_version.CreatePackageVersion
178
+ group: Salesforce Packages
179
+ create_managed_src:
180
+ description: Modifies the src directory for managed deployment. Strips //cumulusci-managed from all Apex code
181
+ class_path: cumulusci.tasks.metadata.managed_src.CreateManagedSrc
182
+ options:
183
+ path: src
184
+ revert_path: src.orig
185
+ group: Salesforce Metadata
186
+ create_permission_set:
187
+ group: Metadata Transformations
188
+ description: Creates a Permission Set with specified User Permissions and assigns it to the running user.
189
+ class_path: cumulusci.tasks.salesforce.create_permission_sets.CreatePermissionSet
190
+ create_bulk_data_permission_set:
191
+ group: Data Operations
192
+ description: "Creates a Permission Set with the Hard Delete and Set Audit Fields user permissions. NOTE: the org setting to allow Set Audit Fields must be turned on."
193
+ class_path: cumulusci.tasks.salesforce.create_permission_sets.CreatePermissionSet
194
+ options:
195
+ api_name: CumulusCI_Bulk_Data
196
+ label: CumulusCI Bulk Data
197
+ user_permissions:
198
+ - PermissionsBulkApiHardDelete
199
+ - PermissionsCreateAuditFields
200
+ create_unmanaged_ee_src:
201
+ description: Modifies the src directory for unmanaged deployment to an EE org
202
+ class_path: cumulusci.tasks.metadata.ee_src.CreateUnmanagedEESrc
203
+ options:
204
+ path: src
205
+ revert_path: src.orig
206
+ group: Salesforce Metadata
207
+ create_blank_profile:
208
+ description: Creates a blank profile, or a profile with no permissions
209
+ class_path: cumulusci.tasks.salesforce.profiles.CreateBlankProfile
210
+ options:
211
+ license: Salesforce
212
+ group: Salesforce Metadata
213
+ retrieve_profile:
214
+ description: Given a list of profiles, the task retrieves all complete profiles along with their associated dependencies for all permissionable entities - ApexClass, ApexPage, CustomApplications, CustomObjects, CustomPermissions, CustomTabs, ExternalDataSources and Flows
215
+ class_path: cumulusci.tasks.salesforce.retrieve_profile.RetrieveProfile
216
+ group: Salesforce Metadata
217
+ delete_data:
218
+ description: Query existing data for a specific sObject and perform a Bulk API delete of all matching records.
219
+ class_path: cumulusci.tasks.bulkdata.DeleteData
220
+ group: Data Operations
221
+ update_data:
222
+ description: Update records of an sObject matching a where-clause.
223
+ class_path: cumulusci.tasks.bulkdata.update_data.UpdateData
224
+ group: Data Operations
225
+ deploy:
226
+ description: Deploys the src directory of the repository to the org
227
+ class_path: cumulusci.tasks.salesforce.Deploy
228
+ options:
229
+ path: src
230
+ group: Salesforce Metadata
231
+ deploy_marketing_cloud_package:
232
+ class_path: cumulusci.tasks.marketing_cloud.deploy.MarketingCloudDeployTask
233
+ description: Deploys a package zip file to a Marketing Cloud Tenant via the Marketing Cloud Package Manager API.
234
+ group: Marketing Cloud
235
+ marketing_cloud_create_subscriber_attribute:
236
+ class_path: cumulusci.tasks.marketing_cloud.api.CreateSubscriberAttribute
237
+ description: Creates a Subscriber Attribute via the Marketing Cloud SOAP API.
238
+ group: Marketing Cloud
239
+ marketing_cloud_create_user:
240
+ class_path: cumulusci.tasks.marketing_cloud.api.CreateUser
241
+ description: Creates a new User via the Marketing Cloud SOAP API.
242
+ group: Marketing Cloud
243
+ marketing_cloud_get_user_info:
244
+ class_path: cumulusci.tasks.marketing_cloud.get_user_info.GetUserInfoTask
245
+ description: Return user info retrieved from the /userinfo endpoint of the Marketing Cloud REST API.
246
+ group: Marketing Cloud
247
+ marketing_cloud_update_user_role:
248
+ class_path: cumulusci.tasks.marketing_cloud.api.UpdateUserRole
249
+ description: Assigns a Role to an existing User via the Marketing Cloud SOAP API.
250
+ group: Marketing Cloud
251
+ deploy_omni_studio_site_settings:
252
+ class_path: cumulusci.tasks.vlocity.vlocity.OmniStudioDeployRemoteSiteSettings
253
+ description: Deploys remote site settings needed for OmniStudio.
254
+ group: OmniStudio
255
+ deploy_pre:
256
+ description: Deploys all metadata bundles under unpackaged/pre/
257
+ class_path: cumulusci.tasks.salesforce.DeployBundles
258
+ options:
259
+ path: unpackaged/pre
260
+ group: Salesforce Metadata
261
+ deploy_post:
262
+ description: Deploys all metadata bundles under unpackaged/post/
263
+ class_path: cumulusci.tasks.salesforce.DeployBundles
264
+ options:
265
+ path: unpackaged/post
266
+ group: Salesforce Metadata
267
+ deploy_qa_config:
268
+ description: Deploys configuration for QA.
269
+ class_path: cumulusci.tasks.salesforce.Deploy
270
+ options:
271
+ path: unpackaged/config/qa
272
+ group: Salesforce Metadata
273
+ dx:
274
+ description: Execute an arbitrary Salesforce DX command against an org. Use the 'command' option to specify the command, such as 'package install'
275
+ class_path: cumulusci.tasks.sfdx.SFDXOrgTask
276
+ group: Salesforce DX
277
+ dx_convert_to:
278
+ description: Converts src directory metadata format into sfdx format under force-app
279
+ class_path: cumulusci.tasks.sfdx.SFDXBaseTask
280
+ options:
281
+ command: "project convert mdapi -r src"
282
+ group: Salesforce DX
283
+ dx_convert_from:
284
+ description: Converts force-app directory in sfdx format into metadata format under src
285
+ class_path: cumulusci.tasks.dx_convert_from.DxConvertFrom
286
+ options:
287
+ src_dir: src
288
+ group: Salesforce DX
289
+ enable_einstein_prediction:
290
+ description: Enable an Einstein Prediction Builder prediction.
291
+ class_path: cumulusci.tasks.salesforce.enable_prediction.EnablePrediction
292
+ group: "Salesforce Metadata"
293
+ ensure_record_types:
294
+ description: Ensure that a default Record Type is extant on the given standard sObject (custom objects are not supported). If Record Types are already present, do nothing.
295
+ class_path: cumulusci.tasks.salesforce.EnsureRecordTypes
296
+ options:
297
+ record_type_label: Default
298
+ record_type_developer_name: Default
299
+ group: "Salesforce Metadata"
300
+ execute_anon:
301
+ description: Execute anonymous apex via the tooling api.
302
+ class_path: cumulusci.tasks.apex.anon.AnonymousApexTask
303
+ group: Salesforce
304
+ generate_data_dictionary:
305
+ description: Create a data dictionary for the project in CSV format.
306
+ class_path: cumulusci.tasks.datadictionary.GenerateDataDictionary
307
+ options:
308
+ release_prefix: $project_config.project__git__prefix_release
309
+ generate_and_load_from_yaml:
310
+ class_path: cumulusci.tasks.bulkdata.generate_and_load_data_from_yaml.GenerateAndLoadDataFromYaml
311
+ group: Data Operations
312
+ get_installed_packages:
313
+ description: Retrieves a list of the currently installed managed package namespaces and their versions
314
+ class_path: cumulusci.tasks.preflight.packages.GetInstalledPackages
315
+ group: Salesforce Preflight Checks
316
+ get_available_licenses:
317
+ description: Retrieves a list of the currently available license definition keys
318
+ class_path: cumulusci.tasks.preflight.licenses.GetAvailableLicenses
319
+ group: Salesforce Preflight Checks
320
+ get_assignable_licenses:
321
+ description: Retrieves a list of the currently assignable license definition keys based on unused licenses
322
+ class_path: cumulusci.tasks.preflight.licenses.GetAssignableLicenses
323
+ group: Salesforce Preflight Checks
324
+ get_available_permission_set_licenses:
325
+ description: Retrieves a list of the currently available Permission Set License definition keys
326
+ class_path: cumulusci.tasks.preflight.licenses.GetAvailablePermissionSetLicenses
327
+ group: Salesforce Preflight Checks
328
+ get_assigned_permission_sets:
329
+ description: Retrieves a list of the developer names of any permission sets assigned to the running user.
330
+ class_path: cumulusci.tasks.preflight.permsets.GetPermissionSetAssignments
331
+ group: Salesforce Preflight Checks
332
+ get_assigned_permission_set_licenses:
333
+ description: Retrieves a list of the developer names of any Permission Set Licenses assigned to the running user.
334
+ class_path: cumulusci.tasks.preflight.licenses.GetPermissionLicenseSetAssignments
335
+ group: Salesforce Preflight Checks
336
+ get_available_permission_sets:
337
+ description: Retrieves a list of the currently available Permission Sets
338
+ class_path: cumulusci.tasks.preflight.licenses.GetAvailablePermissionSets
339
+ group: Salesforce Preflight Checks
340
+ get_assignable_permission_sets:
341
+ description: Retrieves a list of the currently assignable Permission Sets based on unused associated user licenses
342
+ class_path: cumulusci.tasks.preflight.licenses.GetAssignablePermissionSets
343
+ group: Salesforce Preflight Checks
344
+ get_existing_record_types:
345
+ description: "Retrieves all Record Types in the org as a dict, with sObject names as keys and lists of Developer Names as values."
346
+ class_path: cumulusci.tasks.preflight.recordtypes.CheckSObjectRecordTypes
347
+ group: Salesforce Preflight Checks
348
+ get_existing_sites:
349
+ description: "Retrieves a list of any existing Experience Cloud site names in the org."
350
+ class_path: cumulusci.tasks.salesforce.ListCommunities
351
+ group: Salesforce Preflight Checks
352
+ github_parent_pr_notes:
353
+ description: Merges the description of a child pull request to the respective parent's pull request (if one exists).
354
+ class_path: cumulusci.tasks.release_notes.task.ParentPullRequestNotes
355
+ group: GitHub
356
+ vcs_parent_pr_notes:
357
+ description: Merges the description of a child pull request to the respective parent's pull request (if one exists).
358
+ class_path: cumulusci.tasks.release_notes.task.ParentPullRequestNotes
359
+ group: VCS
360
+ github_clone_tag:
361
+ description: Clones a github tag under a new name.
362
+ class_path: cumulusci.tasks.github.CloneTag
363
+ group: GitHub
364
+ vcs_clone_tag:
365
+ description: Clones a VCS tag under a new name.
366
+ class_path: cumulusci.tasks.vcs.CloneTag
367
+ group: VCS
368
+ github_automerge_main:
369
+ description: Merges the latest commit on the main branch into all open feature branches
370
+ class_path: cumulusci.tasks.github.MergeBranch
371
+ group: GitHub
372
+ vcs_automerge_main:
373
+ description: Merges the latest commit on the main branch into all open feature branches
374
+ class_path: cumulusci.tasks.vcs.MergeBranch
375
+ group: VCS
376
+ github_automerge_feature:
377
+ description: Merges the latest commit on a source branch to all child branches.
378
+ class_path: cumulusci.tasks.github.MergeBranch
379
+ options:
380
+ source_branch: $project_config.repo_branch
381
+ group: GitHub
382
+ vcs_automerge_feature:
383
+ description: Merges the latest commit on a source branch to all child branches.
384
+ class_path: cumulusci.tasks.vcs.MergeBranch
385
+ options:
386
+ source_branch: $project_config.repo_branch
387
+ group: VCS
388
+ github_copy_subtree:
389
+ description: Copies one or more subtrees from the project repository for a given release to a target repository, with the option to include release notes.
390
+ class_path: cumulusci.tasks.github.publish.PublishSubtree
391
+ group: GitHub
392
+ vcs_copy_subtree:
393
+ description: Copies one or more subtrees from the project repository for a given release to a target repository, with the option to include release notes.
394
+ class_path: cumulusci.tasks.vcs.publish.PublishSubtree
395
+ group: VCS
396
+ github_package_data:
397
+ description: Look up 2gp package dependencies for a version id recorded in a commit status.
398
+ class_path: cumulusci.tasks.github.commit_status.GetPackageDataFromCommitStatus
399
+ group: GitHub
400
+ vcs_package_data:
401
+ description: Look up 2gp package dependencies for a version id recorded in a commit status.
402
+ class_path: cumulusci.tasks.vcs.commit_status.GetPackageDataFromCommitStatus
403
+ group: VCS
404
+ vcs_create_package_data:
405
+ description: Create a 2gp package version id reference in a commit status.
406
+ class_path: cumulusci.tasks.vcs.create_commit_status.CreatePackageDataFromCommitStatus
407
+ group: VCS
408
+ github_pull_requests:
409
+ description: Lists open pull requests in project Github repository
410
+ class_path: cumulusci.tasks.github.PullRequests
411
+ group: GitHub
412
+ vcs_pull_requests:
413
+ description: Lists open pull requests in project VCS repository
414
+ class_path: cumulusci.tasks.vcs.PullRequests
415
+ group: VCS
416
+ github_release:
417
+ description: Creates a Github release for a given managed package version number
418
+ class_path: cumulusci.tasks.github.CreateRelease
419
+ group: GitHub
420
+ vcs_release:
421
+ description: Creates a VCS release for a given managed package version number
422
+ class_path: cumulusci.tasks.vcs.CreateRelease
423
+ group: VCS
424
+ gather_release_notes:
425
+ description: Generates release notes by getting the latest release of each repository
426
+ class_path: cumulusci.tasks.release_notes.task.AllGithubReleaseNotes
427
+ group: GitHub
428
+ vcs_gather_release_notes:
429
+ description: Generates release notes by getting the latest release of each repository
430
+ class_path: cumulusci.tasks.release_notes.task.AllVcsReleaseNotes
431
+ group: VCS
432
+ github_release_notes:
433
+ description: Generates release notes by parsing pull request bodies of merged pull requests between two tags
434
+ class_path: cumulusci.tasks.release_notes.task.GithubReleaseNotes
435
+ group: GitHub
436
+ vcs_release_notes:
437
+ description: Generates release notes by parsing pull request bodies of merged pull requests between two tags
438
+ class_path: cumulusci.tasks.release_notes.task.VcsReleaseNotes
439
+ group: VCS
440
+ github_release_report:
441
+ description: Parses GitHub release notes to report various info
442
+ class_path: cumulusci.tasks.github.ReleaseReport
443
+ group: GitHub
444
+ install_managed:
445
+ description: Install the latest managed production release
446
+ class_path: cumulusci.tasks.salesforce.InstallPackageVersion
447
+ options:
448
+ version: latest
449
+ group: Salesforce Packages
450
+ install_managed_beta:
451
+ description: Installs the latest managed beta release
452
+ class_path: cumulusci.tasks.salesforce.InstallPackageVersion
453
+ options:
454
+ version: latest_beta
455
+ group: Salesforce Packages
456
+ list_communities:
457
+ description: Lists Communities for the current org using the Connect API.
458
+ class_path: cumulusci.tasks.salesforce.ListCommunities
459
+ group: Salesforce Communities
460
+ list_community_templates:
461
+ description: Prints the Community Templates available to the current org
462
+ class_path: cumulusci.tasks.salesforce.ListCommunityTemplates
463
+ group: Salesforce Communities
464
+ list_files:
465
+ description: Display documents that has been uploaded to a library in Salesforce CRM Content or Salesforce Files.
466
+ class_path: cumulusci.tasks.salesforce.salesforce_files.ListFiles
467
+ group: Salesforce Metadata
468
+ list_metadata_types:
469
+ description: Prints the metadata types in a project
470
+ class_path: cumulusci.tasks.util.ListMetadataTypes
471
+ group: Salesforce Metadata
472
+ list_nonsource_trackable_components:
473
+ description: List the components of non source trackable Metadata types.
474
+ class_path: cumulusci.tasks.salesforce.nonsourcetracking.ListComponents
475
+ group: Salesforce Metadata
476
+ list_nonsource_trackable_metadatatypes:
477
+ description: Returns non source trackable metadata types supported by org
478
+ class_path: cumulusci.tasks.salesforce.nonsourcetracking.ListNonSourceTrackable
479
+ group: Salesforce Metadata
480
+ meta_xml_apiversion:
481
+ description: Set the API version in ``*meta.xml`` files
482
+ class_path: cumulusci.tasks.metaxml.UpdateApi
483
+ group: Salesforce Metadata
484
+ meta_xml_dependencies:
485
+ description: Set the version for dependent packages
486
+ class_path: cumulusci.tasks.metaxml.UpdateDependencies
487
+ group: Salesforce Metadata
488
+ metadeploy_publish:
489
+ description: Publish a release to the MetaDeploy web installer
490
+ class_path: cumulusci.tasks.metadeploy.Publish
491
+ group: Release Operations
492
+ org_settings:
493
+ description: Apply org settings from a scratch org definition file or dict
494
+ class_path: cumulusci.tasks.salesforce.org_settings.DeployOrgSettings
495
+ group: Salesforce DX
496
+ promote_package_version:
497
+ description: Promote a 2gp package so that it can be installed in a production org
498
+ class_path: cumulusci.tasks.salesforce.promote_package_version.PromotePackageVersion
499
+ group: Release Operations
500
+ publish_community:
501
+ description: Publishes a Community in the target org using the Connect API
502
+ class_path: cumulusci.tasks.salesforce.PublishCommunity
503
+ group: Salesforce Communities
504
+ push_all:
505
+ description: Schedules a push upgrade of a package version to all subscribers
506
+ class_path: cumulusci.tasks.push.tasks.SchedulePushOrgQuery
507
+ group: Push Upgrades
508
+ push_list:
509
+ description: Schedules a push upgrade of a package version to all orgs listed in the specified file
510
+ class_path: cumulusci.tasks.push.tasks.SchedulePushOrgList
511
+ group: Push Upgrades
512
+ push_qa:
513
+ description: Schedules a push upgrade of a package version to all orgs listed in push/orgs_qa.txt
514
+ class_path: cumulusci.tasks.push.tasks.SchedulePushOrgList
515
+ options:
516
+ orgs: push/orgs_qa.txt
517
+ group: Push Upgrades
518
+ push_sandbox:
519
+ description: Schedules a push upgrade of a package version to sandbox orgs
520
+ class_path: cumulusci.tasks.push.tasks.SchedulePushOrgQuery
521
+ options:
522
+ subscriber_where: "OrgType = 'Sandbox'"
523
+ group: Push Upgrades
524
+ push_trial:
525
+ description: Schedules a push upgrade of a package version to Trialforce Template orgs listed in push/orgs_trial.txt
526
+ class_path: cumulusci.tasks.push.tasks.SchedulePushOrgList
527
+ options:
528
+ orgs: push/orgs_trial.txt
529
+ group: Push Upgrades
530
+ push_failure_report:
531
+ description: Produce a CSV report of the failed and otherwise anomalous push jobs.
532
+ class_path: cumulusci.tasks.push.pushfails.ReportPushFailures
533
+ options:
534
+ ignore_errors:
535
+ - "Salesforce Subscription Expired"
536
+ - "Package Uninstalled"
537
+ group: Push Upgrades
538
+ query:
539
+ description: Queries the connected org
540
+ class_path: cumulusci.tasks.salesforce.SOQLQuery
541
+ group: Salesforce Bulk API
542
+ retrieve_packaged:
543
+ description: Retrieves the packaged metadata from the org
544
+ class_path: cumulusci.tasks.salesforce.RetrievePackaged
545
+ options:
546
+ path: packaged
547
+ group: Salesforce Metadata
548
+ describe_metadatatypes:
549
+ class_path: cumulusci.tasks.salesforce.DescribeMetadataTypes
550
+ description: Retrieves the metadata types supported by the org based on the api version
551
+ group: Salesforce Metadata
552
+ retrieve_src:
553
+ description: Retrieves the packaged metadata into the src directory
554
+ class_path: cumulusci.tasks.salesforce.RetrievePackaged
555
+ options:
556
+ path: src
557
+ group: Salesforce Metadata
558
+ retrieve_unpackaged:
559
+ description: Retrieve the contents of a package.xml file.
560
+ class_path: cumulusci.tasks.salesforce.RetrieveUnpackaged
561
+ list_changes:
562
+ description: List the changes from a scratch org
563
+ class_path: cumulusci.tasks.salesforce.sourcetracking.ListChanges
564
+ group: Salesforce Metadata
565
+ retrieve_changes:
566
+ description: Retrieve changed components from a scratch org
567
+ class_path: cumulusci.tasks.salesforce.sourcetracking.RetrieveChanges
568
+ group: Salesforce Metadata
569
+ retrieve_nonsource_trackable:
570
+ description: Retrieves the non source trackable components filtered
571
+ class_path: cumulusci.tasks.salesforce.nonsourcetracking.RetrieveComponents
572
+ group: Salesforce Metadata
573
+ retrieve_qa_config:
574
+ description: Retrieves the current changes in the scratch org into unpackaged/config/qa
575
+ class_path: cumulusci.tasks.salesforce.sourcetracking.RetrieveChanges
576
+ options:
577
+ path: unpackaged/config/qa
578
+ namespace_tokenize: $project_config.project__package__namespace
579
+ group: Salesforce Metadata
580
+ set_field_help_text:
581
+ group: Metadata Transformations
582
+ description: Sets specified fields' Help Text values.
583
+ class_path: cumulusci.tasks.metadata_etl.help_text.SetFieldHelpText
584
+ options:
585
+ namespace_inject: $project_config.project__package__namespace
586
+ snapshot_changes:
587
+ description: Tell SFDX source tracking to ignore previous changes in a scratch org
588
+ class_path: cumulusci.tasks.salesforce.sourcetracking.SnapshotChanges
589
+ group: Salesforce Metadata
590
+ snowfakery:
591
+ description: Generate and load data from a Snowfakery recipe
592
+ class_path: cumulusci.tasks.bulkdata.snowfakery.Snowfakery
593
+ group: Data Operations
594
+ options:
595
+ recipe: datasets/recipe.yml
596
+ retrieve_files:
597
+ description: Retrieve documents that have been uploaded to a library in Salesforce CRM Content or Salesforce Files.
598
+ class_path: cumulusci.tasks.salesforce.salesforce_files.RetrieveFiles
599
+ group: Salesforce Metadata
600
+ revert_managed_src:
601
+ description: Reverts the changes from create_managed_src
602
+ class_path: cumulusci.tasks.metadata.managed_src.RevertManagedSrc
603
+ options:
604
+ path: src
605
+ revert_path: src.orig
606
+ group: Salesforce Metadata
607
+ revert_unmanaged_ee_src:
608
+ description: Reverts the changes from create_unmanaged_ee_src
609
+ class_path: cumulusci.tasks.metadata.ee_src.RevertUnmanagedEESrc
610
+ options:
611
+ path: src
612
+ revert_path: src.orig
613
+ group: Salesforce Metadata
614
+ robot:
615
+ description: Runs a Robot Framework test from a .robot file
616
+ class_path: cumulusci.tasks.robotframework.Robot
617
+ options:
618
+ suites: tests
619
+ group: Robot Framework
620
+ robot_libdoc:
621
+ description: Generates documentation for project keyword files
622
+ class_path: cumulusci.tasks.robotframework.RobotLibDoc
623
+ options:
624
+ output: Keywords.html
625
+ title: $project_config.project__package__name
626
+ group: Robot Framework
627
+ robot_testdoc:
628
+ description: Generates html documentation of your Robot test suite and writes to tests/test_suite.
629
+ class_path: cumulusci.tasks.robotframework.RobotTestDoc
630
+ options:
631
+ path: tests
632
+ output: tests/test_suites.html
633
+ group: Robot Framework
634
+ run_tests:
635
+ description: Runs all apex tests
636
+ class_path: cumulusci.tasks.apex.testrunner.RunApexTests
637
+ group: Salesforce
638
+ set_duplicate_rule_status:
639
+ group: Metadata Transformations
640
+ description: Sets the active status of Duplicate Rules.
641
+ class_path: cumulusci.tasks.metadata_etl.SetDuplicateRuleStatus
642
+ options:
643
+ namespace_inject: $project_config.project__package__namespace
644
+ set_object_settings:
645
+ description: Enable and disable object level settings on standard and custom objects
646
+ class_path: cumulusci.tasks.metadata_etl.SetObjectSettings
647
+ group: Metadata Transformations
648
+ set_organization_wide_defaults:
649
+ group: Metadata Transformations
650
+ description: Sets the Organization-Wide Defaults for specific sObjects, and waits for sharing recalculation to complete.
651
+ class_path: cumulusci.tasks.metadata_etl.SetOrgWideDefaults
652
+ options:
653
+ namespace_inject: $project_config.project__package__namespace
654
+ strip_unwanted_components:
655
+ description: Removes components from src folder which are not mentioned in given package.xml file
656
+ class_path: cumulusci.tasks.metadata.package.RemoveUnwantedComponents
657
+ options:
658
+ path: src
659
+ package_xml: src/package.xml
660
+ group: Salesforce Metadata
661
+ uninstall_managed:
662
+ description: Uninstalls the managed version of the package
663
+ class_path: cumulusci.tasks.salesforce.UninstallPackage
664
+ group: Salesforce Packages
665
+ uninstall_packaged:
666
+ description: Uninstalls all deleteable metadata in the package in the target org
667
+ class_path: cumulusci.tasks.salesforce.UninstallPackaged
668
+ group: Salesforce Metadata
669
+ uninstall_packaged_incremental:
670
+ description: Deletes any metadata from the package in the target org not in the local workspace
671
+ class_path: cumulusci.tasks.salesforce.UninstallPackagedIncremental
672
+ group: Salesforce Metadata
673
+ uninstall_src:
674
+ description: Uninstalls all metadata in the local src directory
675
+ class_path: cumulusci.tasks.salesforce.UninstallLocal
676
+ options:
677
+ path: src
678
+ group: Salesforce Metadata
679
+ uninstall_pre:
680
+ description: Uninstalls the unpackaged/pre bundles
681
+ class_path: cumulusci.tasks.salesforce.UninstallLocalBundles
682
+ options:
683
+ path: unpackaged/pre
684
+ group: Salesforce Metadata
685
+ uninstall_post:
686
+ description: Uninstalls the unpackaged/post bundles
687
+ class_path: cumulusci.tasks.salesforce.UninstallLocalNamespacedBundles
688
+ options:
689
+ path: unpackaged/post
690
+ filename_token: ___NAMESPACE___
691
+ group: Salesforce Metadata
692
+ unschedule_apex:
693
+ description: Unschedule all scheduled apex jobs (CronTriggers).
694
+ class_path: cumulusci.tasks.apex.anon.AnonymousApexTask
695
+ options:
696
+ apex: "for (CronTrigger t : [SELECT Id FROM CronTrigger]) { System.abortJob(t.Id); }"
697
+ group: Salesforce
698
+ update_admin_profile:
699
+ name: Update Admin Profile
700
+ description: Retrieves, edits, and redeploys the Admin.profile with full FLS perms for all objects/fields
701
+ class_path: cumulusci.tasks.salesforce.ProfileGrantAllAccess
702
+ group: Salesforce Metadata
703
+ update_dependencies:
704
+ description: Installs all dependencies in project__dependencies into the target org
705
+ class_path: cumulusci.tasks.salesforce.UpdateDependencies
706
+ group: Salesforce Packages
707
+ update_metadata_first_child_text:
708
+ group: Metadata Transformations
709
+ description: Updates the text of the first child of Metadata with matching tag. Adds a child for tag if it does not exist.
710
+ class_path: cumulusci.tasks.metadata_etl.UpdateMetadataFirstChildTextTask
711
+ options:
712
+ namespace_inject: $project_config.project__package__namespace
713
+ update_package_xml:
714
+ description: Updates src/package.xml with metadata in src/
715
+ class_path: cumulusci.tasks.metadata.package.UpdatePackageXml
716
+ options:
717
+ path: src
718
+ group: Salesforce Metadata
719
+ upload_beta:
720
+ description: Uploads a beta release of the metadata currently in the packaging org
721
+ class_path: cumulusci.tasks.salesforce.PackageUpload
722
+ group: Release Operations
723
+ upload_files:
724
+ description: Upload documents (files) to a Salesforce org.
725
+ class_path: cumulusci.tasks.salesforce.salesforce_files.UploadFiles
726
+ group: Salesforce Metadata
727
+ upload_production:
728
+ description: Uploads a production release of the metadata currently in the packaging org
729
+ class_path: cumulusci.tasks.salesforce.PackageUpload
730
+ options:
731
+ name: Release
732
+ production: True
733
+ group: Release Operations
734
+ upload_user_profile_photo:
735
+ group: Salesforce Users
736
+ description: Uploads a profile photo for a specified or default User.
737
+ class_path: cumulusci.tasks.salesforce.users.photos.UploadProfilePhoto
738
+ util_sleep:
739
+ description: Sleeps for N seconds
740
+ class_path: cumulusci.tasks.util.Sleep
741
+ options:
742
+ seconds: 5
743
+ group: Utilities
744
+ log:
745
+ description: Log a line at the info level.
746
+ class_path: cumulusci.tasks.util.LogLine
747
+ options:
748
+ level: info
749
+ group: Utilities
750
+ download_extract:
751
+ description: Downloads files and folders from a VCS repository.
752
+ class_path: cumulusci.tasks.vcs.download_extract.DownloadExtract
753
+ group: VCS
754
+ generate_dataset_mapping:
755
+ description: Create a mapping for extracting data from an org.
756
+ class_path: cumulusci.tasks.bulkdata.GenerateMapping
757
+ options:
758
+ namespace_prefix: $project_config.project__package__namespace
759
+ path: "datasets/mapping.yml"
760
+ group: "Data Operations"
761
+ extract_dataset:
762
+ description: Extract a sample dataset using the bulk API.
763
+ class_path: cumulusci.tasks.bulkdata.ExtractData
764
+ options:
765
+ mapping: "datasets/mapping.yml"
766
+ sql_path: "datasets/sample.sql"
767
+ group: "Data Operations"
768
+ load_dataset:
769
+ description: Load a SQL dataset using the bulk API.
770
+ class_path: cumulusci.tasks.bulkdata.load.LoadData
771
+ group: "Data Operations"
772
+ load_sample_data:
773
+ description: Load a saved sample dataset (experimental)
774
+ class_path: cumulusci.tasks.sample_data.load_sample_data.LoadSampleData
775
+ group: "Sample Data"
776
+ capture_sample_data:
777
+ description: Load a saved sample dataset (experimental)
778
+ class_path: cumulusci.tasks.sample_data.capture_sample_data.CaptureSampleData
779
+ group: "Sample Data"
780
+ load_custom_settings:
781
+ description: Load Custom Settings specified in a YAML file to the target org
782
+ class_path: cumulusci.tasks.salesforce.LoadCustomSettings
783
+ group: "Data Operations"
784
+ remove_metadata_xml_elements:
785
+ description: Remove specified XML elements from one or more metadata files
786
+ class_path: cumulusci.tasks.metadata.modify.RemoveElementsXPath
787
+ group: Salesforce Metadata
788
+ disable_tdtm_trigger_handlers:
789
+ class_path: cumulusci.tasks.salesforce.trigger_handlers.SetTDTMHandlerStatus
790
+ description: "Disable specified TDTM trigger handlers"
791
+ group: NPSP/EDA
792
+ options:
793
+ active: False
794
+ restore_tdtm_trigger_handlers:
795
+ class_path: cumulusci.tasks.salesforce.trigger_handlers.SetTDTMHandlerStatus
796
+ description: "Restore status of TDTM trigger handlers"
797
+ group: NPSP/EDA
798
+ options:
799
+ restore: True
800
+ vlocity_pack_export:
801
+ class_path: cumulusci.tasks.vlocity.vlocity.VlocityRetrieveTask
802
+ description: "Executes the `vlocity packExport` command against an org"
803
+ group: OmniStudio
804
+ vlocity_pack_deploy:
805
+ class_path: cumulusci.tasks.vlocity.vlocity.VlocityDeployTask
806
+ description: "Executes the `vlocity packDeploy` command against an org"
807
+ group: OmniStudio
808
+ flows:
809
+ ci_beta:
810
+ group: Continuous Integration
811
+ description: Install the latest beta version and runs apex tests from the managed package
812
+ steps:
813
+ 1:
814
+ flow: install_beta
815
+ 2:
816
+ task: run_tests
817
+ ci_feature:
818
+ group: Continuous Integration
819
+ description: Prepare an unmanaged metadata test org and run Apex tests. Intended for use against feature branch commits.
820
+ steps:
821
+ 0.5:
822
+ task: vcs_parent_pr_notes
823
+ options:
824
+ branch_name: $project_config.repo_branch
825
+ build_notes_label: "Build Change Notes"
826
+ 1:
827
+ flow: dependencies
828
+ options:
829
+ update_dependencies:
830
+ resolution_strategy: preproduction
831
+ 2:
832
+ flow: deploy_unmanaged
833
+ 3:
834
+ flow: config_apextest
835
+ 4:
836
+ task: run_tests
837
+ 5:
838
+ task: vcs_automerge_feature
839
+ when: project_config.repo_branch and project_config.repo_branch.startswith(project_config.project__git__prefix_feature)
840
+ ci_feature_beta_deps:
841
+ group: Continuous Integration
842
+ description: This flow is deprecated. Please use ci_feature instead.
843
+ steps:
844
+ 0.5:
845
+ task: vcs_parent_pr_notes
846
+ options:
847
+ branch_name: $project_config.repo_branch
848
+ build_notes_label: "Build Change Notes"
849
+ 1:
850
+ flow: dependencies
851
+ options:
852
+ update_dependencies:
853
+ resolution_strategy: preproduction
854
+ 2:
855
+ flow: deploy_unmanaged
856
+ 3:
857
+ flow: config_apextest
858
+ 4:
859
+ task: run_tests
860
+ 5:
861
+ task: vcs_automerge_feature
862
+ when: project_config.repo_branch and project_config.repo_branch.startswith(project_config.project__git__prefix_feature)
863
+ ci_feature_2gp:
864
+ group: Continuous Integration
865
+ description: Install as a managed 2gp package and run Apex tests. Intended for use after build_feature_test_package.
866
+ steps:
867
+ 1:
868
+ flow: install_2gp_commit
869
+ 2:
870
+ flow: config_apextest
871
+ 3:
872
+ task: run_tests
873
+ ci_master:
874
+ group: Continuous Integration
875
+ description: Deploy the package metadata to the packaging org and prepare for managed package version upload. Intended for use against main branch commits.
876
+ steps:
877
+ 1:
878
+ flow: dependencies
879
+ options:
880
+ update_dependencies:
881
+ resolution_strategy: production
882
+ 2:
883
+ flow: deploy_packaging
884
+ 3:
885
+ flow: config_packaging
886
+ ci_release:
887
+ group: Continuous Integration
888
+ description: Install a production release version and runs tests from the managed package
889
+ steps:
890
+ 1:
891
+ flow: install_prod
892
+ 2:
893
+ task: run_tests
894
+ config_apextest:
895
+ group: Post-Install Configuration
896
+ description: Configure an org to run apex tests after package metadata is deployed
897
+ steps:
898
+ 1:
899
+ task: deploy_post
900
+ 2:
901
+ task: update_admin_profile
902
+ config_dev:
903
+ group: Post-Install Configuration
904
+ description: Configure an org for use as a dev org after package metadata is deployed
905
+ steps:
906
+ 1:
907
+ task: deploy_post
908
+ 2:
909
+ task: update_admin_profile
910
+ 90:
911
+ task: load_sample_data
912
+ config_managed:
913
+ group: Post-Install Configuration
914
+ description: Configure an org for use after the managed package has been installed.
915
+ steps:
916
+ 1:
917
+ task: deploy_post
918
+ 2:
919
+ task: update_admin_profile
920
+ 90:
921
+ task: load_sample_data
922
+ config_packaging:
923
+ group: Post-Install Configuration
924
+ description: Configure packaging org for upload after package metadata is deployed
925
+ steps:
926
+ 1:
927
+ task: update_admin_profile
928
+ config_qa:
929
+ group: Post-Install Configuration
930
+ description: Configure an org for use as a QA org after package metadata is deployed
931
+ steps:
932
+ 1:
933
+ task: deploy_post
934
+ 2:
935
+ task: update_admin_profile
936
+ 90:
937
+ task: load_sample_data
938
+ config_regression:
939
+ group: Post-Install Configuration
940
+ description: Configure an org for QA regression after the package is installed
941
+ steps:
942
+ 1:
943
+ flow: config_managed
944
+ dependencies:
945
+ group: Dependency Management
946
+ description: Deploy dependencies to prepare the org environment for the package metadata
947
+ steps:
948
+ 1:
949
+ task: update_dependencies
950
+ 2:
951
+ task: deploy_pre
952
+ beta_dependencies:
953
+ group: Dependency Management
954
+ description: "This flow is deprecated. Please use the `dependencies` flow and set the `include_beta` option on the first task, `update_dependencies`. Deploy the latest (beta) version of dependencies to prepare the org environment for the package metadata"
955
+ steps:
956
+ 1:
957
+ task: update_dependencies
958
+ options:
959
+ resolution_strategy: preproduction
960
+ 2:
961
+ task: deploy_pre
962
+ deploy_unmanaged:
963
+ group: Deployment
964
+ description: Deploy the unmanaged metadata from the package
965
+ steps:
966
+ 0:
967
+ task: dx_convert_from
968
+ when: project_config.project__source_format == "sfdx" and not org_config.scratch
969
+ 1:
970
+ task: unschedule_apex
971
+ 2:
972
+ task: update_package_xml
973
+ when: project_config.project__source_format != "sfdx" or not org_config.scratch
974
+ 3:
975
+ task: deploy
976
+ when: project_config.project__source_format != "sfdx" or not org_config.scratch
977
+ 3.1:
978
+ task: deploy
979
+ options:
980
+ path: force-app
981
+ when: project_config.project__source_format == "sfdx" and org_config.scratch
982
+ 4:
983
+ task: uninstall_packaged_incremental
984
+ when: project_config.project__source_format != "sfdx" or not org_config.scratch
985
+ 5:
986
+ task: snapshot_changes
987
+ deploy_unmanaged_ee:
988
+ group: Deployment
989
+ description: Deploy the unmanaged metadata from the package to an Enterprise Edition org
990
+ steps:
991
+ 0:
992
+ task: dx_convert_from
993
+ when: project_config.project__source_format == "sfdx"
994
+ 1:
995
+ task: unschedule_apex
996
+ 2:
997
+ task: update_package_xml
998
+ 3:
999
+ task: create_unmanaged_ee_src
1000
+ 4:
1001
+ task: deploy
1002
+ 5:
1003
+ task: revert_unmanaged_ee_src
1004
+ 6:
1005
+ task: uninstall_packaged_incremental
1006
+ options:
1007
+ purge_on_delete: False
1008
+ deploy_packaging:
1009
+ group: Deployment
1010
+ description: Process and deploy the package metadata to the packaging org
1011
+ steps:
1012
+ 0:
1013
+ task: dx_convert_from
1014
+ when: project_config.project__source_format == "sfdx"
1015
+ 1:
1016
+ task: unschedule_apex
1017
+ 2:
1018
+ task: create_managed_src
1019
+ 3:
1020
+ task: update_package_xml
1021
+ options:
1022
+ managed: True
1023
+ 4:
1024
+ task: deploy
1025
+ 5:
1026
+ task: revert_managed_src
1027
+ 6:
1028
+ task: uninstall_packaged_incremental
1029
+ dev_org:
1030
+ group: Org Setup
1031
+ description: Set up an org as a development environment for unmanaged metadata
1032
+ steps:
1033
+ 1:
1034
+ flow: dependencies
1035
+ options:
1036
+ update_dependencies:
1037
+ resolution_strategy: preproduction
1038
+ 2:
1039
+ flow: deploy_unmanaged
1040
+ 3:
1041
+ flow: config_dev
1042
+ 4:
1043
+ task: snapshot_changes
1044
+ dev_org_beta_deps:
1045
+ group: Org Setup
1046
+ description: This flow is deprecated. Please use dev_org instead.
1047
+ steps:
1048
+ 1:
1049
+ flow: dependencies
1050
+ options:
1051
+ update_dependencies:
1052
+ resolution_strategy: preproduction
1053
+ 2:
1054
+ flow: deploy_unmanaged
1055
+ 3:
1056
+ flow: config_dev
1057
+ dev_org_namespaced:
1058
+ group: Org Setup
1059
+ description: Set up a namespaced scratch org as a development environment for unmanaged metadata
1060
+ steps:
1061
+ 1:
1062
+ flow: dependencies
1063
+ options:
1064
+ update_dependencies:
1065
+ resolution_strategy: preproduction
1066
+ 2:
1067
+ flow: deploy_unmanaged
1068
+ 3:
1069
+ flow: config_dev
1070
+ 4:
1071
+ task: snapshot_changes
1072
+ qa_org:
1073
+ group: Org Setup
1074
+ description: Set up an org as a QA environment for unmanaged metadata
1075
+ steps:
1076
+ 1:
1077
+ flow: dependencies
1078
+ options:
1079
+ update_dependencies:
1080
+ resolution_strategy: preproduction
1081
+ 2:
1082
+ flow: deploy_unmanaged
1083
+ 3:
1084
+ flow: config_qa
1085
+ 4:
1086
+ task: snapshot_changes
1087
+ qa_org_2gp:
1088
+ group: Org Setup
1089
+ description: Set up an org as a QA environment using a second-generation package
1090
+ steps:
1091
+ 1:
1092
+ flow: install_2gp_commit
1093
+ 2:
1094
+ flow: config_qa
1095
+ 3:
1096
+ task: snapshot_changes
1097
+ qa_org_unlocked:
1098
+ group: Org Setup
1099
+ description: Set up an org as a QA environment using an unlocked package
1100
+ steps:
1101
+ 1:
1102
+ flow: install_unlocked_commit
1103
+ 2:
1104
+ flow: config_qa
1105
+ 3:
1106
+ task: snapshot_changes
1107
+ regression_org:
1108
+ group: Org Setup
1109
+ description: Simulates an org that has been upgraded from the latest release of to the current beta and its dependencies, but deploys any unmanaged metadata from the current beta.
1110
+ steps:
1111
+ 1:
1112
+ flow: install_regression
1113
+ 2:
1114
+ flow: config_regression
1115
+ 3:
1116
+ task: snapshot_changes
1117
+ uninstall_managed:
1118
+ group: Install / Uninstall
1119
+ description: Uninstall the installed managed version of the package. Run this before install_beta or install_prod if a version is already installed in the target org.
1120
+ steps:
1121
+ 1:
1122
+ task: uninstall_post
1123
+ 2:
1124
+ task: uninstall_managed
1125
+ install_2gp_commit:
1126
+ group: Install / Uninstall
1127
+ description: Install the 2GP package for the current commit
1128
+ steps:
1129
+ 1:
1130
+ task: vcs_package_data
1131
+ options:
1132
+ context: $project_config.project__git__2gp_context
1133
+ 2:
1134
+ flow: dependencies
1135
+ options:
1136
+ update_dependencies:
1137
+ resolution_strategy: commit_status
1138
+ dependencies: ^^vcs_package_data.dependencies
1139
+ 3:
1140
+ task: install_managed
1141
+ options:
1142
+ version: ^^vcs_package_data.version_id
1143
+ install_unlocked_commit:
1144
+ group: Install / Uninstall
1145
+ description: Install the unlocked package for the current commit
1146
+ steps:
1147
+ 1:
1148
+ task: vcs_package_data
1149
+ options:
1150
+ context: $project_config.project__git__unlocked_context
1151
+ 2:
1152
+ flow: dependencies
1153
+ options:
1154
+ update_dependencies:
1155
+ resolution_strategy: unlocked
1156
+ dependencies: ^^vcs_package_data.dependencies
1157
+ 3:
1158
+ task: install_managed
1159
+ options:
1160
+ version: ^^vcs_package_data.version_id
1161
+ install_beta:
1162
+ group: Org Setup
1163
+ description: Install and configure the latest beta version
1164
+ steps:
1165
+ 1:
1166
+ flow: dependencies
1167
+ options:
1168
+ update_dependencies:
1169
+ resolution_strategy: preproduction
1170
+ 2:
1171
+ task: install_managed_beta
1172
+ 3:
1173
+ flow: config_managed
1174
+ 4:
1175
+ task: snapshot_changes
1176
+ install_prod:
1177
+ group: Org Setup
1178
+ description: Install and configure the latest production version
1179
+ steps:
1180
+ 1:
1181
+ flow: dependencies
1182
+ 2:
1183
+ task: install_managed
1184
+ 3:
1185
+ flow: config_managed
1186
+ 4:
1187
+ task: snapshot_changes
1188
+ install_prod_no_config:
1189
+ group: Install / Uninstall
1190
+ description: Install but do not configure the latest production version
1191
+ steps:
1192
+ 1:
1193
+ flow: dependencies
1194
+ 2:
1195
+ task: install_managed
1196
+ 3:
1197
+ task: deploy_post
1198
+ install_regression:
1199
+ group: Install / Uninstall
1200
+ description: Install the latest beta dependencies and upgrade to the latest beta version from the most recent production version
1201
+ steps:
1202
+ 1:
1203
+ flow: dependencies
1204
+ options:
1205
+ update_dependencies:
1206
+ resolution_strategy: preproduction
1207
+ 2:
1208
+ task: install_managed
1209
+ 3:
1210
+ task: install_managed_beta
1211
+ push_upgrade_org:
1212
+ steps:
1213
+ 1:
1214
+ flow: dependencies
1215
+ 2:
1216
+ task: install_managed
1217
+ 3:
1218
+ task: update_dependencies
1219
+ options:
1220
+ security_type: NONE
1221
+ resolution_strategy: include_beta
1222
+ 4:
1223
+ task: install_managed_beta
1224
+ options:
1225
+ security_type: NONE
1226
+ 5:
1227
+ flow: config_qa
1228
+ release_2gp_beta:
1229
+ group: Release Operations
1230
+ description: Upload and release a beta 2gp managed package version
1231
+ steps:
1232
+ 1:
1233
+ task: create_package_version
1234
+ options:
1235
+ package_type: Managed
1236
+ package_name: $project_config.project__package__name
1237
+ skip_validation: False
1238
+ ancestor_id: latest_github_release
1239
+ version_base: latest_github_release
1240
+ version_type: minor
1241
+ force_upload: True
1242
+ create_unlocked_dependency_packages: False
1243
+ 2:
1244
+ task: vcs_release
1245
+ options:
1246
+ version: ^^create_package_version.version_number
1247
+ version_id: ^^create_package_version.subscriber_package_version_id
1248
+ dependencies: ^^create_package_version.dependencies
1249
+ package_type: 2GP
1250
+ tag_prefix: $project_config.project__git__prefix_beta
1251
+ 3:
1252
+ task: vcs_release_notes
1253
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1254
+ options:
1255
+ link_pr: True
1256
+ publish: True
1257
+ tag: ^^vcs_release.tag_name
1258
+ include_empty: True
1259
+ version_id: ^^create_package_version.subscriber_package_version_id
1260
+ 4:
1261
+ task: vcs_automerge_main
1262
+ release_unlocked_beta:
1263
+ group: Release Operations
1264
+ description: Upload and release a beta 2gp unlocked package version
1265
+ steps:
1266
+ 1:
1267
+ task: create_package_version
1268
+ options:
1269
+ package_type: Unlocked
1270
+ package_name: $project_config.project__package__name
1271
+ skip_validation: False
1272
+ version_base: latest_github_release
1273
+ version_type: minor
1274
+ force_upload: True
1275
+ create_unlocked_dependency_packages: False
1276
+ 2:
1277
+ task: vcs_release
1278
+ options:
1279
+ version: ^^create_package_version.version_number
1280
+ version_id: ^^create_package_version.subscriber_package_version_id
1281
+ dependencies: ^^create_package_version.dependencies
1282
+ package_type: 2GP
1283
+ tag_prefix: $project_config.project__git__prefix_beta
1284
+ 3:
1285
+ task: vcs_release_notes
1286
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1287
+ options:
1288
+ link_pr: True
1289
+ publish: True
1290
+ tag: ^^vcs_release.tag_name
1291
+ include_empty: True
1292
+ version_id: ^^create_package_version.subscriber_package_version_id
1293
+ 4:
1294
+ task: vcs_automerge_main
1295
+ release_beta:
1296
+ group: Release Operations
1297
+ description: Upload and release a beta version of the metadata currently in packaging
1298
+ steps:
1299
+ 1:
1300
+ task: upload_beta
1301
+ options:
1302
+ name: Automated beta release
1303
+ 2:
1304
+ task: vcs_release
1305
+ options:
1306
+ version: ^^upload_beta.version_number
1307
+ version_id: ^^upload_beta.version_id
1308
+ dependencies: ^^upload_beta.dependencies
1309
+ package_type: 1GP
1310
+ tag_prefix: $project_config.project__git__prefix_beta
1311
+ 3:
1312
+ task: vcs_release_notes
1313
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1314
+ options:
1315
+ link_pr: True
1316
+ publish: True
1317
+ tag: ^^vcs_release.tag_name
1318
+ include_empty: True
1319
+ version_id: ^^upload_beta.version_id
1320
+ 4:
1321
+ task: vcs_automerge_main
1322
+ release_production:
1323
+ group: Release Operations
1324
+ description: Upload and release a production version of the metadata currently in packaging
1325
+ steps:
1326
+ 1:
1327
+ task: upload_production
1328
+ 2:
1329
+ task: vcs_release
1330
+ options:
1331
+ version: ^^upload_production.version_number
1332
+ version_id: ^^upload_production.version_id
1333
+ dependencies: ^^upload_production.dependencies
1334
+ package_type: 1GP
1335
+ tag_prefix: $project_config.project__git__prefix_release
1336
+ 3:
1337
+ task: vcs_release_notes
1338
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1339
+ options:
1340
+ publish: True
1341
+ tag: ^^vcs_release.tag_name
1342
+ version_id: ^^upload_production.version_id
1343
+ release_2gp_production:
1344
+ group: Release Operations
1345
+ description: Promote the latest beta 2gp managed package version and create a new release in GitHub
1346
+ steps:
1347
+ 1:
1348
+ task: promote_package_version
1349
+ 2:
1350
+ task: vcs_release
1351
+ options:
1352
+ version: ^^promote_package_version.version_number
1353
+ version_id: ^^promote_package_version.version_id
1354
+ dependencies: ^^promote_package_version.dependencies
1355
+ package_type: 2GP
1356
+ tag_prefix: $project_config.project__git__prefix_release
1357
+ 3:
1358
+ task: vcs_release_notes
1359
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1360
+ options:
1361
+ publish: True
1362
+ tag: ^^vcs_release.tag_name
1363
+ version_id: ^^promote_package_version.version_id
1364
+ release_unlocked_production:
1365
+ group: Release Operations
1366
+ description: Promote the latest beta 2GP unlocked package version and create a new release in GitHub
1367
+ steps:
1368
+ 1:
1369
+ task: promote_package_version
1370
+ 2:
1371
+ task: vcs_release
1372
+ options:
1373
+ version: ^^promote_package_version.version_number
1374
+ version_id: ^^promote_package_version.version_id
1375
+ dependencies: ^^promote_package_version.dependencies
1376
+ package_type: 2GP
1377
+ tag_prefix: $project_config.project__git__prefix_release
1378
+ 3:
1379
+ task: vcs_release_notes
1380
+ ignore_failure: True # Attempt to generate release notes but don't fail build
1381
+ options:
1382
+ publish: True
1383
+ tag: ^^vcs_release.tag_name
1384
+ version_id: ^^promote_package_version.version_id
1385
+ build_feature_test_package:
1386
+ group: Release Operations
1387
+ description: Create a 2gp managed package version
1388
+ steps:
1389
+ 1:
1390
+ task: update_package_xml
1391
+ when: project_config.project__source_format != "sfdx"
1392
+ 2:
1393
+ task: create_package_version
1394
+ options:
1395
+ package_type: Managed
1396
+ package_name: $project_config.project__package__name Managed Feature Test
1397
+ version_base: latest_github_release
1398
+ version_type: minor
1399
+ skip_validation: True
1400
+ resolution_strategy: commit_status
1401
+ build_unlocked_test_package:
1402
+ group: Release Operations
1403
+ description: Create an Unlocked package version
1404
+ steps:
1405
+ 1:
1406
+ task: update_package_xml
1407
+ when: project_config.project__source_format != "sfdx"
1408
+ 2:
1409
+ task: create_package_version
1410
+ options:
1411
+ package_type: Unlocked
1412
+ package_name: $project_config.project__package__name Unlocked Feature Test
1413
+ version_type: minor
1414
+ resolution_strategy: unlocked
1415
+ org_dependent: True
1416
+ force_upload: True
1417
+ post_install_script: null
1418
+ uninstall_script: null
1419
+ 3:
1420
+ task: promote_package_version
1421
+ options:
1422
+ version_id: ^^create_package_version.subscriber_package_version_id
1423
+ install_key: ^^create_package_version.install_key
1424
+ unmanaged_ee:
1425
+ group: Deployment
1426
+ description: Deploy the unmanaged package metadata and all dependencies to the target EE org
1427
+ steps:
1428
+ 1:
1429
+ flow: dependencies
1430
+ options:
1431
+ update_dependencies:
1432
+ purge_on_delete: False
1433
+ 2:
1434
+ flow: deploy_unmanaged_ee
1435
+ services:
1436
+ connected_app:
1437
+ description: A Connected App is required to connect to and run commands against persistent orgs. See https://cumulusci.readthedocs.io/en/latest/connected_orgs.html#use-a-custom-connected-app for more info.
1438
+ attributes:
1439
+ login_url:
1440
+ description: Default Salesforce Login URL to be used with this Connected App
1441
+ required: True
1442
+ default: https://login.salesforce.com
1443
+ callback_url:
1444
+ description: Callback URL configured on the Connected App
1445
+ required: True
1446
+ default: http://localhost:8080/callback
1447
+ client_id:
1448
+ description: Client ID/Consumer Key from the Connected App
1449
+ required: True
1450
+ client_secret:
1451
+ description: Client Secret/Consumer Secret from the Connected App
1452
+ required: True
1453
+ sensitive: True
1454
+ devhub:
1455
+ description: Configure which SFDX org to use as a Dev Hub for creating scratch orgs
1456
+ attributes:
1457
+ username:
1458
+ description: Username or alias of the SFDX org to use as a Dev Hub
1459
+ required: True
1460
+ github:
1461
+ description: Configure connection for github tasks, e.g. Create Release
1462
+ attributes:
1463
+ username:
1464
+ description: The Github username to use for tasks.
1465
+ required: True
1466
+ email:
1467
+ description: The email address to used by Github tasks when an operation requires an email address.
1468
+ required: True
1469
+ token:
1470
+ description: Personal Access Token for GitHub. Leave blank to log in via browser.
1471
+ required: True
1472
+ default_factory: cumulusci.core.github.get_oauth_device_flow_token
1473
+ sensitive: True
1474
+ github_enterprise:
1475
+ description: Configure connection for GitHub Enterprise Server
1476
+ attributes:
1477
+ username:
1478
+ description: The GitHub Enterprise username to use for tasks.
1479
+ required: True
1480
+ email:
1481
+ description: The email address to used by GitHub tasks when an operation requires an email address.
1482
+ required: True
1483
+ server_domain:
1484
+ description: "GitHub Enterprise domain (Example: git.ent.domain.com)."
1485
+ required: True
1486
+ token:
1487
+ description: Personal Access Token
1488
+ required: True
1489
+ sensitive: True
1490
+ marketing_cloud:
1491
+ description: Configure a connection to a Marketing Cloud instance
1492
+ class_path: cumulusci.core.config.marketing_cloud_service_config.MarketingCloudServiceConfig
1493
+ attributes:
1494
+ oauth2_client:
1495
+ description: The name of the oauth2_client service with which to establish a connection to Marketing Cloud
1496
+ required: True
1497
+ metaci:
1498
+ description: Connect with a MetaCI site to run builds of projects from this repository
1499
+ attributes:
1500
+ app_name:
1501
+ description: The Heroku app name
1502
+ required: False
1503
+ url:
1504
+ description: The main url to the MetaCI site
1505
+ required: True
1506
+ token:
1507
+ description: Your API token to the MetaCI site (get from SITE_URL/api/token)
1508
+ required: True
1509
+ sensitive: True
1510
+ metadeploy:
1511
+ description: Connect with a MetaDeploy site to publish installers from this repository
1512
+ attributes:
1513
+ url:
1514
+ description: The main url for your MetaDeploy instance.
1515
+ required: True
1516
+ token:
1517
+ description: Your API token to the MetaDeploy site (get from SITE_URL/admin/authtoken/token)
1518
+ required: True
1519
+ sensitive: True
1520
+ oauth2_client:
1521
+ description: Holds information pertaining to a single OAuth2 client
1522
+ attributes:
1523
+ client_id:
1524
+ description: The client Id
1525
+ required: True
1526
+ client_secret:
1527
+ description: The client secret
1528
+ required: True
1529
+ sensitive: True
1530
+ auth_uri:
1531
+ description: The URI for where users are directed to login
1532
+ required: True
1533
+ token_uri:
1534
+ description: The URI for where we request an access token
1535
+ required: True
1536
+ callback_url:
1537
+ description: The URL that the auth server will callback to after authentication of the user
1538
+ required: True
1539
+ project:
1540
+ name:
1541
+ package:
1542
+ name:
1543
+ name_managed:
1544
+ namespace:
1545
+ install_class:
1546
+ uninstall_class:
1547
+ api_version: "63.0"
1548
+ git:
1549
+ default_branch: master
1550
+ prefix_feature: feature/
1551
+ prefix_beta: beta/
1552
+ prefix_release: release/
1553
+ push_prefix_sandbox: "Sandbox orgs: "
1554
+ push_prefix_production: "Production orgs: "
1555
+ 2gp_context: "Build Feature Test Package"
1556
+ unlocked_context: "Build Unlocked Test Package"
1557
+ release_notes:
1558
+ parsers:
1559
+ github:
1560
+ 1:
1561
+ class_path: cumulusci.vcs.github.release_notes.parser.GithubLinesParser
1562
+ title: Critical Changes
1563
+ 2:
1564
+ class_path: cumulusci.vcs.github.release_notes.parser.GithubLinesParser
1565
+ title: Changes
1566
+ 3:
1567
+ class_path: cumulusci.vcs.github.release_notes.parser.GithubIssuesParser
1568
+ title: Issues Closed
1569
+ 4:
1570
+ class_path: cumulusci.vcs.github.release_notes.parser.GithubLinesParser
1571
+ title: New Metadata
1572
+ 5:
1573
+ class_path: cumulusci.vcs.github.release_notes.parser.GithubLinesParser
1574
+ title: Deleted Metadata
1575
+ 6:
1576
+ class_path: cumulusci.tasks.release_notes.parser.InstallLinkParser
1577
+ title: Installation Info
1578
+ test:
1579
+ name_match: "%_TEST%"
1580
+ dependency_resolutions:
1581
+ preproduction: latest_release
1582
+ production: latest_release
1583
+ resolution_strategies:
1584
+ unlocked:
1585
+ - unlocked_exact_branch
1586
+ - unlocked_release_branch
1587
+ - unlocked_previous_release_branch
1588
+ - unlocked_default_branch
1589
+ commit_status:
1590
+ - tag
1591
+ - commit_status_exact_branch
1592
+ - commit_status_release_branch
1593
+ - commit_status_previous_release_branch
1594
+ - commit_status_default_branch
1595
+ - latest_beta
1596
+ - latest_release
1597
+ - unmanaged
1598
+ include_beta:
1599
+ - tag
1600
+ - latest_beta
1601
+ - latest_release
1602
+ - unmanaged
1603
+ latest_release:
1604
+ - tag
1605
+ - latest_release
1606
+ - unmanaged
1607
+ dependencies:
1608
+ orgs:
1609
+ scratch:
1610
+ dev:
1611
+ config_file: orgs/dev.json
1612
+ days: 7
1613
+ qa:
1614
+ config_file: orgs/dev.json
1615
+ days: 7
1616
+ feature:
1617
+ config_file: orgs/feature.json
1618
+ beta:
1619
+ config_file: orgs/beta.json
1620
+ release:
1621
+ config_file: orgs/release.json