cli icon indicating copy to clipboard operation
cli copied to clipboard

Permission Set Groups Cause Deploy Failure in Namespaced Scratch Org

Open Bilal-Z opened this issue 2 years ago • 8 comments

Summary

When attempting to deploy metadata with extracted from a dev org with no namespace to a scratch org with a namespace, the deploy fails due to permission set groups with the following error:

PS C:\Users\bilal\Documents\XYZ-Project> sfdx force:source:push 
*** Pushing v55.0 metadata with SOAP API v53.0 connection *** 
DEPLOY PROGRESS | ████████████████████████████████████████ | 99/99 Components 
=== Component Failures [1] 
Type Name Problem 
───── ───────────────────────── ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
Error FSC_Community_Permissions Cannot create permission set group components since the following permission set names are invalid: XYZ_for_Community

Contents of FSC_Community_Permissions.permissionsetgroup-meta.xml are as follows:

<?xml version="1.0" encoding="UTF-8"?>
<PermissionSetGroup  xmlns="http://soap.sforce.com/2006/04/metadata">
<description></description>
<hasActivationRequired>false</hasActivationRequired>
<label>FSC Community Permissions</label>
<permissionSets>XYZ_for_Community</permissionSets>
<permissionSets>force__FinancialServicesForCmtyExtension</permissionSets>
<status>Updated</status>
</PermissionSetGroup>

manually editing FSC_Community_Permissions.permissionsetgroup-meta.xml and prepending the namespace of the target scratch org, like as follows:

<permissionSets>Example_Namespace__XYZ_for_Community</permissionSets>

fixes the issue.

Expected result

Metadata should be deployed successfully. the cli should recognize the permission set XYZ_for_Community reference in FSC_Community_Permissions.permissionsetgroup-meta.xml as the permission set defined in XYZ_for_Community.permissionset-meta.xml that has been added to deploy queue as Example_Namespace__XYZ_for_Community

Actual result

Deployment fails with the error message Cannot create permission set group components since the following permission set names are invalid: XYZ_for_Community.

System Information

{
        "cliVersion": "sfdx-cli/7.150.0",
        "architecture": "win32-x64",
        "nodeVersion": "node-v16.15.0",
        "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.0.0 (core)",
                "apex 0.11.0 (core)",
                "auth 2.0.2 (core)",
                "community 1.1.4 (core)",
                "config 1.4.6 (core)",
                "custom-metadata 1.1.0 (core)",
                "data 0.6.15 (core)",
                "generator 2.0.0 (core)",
                "info 2.0.0 (core)",
                "limits 2.0.0 (core)",
                "org 1.12.1 (core)",
                "salesforce-alm 54.3.0 (core)",
                "schema 2.1.0 (core)",
                "sfdx-cli 7.150.0 (core)",
                "sfdx-falcon 0.0.93",
                "signups 1.0.0 (core)",
                "source 1.9.7 (core)",
                "telemetry 1.4.0 (core)",
                "templates 54.6.0 (core)",
                "trust 1.1.0 (core)",
                "user 1.7.1 (core)"
        ],
        "osVersion": "Windows_NT 10.0.22621"
}

Bilal-Z avatar Nov 11 '22 13:11 Bilal-Z

Thank you for filing this issue. We appreciate your feedback and will review the issue as soon as possible. Remember, however, that GitHub isn't a mechanism for receiving support under any agreement or SLA. If you require immediate assistance, contact Salesforce Customer Support.

github-actions[bot] avatar Nov 11 '22 13:11 github-actions[bot]

This issue has been linked to a new work item: W-12081228

git2gus[bot] avatar Nov 17 '22 13:11 git2gus[bot]

We are experiencing the same issue. Will attempt namespace injection (using CumulusCI) and report back if a successful workaround.


Exception in task install_2gp_commit.install_managed        

Error: (Chancery_Administrator) Cannot create permission set group components 
since the following permission set names are invalid: Agreements_Management, 
Assignments_Management, Chancery_Core_App, Committees_Management, 
Sacraments_Management_Diocese, 

Details: Chancery_Administrator: Cannot create 
permission set group components since the following permission set names are 
invalid: Agreements_Management, Assignments_Management, Chancery_Core_App, 
Committees_Management, Sacraments_Management_Diocese```

mattmartin26 avatar Feb 08 '23 18:02 mattmartin26

@mattmartin26 did you have any success with namespace injection?

aesanch2 avatar Mar 13 '23 16:03 aesanch2

Did this issue go anywhere?

aozomaro avatar Aug 20 '23 13:08 aozomaro

Would be nice to get an update on this issue and the workitem that was created. This is still a problem for me.

mwannamaker41 avatar Oct 31 '23 12:10 mwannamaker41

sorry to let this thread die. But looking into it now

WillieRuemmele avatar Apr 18 '24 15:04 WillieRuemmele

Has anyone attempted to use our string replacement feature with this? I was able to get it working with this permission set group example

I added this bit to the sfdx-project.json

  "replacements": [{
    "filename": "force-app/main/default/permissionsetgroups/test.permissionsetgroup-meta.xml",
    "stringToReplace": "set1",
    "replaceWithEnv": "REPLACE"
  }],
 ➜  REPLACE='cristiand391__set1' sf project deploy start --source-dir force-app/main/default/permissionsetgroups/test.permissionsetgroup-meta.xml
Deploying v60.0 metadata to [email protected] using the v61.0 REST API.
Deploy ID: 0Af9A00000frdFoSAI
Status: Succeeded | ████████████████████████████████████████ | 1/1 Components | Tracking: 0/0

Deployed Source
===============================================================================================================
| State     Name Type               Path                                                                        
| ───────── ──── ────────────────── ─────────────────────────────────────────────────────────────────────────── 
| Unchanged test PermissionSetGroup force-app/main/default/permissionsetgroups/test.permissionsetgroup-meta.xml 

and then without it,

 ➜  sf project deploy start --source-dir force-app/main/default/permissionsetgroups/test.permissionsetgroup-meta.xml
Deploying v60.0 metadata to [email protected] using the v61.0 REST API.
Deploy ID: 0Af9A00000frdFeSAI
Status: Failed | ████████████████████████████████████████ | 1/1 Components | Errors: 1

Component Failures [1]
=================================================================================================================================
| Type  Name Problem                                                                                                  Line:Column 
| ───── ──── ──────────────────────────────────────────────────────────────────────────────────────────────────────── ─────────── 
| Error test Cannot create permission set group components since the following permission set names are invalid: set1  

In the documentation we have examples for replacing certain strings for certain environments, which would probably be the most applicable example to follow

WillieRuemmele avatar Apr 18 '24 16:04 WillieRuemmele