Features
- #37 add support to
deploy
(update/create) automation wait activities by @JoernBerkefeld in #1829 - #1729 option to disable auto-formatting on save via config (
options.formatOnSave
) and--no-format
option for when you want or need to retain whatever manual formatting you applied. inspired by @AndrewEllis91, code by @JoernBerkefeld in #1846 - #1850 add method
validate journey
for multi-step journeys by @JoernBerkefeld in #1860 - #1851 add
--ignoreFolder
option todeploy --matchName
by @JoernBerkefeld in #1863 - #1852 add option
--ignoreSfFields
/--isf
to deploy, allowing you to skip false-positive errors about missing Salesforce fields for Salesforce-triggered journeys/events by @JoernBerkefeld in #1864 - #1294 include dataExtension retention policy in the created markdown file by @JoernBerkefeld in #1865
- #1825 add auto-renaming to avoid duplicate-name error for automation, query and senderProfile if
deployed
without--matchName
. This already existed for dataExtension and asset before. by @JoernBerkefeld in #1827
Bugfixes
- #1802
publishing
multiple non-Salesforce-triggered journeys looked messy by @JoernBerkefeld in #1817 - #1806 fix
createDeltaPackage
failing due to incorrect call tobuildTemplate
by @dnivara-0 and @JoernBerkefeld in #1821 - #1868 fix
createDeltaPackage
failing due to incorrect call tobuildDefinitionBulk
by @anasilva105 and @JoernBerkefeld in #1869 - #1826 fix importFile no longer deployable since last SFMC release by @JoernBerkefeld in #1828
- #1839 limit
noRootFolder validation rule
to types other than cloudpages by @JoernBerkefeld in #1843 - #1866 fix
buildTemplate
/buildDefintiion
/build
creating SSJS files with unwanted <script> tags by @PriyajitGhosh1995 & @JoernBerkefeld in #1867 - #1805 move purge-deploy-folder logic to handle multi-type templating with
build
by @JoernBerkefeld in #1820
Chores
- #1805
build
now asks if the BU's deploy folder should be emptied before runningbuildDefinition
, making it easier to run a clean deployment afterwards by @JoernBerkefeld in #1815 - #1814 filter journey builder triggeredSends from being saved to disk as all relevant info is also present in the journey itself by @JoernBerkefeld in #1816
- #1818 no longer include triggeredSend keys in templated journeys to ensure the resulting journey metadata shows most current info. Otherwise, journey builder will reference the latest triggeredSend but show the info from the first version of it instead. by @JoernBerkefeld in #1819
- #1808 set newly introduced iconUrl of events during
deploy
/retrieve
by @JoernBerkefeld in #1822 - #1800 improved error messages issues by
deploy
in general and bydeploy --matchName
errors by @JoernBerkefeld in #1823 - #1842 groundwork for supporting automation-triggered events by resolving the
automationid
in event by @JoernBerkefeld in #1845 - #1807 cross-check salesforce-triggered events with associated dataExtensions to ensure all required fields are present by @JoernBerkefeld in #1849
Dependencies
- Bump @types/node from 22.5.5 to 22.9.0 by @dependabot in #1862
- Bump axios-mock-adapter from 2.0.0 to 2.1.0 by @dependabot in #1789
- Bump eslint-plugin-jsdoc from 50.2.4 to 50.5.0 by @dependabot in #1773 & #1870
- Bump eslint-plugin-unicorn from 55.0.0 to 56.0.0 by @dependabot in #1777
- Bump globals from 15.9.0 to 15.12.0 by @dependabot in #1832
- Bump inquirer from 11.0.2 to 12.1.0 by @dependabot in #1861
- Bump mock-fs from 5.2.0 to 5.3.0 by @dependabot in #1756
- Bump simple-git from 3.25.0 to 3.27.0 by @dependabot in #1733
- Bump typescript from 5.6.2 to 5.6.3 by @dependabot in #1783
- Bump winston from 3.14.2 to 3.15.0 by @dependabot in #1775
- Bump yocto-spinner from 0.1.0 to 0.1.1 by @dependabot in #1786
Full Changelog: v7.4.4...v7.5.0
Details
Standard Commands
retrieve
Command: mcdev retrieve [business unit] [metadata type] [metadata key] [--like] [--metadata] [--format] [--no-format]
...
retrieve with --format or --no-format option:
If you need to retrieve code in a raw format, you may use mcdev retrieve --no-format
to disable auto-formatting. On the other hand, if options.formatOnSave
is set to false, then mcdev retrieve --format
enables formatting.
deploy
Command: mcdev deploy [business unit] [metadata type] [metadata key] [--metadata] [--fromRetrieve] [--refresh] [--keySuffix] [--noMidSuffix] [--changeKeyValue=yourNewKey] [--changeKeyField=otherFieldInJson] [--execute] [--schedule] [--fixShared] [--noUpdate] [--publish] [--skipStatusCheck] [--matchName] [--ignoreFolder] [--skipValidation] [--format] [--no-format] [--ignoreSfFields]
...
deploy with --format or --no-format option:
After deploying, the deployed item is saved in the respective retrieve folder. If you need to retrieve code in a raw format, you may use mcdev deploy --no-format
to disable auto-formatting. On the other hand, if options.formatOnSave
is set to false, then mcdev deploy --format
enables formatting.
deploy with --matchName (and --ignoreFolder):
...
If running --matchName returns many single matches but the found items reside in a different folder, using --ignoreFolder lets you still override these items automatically, easing your cleanup job. So far, this is supported for dataExtensions only.
deploy with --ignoreSfFields:
When deploying Salesforce-triggered journeys you might encounter false positives regarding missing fields for a Salesforce object. In these cases, the option --ignoreSfFields allows you to reduce the error to a warning and deploy it.
validate
Command: mcdev validate <business unit> [metadata type] [metadata key] [--like] [--metadata]
Alias: n/a
Currently supported types:
Name | CLI Argument | Effect |
---|---|---|
Journey | journey |
Validates a Draft-version of a journey |
You can validate a draft journey using this command, without having to actually publish it. This is the same as clicking on the Validate-button in the web interface.
mcdev validate cred/bu journey myJourneyKey
mcdev validate cred/bu journey id:myJourneyId
mcdev validate cred/bu -m journey:myJourneyKey -m journey:id:myJourneyId
Advanced Configuration
Config Options
Setting | Default | Description |
---|---|---|
options.formatOnSave | true | Allows disabling auto-formatting for all retrieve/deploy operations |