Skip to content

Converting/deploying/retrieving Workflows and its children is broken #1591

@amtrack

Description

@amtrack

Summary

Converting and deploying and retrieving Workflows and child types like WorkflowFieldUpdate is broken.

I'm aware that Workflow is currently not decomposed but I think it could be easily decomposed because it contains only fully addressable child components.
The described behavior further shows that in non-decomposed form, Workflow cannot be placed in multiple package directories.

Steps To Reproduce:

The following repo contains 3 WorkflowFieldUpdate components split over multiple package directories:

  • force-app: Case.ChangePriorityToHigh, Case.ChangePriorityToMedium
  • another-package: Case.ChangePriorityToLow

Repository to reproduce: mdapi-issues/sfdx-workflow-handling

  1. sfdx force:source:convert -m Workflow:Case -d mdapi
  2. sfdx force:source:convert -m WorkflowFieldUpdate:Case.ChangePriorityToHigh -d mdapi
  3. sfdx force:source:retrieve -m WorkflowFieldUpdate:Case.ChangePriorityToHigh

Expected result

  1. Converts all 3 components into a single mdapi/workflows/Case.workflow metadata file
  2. Converts only the given WorkflowFieldUpdate to mdapi/workflows/Case.workflow metadata file
  3. Retrieves the given WorkflowFieldUpdate and appends it to force-app/main/default/workflows/Case.workflow-meta.xml or updates another-package/workflows/Case.workflow-meta.xml

Actual result

  1. Only the workflow components of the last package directory (here: Case.ChangePriorityToLow) are converted to mdapi/workflows/Case.workflow
  2. All children of the first packaging directory are converted and the folder name is invalid (workflowFieldUpdates instead of workflows): mdapi/workflowFieldUpdates/Case.workflow
  3. force-app/main/default/workflows/Case.workflow-meta.xml is overwritten

System Information

  • Which shell/terminal are you using? (e.g. bash, zsh, powershell 5, powershell 7, cmd.exe, etc.)
  • --> zsh
$ sfdx version --verbose --json
{
        "cliVersion": "sfdx-cli/7.156.1",
        "architecture": "darwin-arm64",
        "nodeVersion": "node-v16.13.1",
        "pluginVersions": [
                "@oclif/plugin-autocomplete 0.3.0 (core)",
                "@oclif/plugin-commands 1.3.0 (core)",
                "@oclif/plugin-help 3.3.1 (core)",
                "@oclif/plugin-not-found 1.2.6 (core)",
                "@oclif/plugin-plugins 1.10.11 (core)",
                "@oclif/plugin-update 1.5.0 (core)",
                "@oclif/plugin-warn-if-update-available 1.7.3 (core)",
                "@oclif/plugin-which 1.0.4 (core)",
                "@salesforce/sfdx-plugin-lwc-test 0.1.7 (core)",
                "alias 2.1.0 (core)",
                "apex 0.13.0 (core)",
                "auth 2.2.0 (core)",
                "community 2.0.0 (core)",
                "config 1.4.12 (core)",
                "custom-metadata 2.0.0 (core)",
                "data 2.0.4 (core)",
                "generator 2.0.1 (core)",
                "info 2.0.1 (core)",
                "limits 2.0.1 (core)",
                "org 1.13.2 (core)",
                "salesforce-alm 54.6.0 (core)",
                "schema 2.1.1 (core)",
                "sfdx-cli 7.156.1 (core)",
                "signups 1.2.0 (core)",
                "source 2.0.2 (core)",
                "telemetry 2.0.0 (core)",
                "templates 55.0.0 (core)",
                "trust 2.0.1 (core)",
                "user 2.1.0 (core)"
        ],
        "osVersion": "Darwin 21.5.0"
}

Additional information

Screenshot 2022-06-25 at 15 31 40

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions