cumulusci.tasks.salesforce package

Submodules

class cumulusci.tasks.salesforce.BaseRetrieveMetadata.BaseRetrieveMetadata(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceMetadataApiTask.BaseSalesforceMetadataApiTask

task_options = {'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'path': {'description': 'The path to write the retrieved metadata', 'required': True}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceTask.BaseSalesforceTask

api_version = None
name = 'BaseSalesforceApiTask'
class cumulusci.tasks.salesforce.BaseSalesforceMetadataApiTask.BaseSalesforceMetadataApiTask(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceTask.BaseSalesforceTask

api_class = None
name = 'BaseSalesforceMetadataApiTask'
class cumulusci.tasks.salesforce.BaseSalesforceTask.BaseSalesforceTask(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.core.tasks.BaseTask

name = 'BaseSalesforceTask'
salesforce_task = True
class cumulusci.tasks.salesforce.BaseUninstallMetadata.BaseUninstallMetadata(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

task_options = {'check_only': {'description': 'If True, performs a test deployment (validation) of components without saving the components in the target org'}, 'clean_meta_xml': {'description': 'Defaults to True which strips the <packageVersions/> element from all meta.xml files. The packageVersion element gets added automatically by the target org and is set to whatever version is installed in the org. To disable this, set this option to False'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'path': {'description': 'The path to the parent directory containing the metadata bundles directories', 'required': True}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True'}, 'specified_tests': {'description': 'Comma-separated list of test classes to run upon deployment. Applies only with test_level set to RunSpecifiedTests.'}, 'static_resource_path': {'description': 'The path where decompressed static resources are stored. Any subdirectories found will be zipped and added to the staticresources directory of the build.'}, 'test_level': {'description': 'Specifies which tests are run as part of a deployment. Valid values: NoTestRun, RunLocalTests, RunAllTestsInOrg, RunSpecifiedTests.'}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.CreateCommunity.CreateCommunity(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '46.0'
task_docs = '\n Create a Salesforce Community via the Connect API.\n Specify the `template` "VF Template" for Visualforce Tabs community,\n or the name for a specific desired template\n '
task_options = {'description': {'description': 'Description of the community.', 'required': False}, 'name': {'description': 'Name of the community.', 'required': True}, 'template': {'description': 'Name of the template for the community.', 'required': True}, 'timeout': {'default': 120, 'description': 'Time to wait, in seconds, for the community to be created'}, 'url_path_prefix': {'description': 'URL prefix for the community.', 'required': False}}
class cumulusci.tasks.salesforce.CreatePackage.CreatePackage(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

task_options = {'api_version': {'description': 'The api version to use when creating the package. Defaults to project__package__api_version', 'required': True}, 'package': {'description': 'The name of the package to create. Defaults to project__package__name', 'required': True}}
class cumulusci.tasks.salesforce.Deploy.Deploy(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceMetadataApiTask.BaseSalesforceMetadataApiTask

api_class

alias of cumulusci.salesforce_api.metadata.ApiDeploy

freeze(step)[source]
namespaces = {'sf': 'http://soap.sforce.com/2006/04/metadata'}
task_options = {'check_only': {'description': 'If True, performs a test deployment (validation) of components without saving the components in the target org'}, 'clean_meta_xml': {'description': 'Defaults to True which strips the <packageVersions/> element from all meta.xml files. The packageVersion element gets added automatically by the target org and is set to whatever version is installed in the org. To disable this, set this option to False'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'path': {'description': 'The path to the parent directory containing the metadata bundles directories', 'required': True}, 'specified_tests': {'description': 'Comma-separated list of test classes to run upon deployment. Applies only with test_level set to RunSpecifiedTests.'}, 'static_resource_path': {'description': 'The path where decompressed static resources are stored. Any subdirectories found will be zipped and added to the staticresources directory of the build.'}, 'test_level': {'description': 'Specifies which tests are run as part of a deployment. Valid values: NoTestRun, RunLocalTests, RunAllTestsInOrg, RunSpecifiedTests.'}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.DeployBundles.DeployBundles(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

freeze(step)[source]
task_options = {'check_only': {'description': 'If True, performs a test deployment (validation) of components without saving the components in the target org'}, 'clean_meta_xml': {'description': 'Defaults to True which strips the <packageVersions/> element from all meta.xml files. The packageVersion element gets added automatically by the target org and is set to whatever version is installed in the org. To disable this, set this option to False'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'path': {'description': 'The path to the parent directory containing the metadata bundles directories', 'required': True}, 'specified_tests': {'description': 'Comma-separated list of test classes to run upon deployment. Applies only with test_level set to RunSpecifiedTests.'}, 'static_resource_path': {'description': 'The path where decompressed static resources are stored. Any subdirectories found will be zipped and added to the staticresources directory of the build.'}, 'test_level': {'description': 'Specifies which tests are run as part of a deployment. Valid values: NoTestRun, RunLocalTests, RunAllTestsInOrg, RunSpecifiedTests.'}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.EnsureRecordTypes.EnsureRecordTypes(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

task_options = {'record_type_developer_name': {'description': 'The Developer Name of the Record Type (unique). Must contain only alphanumeric characters and underscores.', 'required': True}, 'record_type_label': {'description': 'The Label of the Record Type.', 'required': True}, 'sobject': {'description': 'The sObject on which to deploy the Record Type and optional Business Process.', 'required': True}}
class cumulusci.tasks.salesforce.GetInstalledPackages.GetInstalledPackages(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceMetadataApiTask.BaseSalesforceMetadataApiTask

api_class

alias of cumulusci.salesforce_api.metadata.ApiRetrieveInstalledPackages

name = 'GetInstalledPackages'
class cumulusci.tasks.salesforce.InstallPackageVersion.InstallPackageVersion(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

freeze(step)[source]
task_options = {'activateRSS': {'description': 'If True, preserve the isActive state of Remote Site Settings and Content Security Policy in the package. Default: False.'}, 'name': {'description': 'The name of the package to install. Defaults to project__package__name_managed', 'required': False}, 'namespace': {'description': 'The namespace of the package to install. Defaults to project__package__namespace', 'required': True}, 'password': {'description': 'The package password. Optional.'}, 'retries': {'description': 'Number of retries (default=5)'}, 'retry_interval': {'description': 'Number of seconds to wait before the next retry (default=5),'}, 'retry_interval_add': {'description': 'Number of seconds to add before each retry (default=30),'}, 'version': {'description': 'The version of the package to install. "latest" and "latest_beta" can be used to trigger lookup via Github Releases on the repository.', 'required': True}}
class cumulusci.tasks.salesforce.ListCommunities.ListCommunities(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '46.0'
task_docs = '\n Lists Communities for the current org via the Connect API.\n '
task_options = {}
class cumulusci.tasks.salesforce.ListCommunityTemplates.ListCommunityTemplates(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '46.0'
task_docs = '\n Lists Salesforce Community templates available for the current org via the Connect API.\n '
task_options = {}
class cumulusci.tasks.salesforce.PublishCommunity.PublishCommunity(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '46.0'
task_docs = "\n Publish a Salesforce Community via the Connect API. Warning: This does not work with the Community Template 'VF Template' due to an existing bug in the API.\n "
task_options = {'community_id': {'description': 'The id of the Community to publish.', 'required': False}, 'name': {'description': 'The name of the Community to publish.', 'required': False}}
class cumulusci.tasks.salesforce.RetrievePackaged.RetrievePackaged(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseRetrieveMetadata.BaseRetrieveMetadata

api_class

alias of cumulusci.salesforce_api.metadata.ApiRetrievePackaged

task_options = {'api_version': {'description': 'Override the default api version for the retrieve. Defaults to project__package__api_version'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'package': {'description': 'The package name to retrieve. Defaults to project__package__name', 'required': True}, 'path': {'description': 'The path to write the retrieved metadata', 'required': True}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.RetrieveReportsAndDashboards.RetrieveReportsAndDashboards(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseRetrieveMetadata.BaseRetrieveMetadata

api_class

alias of cumulusci.salesforce_api.metadata.ApiRetrieveUnpackaged

list_metadata_api_class

alias of cumulusci.salesforce_api.metadata.ApiListMetadata

task_options = {'api_version': {'description': 'Override the API version used to list metadata'}, 'dashboard_folders': {'description': 'A list of the dashboard folders to retrieve reports. Separate by commas for multiple folders.'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'path': {'description': 'The path to write the retrieved metadata', 'required': True}, 'report_folders': {'description': 'A list of the report folders to retrieve reports. Separate by commas for multiple folders.'}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.RetrieveUnpackaged.RetrieveUnpackaged(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseRetrieveMetadata.BaseRetrieveMetadata

api_class

alias of cumulusci.salesforce_api.metadata.ApiRetrieveUnpackaged

task_options = {'api_version': {'description': 'Override the default api version for the retrieve. Defaults to project__package__api_version'}, 'namespace_inject': {'description': "If set, the namespace tokens in files and filenames are replaced with the namespace's prefix"}, 'namespace_strip': {'description': 'If set, all namespace prefixes for the namespace specified are stripped from files and filenames'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'namespaced_org': {'description': 'If True, the tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'package_xml': {'description': 'The path to a package.xml manifest to use for the retrieve.', 'required': True}, 'path': {'description': 'The path to write the retrieved metadata', 'required': True}, 'unmanaged': {'description': 'If True, changes namespace_inject to replace tokens with a blank string'}}
class cumulusci.tasks.salesforce.SOQLQuery.SOQLQuery(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

name = 'SOQLQuery'
task_options = {'object': {'description': 'The object to query', 'required': True}, 'query': {'description': 'A valid bulk SOQL query for the object', 'required': True}, 'result_file': {'description': 'The name of the csv file to write the results to', 'required': True}}
class cumulusci.tasks.salesforce.UninstallLocal.UninstallLocal(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseUninstallMetadata.BaseUninstallMetadata

class cumulusci.tasks.salesforce.UninstallLocalBundles.UninstallLocalBundles(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.UninstallLocal.UninstallLocal

class cumulusci.tasks.salesforce.UninstallLocalNamespacedBundles.UninstallLocalNamespacedBundles(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.UninstallLocalBundles.UninstallLocalBundles

task_options = {'filename_token': {'description': 'The path to the parent directory containing the metadata bundles directories', 'required': True}, 'managed': {'description': 'If True, will insert the actual namespace prefix. Defaults to False or no namespace'}, 'namespace': {'description': 'The namespace to replace the token with if in managed mode. Defaults to project__package__namespace'}, 'path': {'description': 'The path to a directory containing the metadata bundles (subdirectories) to uninstall', 'required': True}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True', 'required': True}}
class cumulusci.tasks.salesforce.UninstallPackage.UninstallPackage(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

task_options = {'namespace': {'description': 'The namespace of the package to uninstall. Defaults to project__package__namespace', 'required': True}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True', 'required': True}}
class cumulusci.tasks.salesforce.UninstallPackaged.UninstallPackaged(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.UninstallLocal.UninstallLocal

task_options = {'package': {'description': 'The package name to uninstall. All metadata from the package will be retrieved and a custom destructiveChanges.xml package will be constructed and deployed to delete all deleteable metadata from the package. Defaults to project__package__name', 'required': True}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True', 'required': True}}
class cumulusci.tasks.salesforce.UninstallPackagedIncremental.UninstallPackagedIncremental(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.UninstallPackaged.UninstallPackaged

name = 'UninstallPackagedIncremental'
task_options = {'ignore': {'description': 'Components to ignore in the org and not try to delete. Mapping of component type to a list of member names.'}, 'ignore_types': {'description': "List of component types to ignore in the org and not try to delete. Defaults to ['RecordType']"}, 'package': {'description': 'The package name to uninstall. All metadata from the package will be retrieved and a custom destructiveChanges.xml package will be constructed and deployed to delete all deleteable metadata from the package. Defaults to project__package__name', 'required': True}, 'path': {'description': 'The local path to compare to the retrieved packaged metadata from the org. Defaults to src', 'required': True}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True', 'required': True}}
class cumulusci.tasks.salesforce.UpdateDependencies.UpdateDependencies(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceMetadataApiTask.BaseSalesforceMetadataApiTask

api_class

alias of cumulusci.salesforce_api.metadata.ApiDeploy

freeze(step)[source]
name = 'UpdateDependencies'
task_options = {'allow_newer': {'description': 'If the org already has a newer release, use it. Defaults to True.'}, 'allow_uninstalls': {'description': 'Allow uninstalling a beta release or newer final release in order to install the requested version. Defaults to False. Warning: Enabling this may destroy data.'}, 'dependencies': {'description': "List of dependencies to update. Defaults to project__dependencies. Each dependency is a dict with either 'github' set to a github repository URL or 'namespace' set to a Salesforce package namespace. Github dependencies may include 'tag' to install a particular git ref. Package dependencies may include 'version' to install a particular version."}, 'include_beta': {'description': 'Install the most recent release, even if beta. Defaults to False.'}, 'namespaced_org': {'description': 'If True, the changes namespace token injection on any dependencies so tokens %%%NAMESPACED_ORG%%% and ___NAMESPACED_ORG___ will get replaced with the namespace. The default is false causing those tokens to get stripped and replaced with an empty string. Set this if deploying to a namespaced scratch org or packaging org.'}, 'purge_on_delete': {'description': 'Sets the purgeOnDelete option for the deployment. Defaults to True'}}
class cumulusci.tasks.salesforce.activate_flow.ActivateFlow(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

Activate the Flows with the supplied Developer Names

task_options = {'developer_names': {'description': 'List of DeveloperNames to query in SOQL', 'required': True}}
class cumulusci.tasks.salesforce.custom_settings.LoadCustomSettings(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

Load Custom Settings (both List and Hierarchy) into an org from a YAML-format settings file.

Each top-level YAML key should be the API name of a Custom Setting. List Custom Settings should contain a nested map of names to values. Hierarchy Custom settings should contain a list, each of which contains a data key and a location key. The location key may contain either profile: <profile name>, user: name: <username>, user: email: <email>, or org. Example:

List__c:
Test:
MyField__c: 1
Test 2:
MyField__c: 2
Hierarchy__c:
  • location: org data:

    MyField__c: 1

  • location:
    user:

    name: test@example.com

    data:

    MyField__c: 2

task_options = {'settings_path': {'description': 'The path to a YAML settings file', 'required': True}}
class cumulusci.tasks.salesforce.insert_record.InsertRecord(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

task_docs = '\n For example:\n\n cci task run insert_record --org dev -o object PermissionSet -o values Name:HardDelete,PermissionsBulkApiHardDelete:true\n '
task_options = {'object': {'description': 'An sObject type to insert', 'required': True}, 'values': {'description': "Field names and values in the format 'aa:bb,cc:dd'", 'required': True}}
class cumulusci.tasks.salesforce.org_settings.DeployOrgSettings(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

task_doc = 'Deploys org settings from an sfdx scratch org definition file.'
task_options = {'api_version': {'description': 'API version used to deploy the settings'}, 'definition_file': {'description': 'sfdx scratch org definition file'}}
cumulusci.tasks.salesforce.org_settings.capitalize(s)[source]

Just capitalize first letter (different from .title, as it preserves the rest of the case). e.g. accountSettings -> AccountSettings

class cumulusci.tasks.salesforce.package_upload.PackageUpload(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '38.0'
name = 'PackageUpload'
task_options = {'description': {'description': 'A description of the package and what this version contains.'}, 'name': {'description': 'The name of the package version.', 'required': True}, 'namespace': {'description': 'The namespace of the package. Defaults to project__package__namespace'}, 'password': {'description': "An optional password for sharing the package privately with anyone who has the password. Don't enter a password if you want to make the package available to anyone on AppExchange and share your package publicly."}, 'post_install_url': {'description': 'The fully-qualified URL of the post-installation instructions. Instructions are shown as a link after installation and are available from the package detail view.'}, 'production': {'description': 'If True, uploads a production release. Defaults to uploading a beta'}, 'release_notes_url': {'description': 'The fully-qualified URL of the package release notes. Release notes are shown as a link during the installation process and are available from the package detail view after installation.'}}
class cumulusci.tasks.salesforce.sourcetracking.ListChanges(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

api_version = '48.0'
task_options = {'exclude': {'description': 'Exclude changed components matching this string.'}, 'include': {'description': 'A comma-separated list of strings. Components will be included if one of these strings is part of either the metadata type or name. Example: ``-o include CustomField,Admin`` matches both ``CustomField: Favorite_Color__c`` and ``Profile: Admin``'}, 'snapshot': {'description': 'If True, all matching items will be set to be ignored at their current revision number. This will exclude them from the results unless a new edit is made.'}, 'types': {'description': 'A comma-separated list of metadata types to include.'}}
class cumulusci.tasks.salesforce.sourcetracking.MetadataType(name, members)[source]

Bases: object

class cumulusci.tasks.salesforce.sourcetracking.RetrieveChanges(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.sourcetracking.ListChanges, cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

task_options = {'api_version': {'description': 'Override the default api version for the retrieve. Defaults to project__package__api_version'}, 'exclude': {'description': 'Exclude changed components matching this string.'}, 'include': {'description': 'A comma-separated list of strings. Components will be included if one of these strings is part of either the metadata type or name. Example: ``-o include CustomField,Admin`` matches both ``CustomField: Favorite_Color__c`` and ``Profile: Admin``'}, 'namespace_tokenize': {'description': 'If set, all namespace prefixes for the namespace specified are replaced with tokens for use with namespace_inject'}, 'path': {'description': 'The path to write the retrieved metadata', 'required': False}, 'snapshot': {'description': 'If True, all matching items will be set to be ignored at their current revision number. This will exclude them from the results unless a new edit is made.'}, 'types': {'description': 'A comma-separated list of metadata types to include.'}}
class cumulusci.tasks.salesforce.sourcetracking.SnapshotChanges(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.sourcetracking.ListChanges

freeze(step)[source]
task_options = {}
cumulusci.tasks.salesforce.sourcetracking.retrieve_components(components, org_config, target: str, md_format: bool, extra_package_xml_opts: dict, namespace_tokenize: str, api_version: str)[source]

Retrieve specified components from an org into a target folder.

Retrieval is done using the sfdx force:source:retrieve command.

Set md_format to True if retrieving into a folder with a package in metadata format. In this case the folder will be temporarily converted to dx format for the retrieval and then converted back. Retrievals to metadata format can also set namespace_tokenize to a namespace prefix to replace it with a %%%NAMESPACE%%% token.

class cumulusci.tasks.salesforce.trigger_handlers.SetTDTMHandlerStatus(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.BaseSalesforceApiTask.BaseSalesforceApiTask

Alter the active status of specific NPSP or EDA TDTM trigger handlers. Save a state file to allow the handlers to be restored to their previous status.

task_options = {'active': {'description': 'True or False to activate or deactivate trigger handlers.'}, 'handlers': {'description': "List of Trigger Handlers (by Class, Object, or 'Class:Object') to affect (defaults to all handlers)."}, 'namespace': {'description': "The namespace of the Trigger Handler object ('eda' or 'npsp'). The task will apply the namespace if needed."}, 'restore': {'description': 'If True, restore the state of Trigger Handlers to that stored in the restore file.'}, 'restore_file': {'description': 'Path to the state file to store the current trigger handler state.'}}
cumulusci.tasks.salesforce.update_profile.UpdateAdminProfile

alias of cumulusci.tasks.salesforce.update_profile.UpdateProfile

class cumulusci.tasks.salesforce.update_profile.UpdateProfile(project_config, task_config, org_config=None, flow=None, name=None, stepnum=None, **kwargs)[source]

Bases: cumulusci.tasks.salesforce.Deploy.Deploy

name = 'UpdateProfile'
namespaces = {'sf': 'http://soap.sforce.com/2006/04/metadata'}
task_options = {'managed': {'description': 'If True, uses the namespace prefix where appropriate. Use if running against an org with the managed package installed. Defaults to False'}, 'namespaced_org': {'description': 'If True, attempts to prefix all unmanaged metadata references with the namespace prefix for deployment to the packaging org or a namespaced scratch org. Defaults to False'}, 'package_xml': {'description': 'Override the default package.xml file for retrieving the Admin.profile and all objects and classes that need to be included by providing a path to your custom package.xml'}, 'profile_name': {'default': 'Admin', 'description': 'Name of the Profile to target for updates.'}, 'record_types': {'description': 'A list of dictionaries containing the required key `record_type` with a value specifying the record type in format <object>.<developer_name>. Record type names can use the token strings {managed} and {namespaced_org} for namespace prefix injection as needed. By default, all listed record types will be set to visible and not default. Use the additional keys `visible`, `default`, and `person_account_default` set to true/false to override. NOTE: Setting record_types is only supported in cumulusci.yml, command line override is not supported.'}}

Module contents