Is your feature request related to a problem? Please describe.
The pipeline exporting a solution to git clears the contents of the *_connectionparameters.json that defines the connection parameters for the Custom Connector.
https://github.com/microsoft/coe-alm-accelerator-templates/blob/a253d79e989d34195708ac1588a3b8929c3c4194/Pipelines/Templates/export-Solution.yml#L165-L174
The code snippet above shows the step doing this and also the following comment
TEMPORARY until Solution export supports not exporting custom connector configurations
We need to clear out the contents of any *_connectionparameters.json file. This is to ensure those valuse
are not overwritten when the Solution is imported to a downstream environment.
Describe the solution you'd like
I strongly believe that the correct way to handle custom connector connection parameters is to use environment variables as described in Use environment variables in solution custom connectors.
This way of setting up a custom connector avoids the problem of storing secrets in the Git commit and in the ALM Accelerator we already have mechanisms for configuring environment variable values for downstream environments during deployment using deployment profiles.
Describe alternatives you've considered
No response
Additional context?
I went ahead and disabled the step in the pipeline that clears the connection parameters in our DevOps org and exporting the connection parameters went exactly as expected, i.e. I got a json file where the client_id and clientSecret values were in the form @environmentVariables("{{environmentVariableName}}").
Unfortunately, when importing the solution back to Power Platform the Import Solution job fails citing an error code
Connector import: FAILURE: Access Denied.
However, from the coe-cli we know that patching the custom connector after it has been imported does work. That's what coe does when installing the Azure DevOps custom connector that is part of the ALM Accelerator. With that in mind, we could adapt the import pipeline to clear the connection properties before packing the solution zip-file, and then issue a subsequent PATCH to all imported custom connectors after the import.
AB#2684
Is your feature request related to a problem? Please describe.
The pipeline exporting a solution to git clears the contents of the
*_connectionparameters.jsonthat defines the connection parameters for the Custom Connector.https://github.com/microsoft/coe-alm-accelerator-templates/blob/a253d79e989d34195708ac1588a3b8929c3c4194/Pipelines/Templates/export-Solution.yml#L165-L174
The code snippet above shows the step doing this and also the following comment
Describe the solution you'd like
I strongly believe that the correct way to handle custom connector connection parameters is to use environment variables as described in Use environment variables in solution custom connectors.
This way of setting up a custom connector avoids the problem of storing secrets in the Git commit and in the ALM Accelerator we already have mechanisms for configuring environment variable values for downstream environments during deployment using deployment profiles.
Describe alternatives you've considered
No response
Additional context?
I went ahead and disabled the step in the pipeline that clears the connection parameters in our DevOps org and exporting the connection parameters went exactly as expected, i.e. I got a json file where the
client_idandclientSecretvalues were in the form@environmentVariables("{{environmentVariableName}}").Unfortunately, when importing the solution back to Power Platform the Import Solution job fails citing an error code
However, from the
coe-cliwe know that patching the custom connector after it has been imported does work. That's whatcoedoes when installing the Azure DevOps custom connector that is part of the ALM Accelerator. With that in mind, we could adapt the import pipeline to clear the connection properties before packing the solution zip-file, and then issue a subsequent PATCH to all imported custom connectors after the import.AB#2684