Connector Submission
How to submit a Connector to Xchange
When your Connector is in a state that is ready to be used by App Xchange you can submit the Connector to be reviewed. If approved the Connector will be available on the platform. The same process is done for when updates are made to the Connector.
First run xchange extract
to check for common errors, such as build failures, too long variable names, etc. This command will be run again automatically when you submit, but it is best to address anything proactively. Double check that you have a Connector.sln
file in the same directory as your Connector
folder, and you do not have non-connector code in your directories. If applicable, confirm that there are not any currently open code submissions with xchange code list
, otherwise you will get a 409 error. Lastly, make sure key
in settings.json
matches the connector key provided by App Xchange for your connector. More info can be found here connector project structure.
urlPart
is replaced by key
in settings.json for CLI 1.3.9 and SDK 1.3.5
Running the App Xchange CLI in headless environments
The code
commands also support a --api-key
option. This option can be used when wanting to run these commands in a headless environment such as your CI/CD. In order to get a token please contact Product Enablement at xchange_build@trimble.com. If the --api-key
option is used then the --submitter
option is required.
Create Submission
While in the root of the Connector project the following command can be ran to create a zip archive of your Connector code and submit it to Xchange for review. If an archive already exists, use --override-archive to replace it with your current code state, and remember you can see all command details in cli usage.
Submitter is defaulted by User Login
The code submit
command will use the email of the logged-in user as the default for the
--submitter
field. The --submitter
option is only required if the --api-key
option is used. The CLI will provide guidance on the appropriate usage.
xchange code submit
There can only be one open submission per connector at a time
Before the archive is created it will first attempt a build of your code base, if successful all the archive will contain:
- The CS proj file
- settings.json
- All csharp files
Once submitted the result of the command will return a correlation ID. This ID can be used to check the status or manually close the submission if desired.
All submitters will receive an email once code submission is reviewed.
Dry Run
There may be times when you would first like to inspect the archive (code.zip) before submitting it to Xchange. This can be done with the --dry-run
option.
Early Feedback and Drafting
To get early feedback on a new connector build, which is encouraged, submit the code as a draft to let us know not to deploy the connector yet but to provide feedback or guidance if needed.
xchange code submit --draft
Lookup All Submissions
There are cases where you don't know your correlation ID or you want to audit your history of submissions. This can be done by using the list
command. For example if you want to see all of the submissions for the connector:
xchange code list
Filters can also be added such as only listing submissions by a particular submitter
xchange code list --submitter developer@example.com --api-key *api_key*
Check Submission Status
The get
command can be ran if you know the correlation ID of a submission and you want to look it up
xchange code get --correlation-id *correlation_id*
The status
command can also be ran to only return back the status, this may be useful for an automation pipeline.
xchange code status --correlation-id *correlation_id*
Available Submission Statuses
Below is a list of statuses and a brief description
Processing - The submission is going through validation and setup before being reviewed
Pending Approval - The submission's code is awaiting human approval
Approved - The submission's code is approved and building of the Connector will begin
Building - This stage is the building the Connector's image and meta data to later be used to publish
Pending Publish - Awaiting for approval to publish the Connect onto Xchange platform
Publishing - The Connector's meta data and image is being updated on the platform
Published - The changes supplied in the submission are available to be used on the platform
Rejected - The submission is denied. A submission can be denied due to code analysis gates failing or issues found during approval phase.
Closed - Submission has been manually closed via xchange code close
Close Submission
The close
command can be used to manually close out a submission. This could be desired due to finding out post submission that there is something more that needs to be done with the Connector.
xchange code close --correlation-id *correlation_id*
Once closed you are free to post another submission with your new changes.