Can someone recommend help for customfield type object?

I have implemented the most basic jira custom field as type object and it stores data fine, and I can pull data fine.
I want to get more granular with the schema and ways to work with it. Can anyone recommend a really good tutorial or examples? To be honest, the Forge documentation is not so clear with respect to this. Saying a valid “json schema” will work doesn’t seem to be the case. I have tried a hundred times…

It would be great just to be able to paste in an actual schema and not have to follow the nutty indentation rules for the manifest. And what version of “schema” are we working with? I want to use 6, but that does not seem to work when I try to specify it.

Again, I am hoping to find great examples or tutorials so I can learn more on how to implement this properly.

A valid schema…

{
“$schema”: “http://json-schema.org/draft-06/schema#”,
“type”: “object”,
“properties”: {
“list”: {
“type”: “object”,
“propertyNames”: {
“maxLength”: 3,
“minLength”: 3 ,
“pattern”: “^(TCO)|(SER)|(ESR)”
},
“patternProperties”: {
“”: { “type”: “array” }
},
“properties”: {
“”: {
“type”: “array”,
“items”: [
{
“type”: “object”,
“properties”: {
“”: {
“type”: “string”
},
“”: {
“type”: “string”
},
“”: {
“type”: “string”
}
},
“required”: [
]
}
]
}
},
“required”:
}
},
“required”: [
“list”
]
}

I am still looking for a masterclass on this subject as well as Jira Expressions. The expressions look like they could be fun, but I think there is more than meets the eye at first glance.

In case there are others struggling I have a JSON with working schema and simple expression that works for now (I changed my JSON structure to make it easier):

###### the basic JSON
{
“list”:{
“listID”:“tcop”,
“data”:[
{“a”:“b”},{“c”:“d”}
]
}
}

#### The basic expression
expression: “listID = ${value.list.listID}

this prints “listID = tcop” as the value in the search

#### The basic schema to match it
schema:
type: “object”
properties:
list:
type: “object”
properties:
listID:
type: “string”
data:
type: “array”

I hope this helps someone get started.
*** note that indentation really matters, so while this looks flat, be sure to properly indent in your manifest