I just set up the Integration Connector to Jira Cloud, but when I try to consume it in Application Integrations, such as datamapper, transformer, or even just a google cloud function I get what look like JSON Schema validation errors:
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/changelog"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/issue"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/issue_event_type_name"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/timestamp"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/user"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/webhookEvent"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/changelog"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/issue"
Message: instance type (object) does not match any allowed primitive type (allowed: ["integer","null","number","string"])
Schema Path:"/properties/issue/properties/fields/properties/assignee"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/issue_event_type_name"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/timestamp"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/user"
Message: the following keywords are unknown and will be ignored: [readOnly]
Schema Path:"/properties/webhookEvent"
The JSON payload I am being given does in fact contain these unlisted keys. Also, the `assignee` is an object. The errors are correct, but this is a pre-made solution from Google. Is it broken? How do I inform them it is broken without paying for a support contract? Note: The process works if the tickets are unassigned when they come in, but I am creating the tickets with the assignee already set.
Thanks,
Andrew Kettmann
edited: Changed title for more accuracy
Solved! Go to Solution.
I spoke with @pramodvallanur . At present the integration on the GCP side has the wrong value for the JSON Schema. To work around this, you can download the integration version as JSON:
then edit the JSON and find at integrationParameters the entry for `ConnectorEventPayload_1`:
edit the `jsonSchema` value to match what the data looks like. In my case, `/properties/issue/properties/fields/properties/assignee/type` I added the value `object`
Once you have edited and saved the file, upload it
One important note:
If you have already created other integrations/tasks, you are best to start over with a new integration or you will need to make the change through the jsonSchema field for each task that consumes the variable. Once you have updated the jsonSchema for the ConnectorEventPayload_1 you can create tasks and they will inherit the working settings.
Hey @akettmann, thanks for sharing this! You might find this article helpful: Application Integration: JIRA Connection & JIRA Trigger.
If you’re still running into the same problem, feel free to follow up—we’ll keep this thread on our radar!
Hope this helps!
I can set up the Integration Connector and the Application Integration successfully, but when I create a ticket on the Jira side and trigger the flow, it errors out on the first step no matter if the first step accesses the Jira payload or not.
I set up a (previous) datamapping to set `a = 5`, only static values, and I received the same JSON schema flavored error. Screenshot below showing log entry from a run triggered off of creation of a Jira ticket.
To be clear, the `unknown and ignored` errors don't matter, only this error actually is critical.
Message: instance type (object) does not match any allowed primitive type (allowed: ["integer","null","number","string"]) Schema Path:"/properties/issue/properties/fields/properties/assignee"
The JSON Schema is expecting a primitive instead of a JSON object here.
If the ticket I create does not have a user assigned, automation flows normally, though still produces the other non-fatal errors. I can simulate this by testing (successfully) with the payload from Jira modified with the assignee block:
```
"assignee": {
"self": "https://SOMEJIRA.atlassian.net/rest/api/2/user?accountId\someAccountID",
"accountId": "SOMEACCOUNT",
"avatarUrls": {
"48x48": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/AK-0.png",
"24x24": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/AK-0.png",
"16x16": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/AK-0.png",
"32x32": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/AK-0.png"
},
"displayName": "Andrew Kettmann",
"active": true,
"timeZone": "America/New_York",
"accountType": "atlassian"
}
removed or replaced with a string. However, that is not how the payload is arriving from Jira.
Hi akettmann,
Can you DM me, i can take a look at your integration. Thanks
Will Do.
https://www.googlecloudcommunity.com/gc/Community-Feedback/Direct-message-option-is-off-from-somebod...
My account is new, so I cannot send DMs yet I guess? or at least I certainly can't find the option.
The integration I have configured is nearly empty. It Triggers off of JiraCloud issuecreate and passes the jira payload to the cloud function unchanged.
I spoke with @pramodvallanur . At present the integration on the GCP side has the wrong value for the JSON Schema. To work around this, you can download the integration version as JSON:
then edit the JSON and find at integrationParameters the entry for `ConnectorEventPayload_1`:
edit the `jsonSchema` value to match what the data looks like. In my case, `/properties/issue/properties/fields/properties/assignee/type` I added the value `object`
Once you have edited and saved the file, upload it
One important note:
If you have already created other integrations/tasks, you are best to start over with a new integration or you will need to make the change through the jsonSchema field for each task that consumes the variable. Once you have updated the jsonSchema for the ConnectorEventPayload_1 you can create tasks and they will inherit the working settings.