Problem with connector-spec.json

Hi,
I am trying to create source config item with the type of “json” (as per Connector Specification File | SailPoint Developer Community). When I run “npm run pack-zip” and use “sail conn upload” on the zip file I receive this error message:

Error: upload failed. status: 400 Bad Request
body: {"detailCode":"Bad Request","trackingId":"e2b3a4e177b14b85bb1b4648dab4893e","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"400 Bad Request: connector specification validation failed:  Schema validation error in path: [/sourceConfig: [{\"items\":[{\"helpTex... did Not match any specified AnyOf schemas] (e2b3a4e177b14b85bb1b4648dab4893e)"}]}

I have confirmed it is the item with type=json:

{
	"key": "inclusionList",
	"type": "json",
	"label": "Inclusion List - JSON formatted array",
	"helpText": "The JSON formatted list to always include during aggregation",
	"required": false
}

Am I doing something wrong or is this a bug?
Cheers

Can you share your connector spec file? Please omit any sensitive data if necessary.

Sure can:

connector-spec.txt (9.1 KB)

There are two config items called “inclusionList” and “exclusionList” that are current set to “text” so that I can upload the connector zip file. They should be “json” if it worked.

After looking into the problem with our development team, it turns out json is not a supported type. I have created a PR to fix this in our docs: Update connector-spec.md by philip-ellis-sp · Pull Request #186 · sailpoint-oss/developer.sailpoint.com · GitHub

Hi Philip,

Thanks for the update. I notice in the PR that you are also adding a “textarea” type. Is that currently supported by the SDK? I have a large block of JSON I want to pass in as a config value.

Cheers

Yes, textarea type should work. I have not personally tried them all but I was given an updated list by engineering. Let me know if you have any difficulty using the additional types.

Thanks Philip, trying it at the moment. It would be great to get some examples of each type in the documentation maybe, to show how to use each type? Thinking types like select, toggle, list, keyValue, cardList etc.

2 Likes

I just created an issue here:

Please note that the entire developer website is open source, so feel free to make edits to any of the documentation pages as you see areas to improve. Just click on the link on the bottom of the page to edit.

Hi Philip,

I would be happy to add something to that page but unfortunately I am not sure how to define some of those types. For example they “keyValue” type. I am assuming the spec file requires the options to be defined like:

"AllowedValues": {
	"Option": {
		"label": "Item",
		"value": "item"
	}
},

But that format causes an error when uploading the distribution file. Is the publicly available schema I can reference to get the types to work?

Cheers

Good point there! I will be looking into this in the next couple of weeks to resolve for those more complex types. I don’t think there is a publicly available source for the data model behind those.

Do you know when we can expect this documentation?

I am creating a connector where I would like to list out some options that a user can multi-select what options they want. I can use a List config type, but the source is picky about case and options not existing. So it would be better to control the input more than having a free form List.

I will be looking into adding it this week most likely.

Documentation now includes examples for all the complex input attributes. You can find them all here: Connector Specification File | SailPoint Developer Community

1 Like

Great, thank you! Is it possible to pre-populate the List?

The documentation is very helpful. Especially the parentKey and parentValue for hiding fields until they are needed.