(IN CONSTRUCTION)
Toolbox for Salesforce DX, by by Hardis-Group
sfdx plugins:link sfdx-hardis
You can use docker image nvuillam/sfdx-hardis
sfdx hardis:<COMMAND> <OPTIONS>
Run the following commands
mkdir ssh
cd ssh
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
More info on heroku documentation
Example info to input
$ openssl req -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Ile de France
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Hardis-Group
Organizational Unit Name (eg, section) []:ACS
Common Name (e.g. server FQDN or YOUR name) []:Nicolas Vuillamy
Email Address []:nicolas.vuillamy@hardis-group.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:pFeW2g9:ff*
An optional company name []:Hardis-Group
Please follow steps of documentation (the instructions are the same even if it is not a DevHub org)
The certificate to use is file server.crt generated during previous step
- Create a .sfdx-hardis.yml file at the root of your repository, with the following properties
- instanceUrl :
http://login.salesforce.com
orhttps://test.salesforce.com
- targetUsername : your salesforce username on the org (ex:
jeandupont@ma-prod.com
)
- instanceUrl :
Example
instanceUrl: https://login.salesforce.com # Must be the root of Salesforce Classic URL
targetUsername: nicolas.vuillamy@gmail.com
- Define SFDX_CLIENT_ID in your repository secret variables, with Consumer key value on Connected App sfdx
- Github instructions
- GitLab instructions (select Mask variable option)
Example: SFDX_CLIENT_ID: 3MVG9SOw8KERNN0.1kPOtqFc1ekdNpUho5WvGMn5n5IVMAFbcSvmY3_PEqoehefCbaQ299._Uh79SPeEPwk_5
sfdx hardis:auth:login [-r <string>] [-d] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx hardis:org:purge:flow [-z] [-n <string>] [-s <string>] [--sandbox] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx hardis:org:retrieve:sources:dx [-f <string>] [-t <string>] [-m <string>] [-z] [-s] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx hardis:org:retrieve:sources:metadata [-f <string>] [-p <string>] [-z] [-s] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx hardis:auth:login [-r <string>] [-d] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Login to salesforce org
Login to salesforce org
USAGE
$ sfdx hardis:auth:login [-r <string>] [-d] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --debug Activate debug mode (more logs)
-r, --instanceurl=instanceurl URL of org instance
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
$ sfdx hardis:auth:login
See code: lib/commands/hardis/auth/login.js
sfdx hardis:org:purge:flow [-z] [-n <string>] [-s <string>] [--sandbox] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Purge Obsolete flow versions to avoid the 50 max versions limit. Filters on Status and Name
Purge Obsolete flow versions to avoid the 50 max versions limit. Filters on Status and Name
USAGE
$ sfdx hardis:org:purge:flow [-z] [-n <string>] [-s <string>] [--sandbox] [-r <string>] [-d] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --debug Activate debug mode (more logs)
-n, --name=name Filter according to Name criteria
-r, --instanceurl=instanceurl [default:
https://login.saleforce.com] URL of
org instance
-s, --status=status [default: Obsolete] Filter according
to Status criteria
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-z, --[no-]prompt Prompt for confirmation (true by
default, use --no-prompt to skip)
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
--sandbox Use if the environment is a sandbox
EXAMPLES
$ sfdx hardis:org:purge:flow --targetusername nicolas.vuillamy@gmail.com
Found 1 records:
ID MASTERLABEL VERSIONNUMBER DESCRIPTION STATUS
30109000000kX7uAAE TestFlow 2 test flowwww Obsolete
Are you sure you want to delete this list of records (y/n)?: y
Successfully deleted record: 30109000000kX7uAAE.
Deleted the following list of records:
ID MASTERLABEL VERSIONNUMBER DESCRIPTION STATUS
30109000000kX7uAAE TestFlow 2 test flowwww Obsolete
$ sfdx hardis:org:purge:flow --targetusername nicolas.vuillamy@gmail.com --status "Obsolete,Draft,InvalidDraft --name
TestFlow"
Found 4 records:
ID MASTERLABEL VERSIONNUMBER DESCRIPTION STATUS
30109000000kX7uAAE TestFlow 2 test flowwww Obsolete
30109000000kX8EAAU TestFlow 6 test flowwww InvalidDraft
30109000000kX8AAAU TestFlow 5 test flowwww InvalidDraft
30109000000kX89AAE TestFlow 4 test flowwww Draft
Are you sure you want to delete this list of records (y/n)?: n
No record deleted
See code: lib/commands/hardis/org/purge/flow.js
sfdx hardis:org:retrieve:sources:dx [-f <string>] [-t <string>] [-m <string>] [-z] [-s] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Retrieve Salesforce DX project from org
Retrieve Salesforce DX project from org
USAGE
$ sfdx hardis:org:retrieve:sources:dx [-f <string>] [-t <string>] [-m <string>] [-z] [-s] [-r <string>] [-d] [-u
<string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --debug Activate debug mode (more logs)
-f, --folder=folder [default: .] Folder
-m, --filteredmetadatas=filteredmetadatas Comma separated list of Metadatas
keys to remove from PackageXml file
-r, --instanceurl=instanceurl URL of org instance
-s, --sandbox Use if the environment is a sandbox
-t, --tempfolder=tempfolder [default: ./tmp] Temporary folder
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-z, --[no-]prompt Prompt for confirmation (true by
default, use --no-prompt to skip)
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
$ sfdx hardis:org:retrieve:sources:dx
$ sfdx hardis:org:retrieve:sources:dx --sandbox
See code: lib/commands/hardis/org/retrieve/sources/dx.js
sfdx hardis:org:retrieve:sources:metadata [-f <string>] [-p <string>] [-z] [-s] [-r <string>] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Retrieve Salesforce DX project from org
Retrieve Salesforce DX project from org
USAGE
$ sfdx hardis:org:retrieve:sources:metadata [-f <string>] [-p <string>] [-z] [-s] [-r <string>] [-d] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --debug Activate debug mode (more logs)
-f, --folder=folder [default: .] Folder
-p, --packagexml=packagexml Path to package.xml manifest file
-r, --instanceurl=instanceurl URL of org instance
-s, --sandbox Use if the environment is a sandbox
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-z, --[no-]prompt Prompt for confirmation (true by
default, use --no-prompt to skip)
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
$ sfdx hardis:org:retrieve:sources:dx
$ sfdx hardis:org:retrieve:sources:dx --sandbox
See code: lib/commands/hardis/org/retrieve/sources/metadata.js