We have an existing Managed Package for which I'm setting up CI (continuous integration) with sfdx.

For packaging automation we will call force:source:convert followed by force:mdapi:deploy and ahead of this we'll need to authenticate with force:auth:jwt:grant.

To do so requires a Connected App configured for the JWT OAuth flow.

I have linked the package namespace using Namespace Registries in the DevHub and noticed that this results in a SalesforceDX Namespace Registry Connected App showing up in the packaging Org which I am able to install in the packaging Org in the usual way.

I inferred from this that this SalesforceDX Namespace Registry Connected App could be configured (with a self-signed-cert) and used for authentication during the CI process in any number of packaging Orgs.

However, I'm now unsure whether this is the case, since, having looked everywhere for specific documentation I can't find a mention of it.

Unfortunately I'm not a System Admin in the DevHub Org so I can't examine the existing configuration of the SalesforceDX Namespace Registry Connected App to gain any insights.

  • 1
    Worth noting that you can just use force:source:deploy if your project is in source format rather than metadata format Jan 18, 2020 at 18:54
  • @Brian Miller We'd need to check there's nothing in bespoke in our process that is holding us back from this but good point, thanks.
    – Grokodile
    Jan 18, 2020 at 19:01

1 Answer 1


The Namespace Registry Connected App is the Connected App under which your Dev Hub authorizes to your packaging org. Completing this linkage allows your Dev Hub to spin up namespaced scratch orgs using the namespace owned by the packaging org. If you don't use namespaced scratch orgs, you don't need to connect the namespace registry.

You shouldn't try to reuse the Namespace Registry Connected App for JWT authentication in a CI process. Instead, follow the instructions in the Salesforce DX Developer Guide to create and configure a Connected App with a certificate. You'll use that certificate, and the Client Id of the Connected App you created, with the force:auth:jwt:grant command.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .