HP ALM/QC JIRA CLOUD JIRA ON-PREMISE ZENDESK GITHUB
This article shows how to request a customer monitor. With the customer monitor, you can check the status of your syncs with REST API calls.
In Exalate for HP ALM/QC, customer monitor is available after version 5.0.9.
How to request a customer monitor endpoint
To request a customer monitor endpoint create a ticket on our Service Desk.
In the ticket, please specify the instances you would like to set up the customer monitor for.
After your ticket is processed you will get:
A REST endpoint, for example:
https://jcloudnode.example.exalate.cloud/rest/issuehub/4.0/cmonitor
jcloudnode-example.exalate.cloud
is the Exalate URL of your instance.- Credentials to access the endpoint.
An endpoint will return a number of errors, that you can check with the numErrors
parameter.
{"numErrors":0}
You can also use REST calls to check the entity sync and the attachment sync status.
REST calls
Used to know if there were any sync requests ready to be received.
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncevents/syncrequests
Requires the client to authenticate to the NODE via JWT token.
Response
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "syncEventId": 4, "syncEventNumber": 1, "relationKey": "AllContent", "replica": { "issueKey": { "id": 11703, "urn": "AC-102" }, "summary": "AllContentPairAndSyncWiredTest update #1", "encodedPayload": "eyJ2ZXJzaW9uIjp7Im1ham9yIjoxLCJtaW5vciI6NCwicGF0Y2giOjB9LCJodWJJc3N1ZSI6eyJrZXkiOiJBQy0xMDgiLCJzdW1tYXJ5IjoiQWxsQ29udGVudFBhaXJBbmRTeW5jV2lyZWRUZXN0IiwiZGVzY3JpcHRpb24iOiJBbGxDb250ZW50UGFpckFuZFN5bmNXaXJlZFRlc3QgZGVzY3JpcHRpb24iLCJwcm9qZWN0Ijp7ImlkIjoxMDMwMCwia2V5IjoiQUMiLCJuYW1lIjoiQWxsIGNvbnRlbnQiLCJsZWFkIjp7ImtleSI6ImFkbWluIiwiYWN0aXZlIjp0cnVlLCJlbWFpbCI6ImFkbWluQGV4YW1wbGUuY29tIiwiZGlzcGxheU5hbWUiOiJhZG1pbiIsInVzZXJuYW1lIjoiYWRtaW4ifSwidmVyc2lvbnMiOlt7ImlkIjoxMDAwMCwibmFtZSI6IjEuMCIsImRlc2NyaXB0aW9uIjoiVGhlIGluaXRpYWwgcmVsZWFzZSIsImFyY2hpdmVkIjpmYWxzZSwicmVsZWFzZWQiOnRydWUsInJlbGVhc2VEYXRlIjoxNDM1ODgxNjAwMDAwLCJzdGFydERhdGUiOjE0MzU3MDg4MDAwMDAsInByb2plY3RLZXkiOiJBQyJ9LHsiaWQiOjEwMDAxLCJuYW1lIjoiMS4xIiwiZGVzY3JpcHRpb24iOiJUaGUgYnVnIGZpeCByZWxlYXNlIiwiYXJjaGl2ZWQiOmZhbHNlLCJyZWxlYXNlZCI6ZmFsc2UsInN0YXJ0RGF0ZSI6MTQzNjE0MDgwMDAwMCwicHJvamVjdEtleSI6IkFDIn0seyJpZCI6MTAwMDIsIm5hbWUiOiIyLjAiLCJkZXNjcmlwdGlvbiI6IlRoZSBuZXcgZmVhdHVyZSByZWxlYXNlIiwiYXJjaGl2ZWQiOmZhbHNlLCJyZWxlYXNlZCI6ZmFsc2UsInByb2plY3RLZXkiOiJBQyJ9XSwiY29tcG9uZW50cyI6W3siaWQiOjEwMTAyLCJkZXNjcmlwdGlvbiI6ImFkbWluIiwibmFtZSI6IlRlc3QgQ29tcG9uZW50IiwicHJvamVjdElkIjoxMDMwMCwicHJvamVjdEtleSI6IkFDIiwiYXNzaWduZWVUeXBlIjoiUFJPSkVDVF9ERUZBVUxUIn1dfSwiY29tcG9uZW50cyI6W3siaWQiOjEwMTAyLCJkZXNjcmlwdGlvbiI6ImFkbWluIiwibmFtZSI6IlRlc3QgQ29tcG9uZW50IiwicHJvamVjdElkIjoxMDMwMCwicHJvamVjdEtleSI6IkFDIiwiYXNzaWduZWVUeXBlIjoiUFJPSkVDVF9ERUZBVUxUIn1dLCJjdXN0b21LZXlzIjp7fSwiY3VzdG9tRmllbGRzIjp7IkN1c3RvbWVyIFJlcXVlc3QgVHlwZSI6eyJpZCI6MTAzMDAsIm5hbWUiOiJDdXN0b21lciBSZXF1ZXN0IFR5cGUiLCJkZXNjcmlwdGlvbiI6IkhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoIFNlcnZpY2UgRGVzayB3YXMgdXNlZCB0byBjcmVhdGUgYSB0aWNrZXQuIFRoaXMgY3VzdG9tIGZpZWxkIGlzIGNyZWF0ZWQgcHJvZ3JhbW1hdGljYWxseSBhbmQgbXVzdCBub3QgYmUgbW9kaWZpZWQuIiwidHlwZSI6IlZQX09SSUdJTiJ9LCJSZXF1ZXN0IHBhcnRpY2lwYW50cyI6eyJpZCI6MTAzMDEsIm5hbWUiOiJSZXF1ZXN0IHBhcnRpY2lwYW50cyIsImRlc2NyaXB0aW9uIjoiU3RvcmVzIHRoZSB1c2VycyB0aGF0IGFyZSBwYXJ0aWNpcGFudHMgaW4gU2VydmljZSBEZXNrIGN1c3RvbWVyIHBvcnRhbCByZXF1ZXN0cy4gVGhpcyBjdXN0b20gZmllbGQgaXMgY3JlYXRlZCBwcm9ncmFtbWF0aWNhbGx5IGFuZCByZXF1aXJlZCBieSBTZXJ2aWNlIERlc2suIiwidHlwZSI6IlVTRVJTIiwidmFsdWUiOltdfSwiR2VuZGVyIjp7ImlkIjoxMDAwNCwibmFtZSI6IkdlbmRlciIsInR5cGUiOiJPUFRJT04iLCJ2YWx1ZSI6eyJpZCI6MTAwMDUsInNlcXVlbmNlIjowLCJ2YWx1ZSI6Ik1hbGUiLCJkaXNhYmxlZCI6ZmFsc2UsImNoaWxkT3B0aW9ucyI6W119fSwiQmlydGhkYXRlIjp7ImlkIjoxMDAwNiwibmFtZSI6IkJpcnRoZGF0ZSIsInR5cGUiOiJEQVRFIn0sIlN0dWRpZXMiOnsiaWQiOjEwMDA1LCJuYW1lIjoiU3R1ZGllcyIsInR5cGUiOiJPUFRJT05TIiwidmFsdWUiOlt7ImlkIjoxMDAwNywic2VxdWVuY2UiOjAsInZhbHVlIjoiVW5pdmVyc2l0eSIsImRpc2FibGVkIjpmYWxzZSwiY2hpbGRPcHRpb25zIjpbXX0seyJpZCI6MTAwMDgsInNlcXVlbmNlIjoxLCJ2YWx1ZSI6IlNlY29uZGFyeSIsImRpc2FibGVkIjpmYWxzZSwiY2hpbGRPcHRpb25zIjpbXX1dfSwiTW9vZCI6eyJpZCI6MTAyMDAsIm5hbWUiOiJNb29kIiwidHlwZSI6IlNUUklORyJ9LCJUaW1lIHRvIHJlc29sdXRpb24iOnsiaWQiOjEwMzAyLCJuYW1lIjoiVGltZSB0byByZXNvbHV0aW9uIiwiZGVzY3JpcHRpb24iOiJUaGlzIGN1c3RvbSBmaWVsZCB3YXMgY3JlYXRlZCBieSBKSVJBIFNlcnZpY2UgRGVzay4iLCJ0eXBlIjoiU0RfU0xBX0ZJRUxEIn0sIlJlbWFya3MiOnsiaWQiOjEwMDAyLCJuYW1lIjoiUmVtYXJrcyIsInR5cGUiOiJURVhUIn0sIlJlbW90ZSBQcm9qZWN0IERldGFpbCI6eyJpZCI6MTAxMDAsIm5hbWUiOiJSZW1vdGUgUHJvamVjdCBEZXRhaWwiLCJkZXNjcmlwdGlvbiI6IkhhcyBhbGwgZGV0YWlscyBvZiB0aGUgcmVtb3RlIHByb2plY3QiLCJ0eXBlIjoiVEVYVCJ9LCJIb2JieSI6eyJpZCI6MTAwMDMsIm5hbWUiOiJIb2JieSIsInR5cGUiOiJPUFRJT05TIiwidmFsdWUiOltdfSwiMTAwMDAiOnsiaWQiOjEwMDAwLCJuYW1lIjoiTG9jYXRpb24iLCJ0eXBlIjoiU1RSSU5HIiwidmFsdWUiOiJCcnVzc2VscyJ9LCIxMDIwMCI6eyJpZCI6MTAyMDAsIm5hbWUiOiJNb29kIiwidHlwZSI6IlNUUklORyJ9LCIxMDAwMiI6eyJpZCI6MTAwMDIsIm5hbWUiOiJSZW1hcmtzIiwidHlwZSI6IlRFWFQifSwiMTAwMDEiOnsiaWQiOjEwMDAxLCJuYW1lIjoiQWdlIiwidHlwZSI6Ik5VTUVSSUMiLCJ2YWx1ZSI6MjIuMH0sIjEwMTAwIjp7ImlkIjoxMDEwMCwibmFtZSI6IlJlbW90ZSBQcm9qZWN0IERldGFpbCIsImRlc2NyaXB0aW9uIjoiSGFzIGFsbCBkZXRhaWxzIG9mIHRoZSByZW1vdGUgcHJvamVjdCIsInR5cGUiOiJURVhUIn0sIjEwMDA0Ijp7ImlkIjoxMDAwNCwibmFtZSI6IkdlbmRlciIsInR5cGUiOiJPUFRJT04iLCJ2YWx1ZSI6eyJpZCI6MTAwMDUsInNlcXVlbmNlIjowLCJ2YWx1ZSI6Ik1hbGUiLCJkaXNhYmxlZCI6ZmFsc2UsImNoaWxkT3B0aW9ucyI6W119fSwiMTAzMDEiOnsiaWQiOjEwMzAxLCJuYW1lIjoiUmVxdWVzdCBwYXJ0aWNpcGFudHMiLCJkZXNjcmlwdGlvbiI6IlN0b3JlcyB0aGUgdXNlcnMgdGhhdCBhcmUgcGFydGljaXBhbnRzIGluIFNlcnZpY2UgRGVzayBjdXN0b21lciBwb3J0YWwgcmVxdWVzdHMuIFRoaXMgY3VzdG9tIGZpZWxkIGlzIGNyZWF0ZWQgcHJvZ3JhbW1hdGljYWxseSBhbmQgcmVxdWlyZWQgYnkgU2VydmljZSBEZXNrLiIsInR5cGUiOiJVU0VSUyIsInZhbHVlIjpbXX0sIjEwMzAwIjp7ImlkIjoxMDMwMCwibmFtZSI6IkN1c3RvbWVyIFJlcXVlc3QgVHlwZSIsImRlc2NyaXB0aW9uIjoiSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggU2VydmljZSBEZXNrIHdhcyB1c2VkIHRvIGNyZWF0ZSBhIHRpY2tldC4gVGhpcyBjdXN0b20gZmllbGQgaXMgY3JlYXRlZCBwcm9ncmFtbWF0aWNhbGx5IGFuZCBtdXN0IG5vdCBiZSBtb2RpZmllZC4iLCJ0eXBlIjoiVlBfT1JJR0lOIn0sIjEwMDAzIjp7ImlkIjoxMDAwMywibmFtZSI6IkhvYmJ5IiwidHlwZSI6Ik9QVElPTlMiLCJ2YWx1ZSI6W119LCJBZ2UiOnsiaWQiOjEwMDAxLCJuYW1lIjoiQWdlIiwidHlwZSI6Ik5VTUVSSUMiLCJ2YWx1ZSI6MjIuMH0sIjEwMDA2Ijp7ImlkIjoxMDAwNiwibmFtZSI6IkJpcnRoZGF0ZSIsInR5cGUiOiJEQVRFIn0sIkxvY2F0aW9uIjp7ImlkIjoxMDAwMCwibmFtZSI6IkxvY2F0aW9uIiwidHlwZSI6IlNUUklORyIsInZhbHVlIjoiQnJ1c3NlbHMifSwiMTAwMDUiOnsiaWQiOjEwMDA1LCJuYW1lIjoiU3R1ZGllcyIsInR5cGUiOiJPUFRJT05TIiwidmFsdWUiOlt7ImlkIjoxMDAwNywic2VxdWVuY2UiOjAsInZhbHVlIjoiVW5pdmVyc2l0eSIsImRpc2FibGVkIjpmYWxzZSwiY2hpbGRPcHRpb25zIjpbXX0seyJpZCI6MTAwMDgsInNlcXVlbmNlIjoxLCJ2YWx1ZSI6IlNlY29uZGFyeSIsImRpc2FibGVkIjpmYWxzZSwiY2hpbGRPcHRpb25zIjpbXX1dfSwiMTAzMDIiOnsiaWQiOjEwMzAyLCJuYW1lIjoiVGltZSB0byByZXNvbHV0aW9uIiwiZGVzY3JpcHRpb24iOiJUaGlzIGN1c3RvbSBmaWVsZCB3YXMgY3JlYXRlZCBieSBKSVJBIFNlcnZpY2UgRGVzay4iLCJ0eXBlIjoiU0RfU0xBX0ZJRUxEIn19LCJsYWJlbHMiOlt7ImxhYmVsIjoiUmV2aWV3In1dLCJhZmZlY3RlZFZlcnNpb25zIjpbeyJpZCI6MTAwMDAsIm5hbWUiOiIxLjAiLCJkZXNjcmlwdGlvbiI6IlRoZSBpbml0aWFsIHJlbGVhc2UiLCJhcmNoaXZlZCI6ZmFsc2UsInJlbGVhc2VkIjp0cnVlLCJyZWxlYXNlRGF0ZSI6MTQzNTg4MTYwMDAwMCwic3RhcnREYXRlIjoxNDM1NzA4ODAwMDAwLCJwcm9qZWN0S2V5IjoiQUMifSx7ImlkIjoxMDAwMSwibmFtZSI6IjEuMSIsImRlc2NyaXB0aW9uIjoiVGhlIGJ1ZyBmaXggcmVsZWFzZSIsImFyY2hpdmVkIjpmYWxzZSwicmVsZWFzZWQiOmZhbHNlLCJzdGFydERhdGUiOjE0MzYxNDA4MDAwMDAsInByb2plY3RLZXkiOiJBQyJ9XSwiZml4VmVyc2lvbnMiOlt7ImlkIjoxMDAwMSwibmFtZSI6IjEuMSIsImRlc2NyaXB0aW9uIjoiVGhlIGJ1ZyBmaXggcmVsZWFzZSIsImFyY2hpdmVkIjpmYWxzZSwicmVsZWFzZWQiOmZhbHNlLCJzdGFydERhdGUiOjE0MzYxNDA4MDAwMDAsInByb2plY3RLZXkiOiJBQyJ9LHsiaWQiOjEwMDAyLCJuYW1lIjoiMi4wIiwiZGVzY3JpcHRpb24iOiJUaGUgbmV3IGZlYXR1cmUgcmVsZWFzZSIsImFyY2hpdmVkIjpmYWxzZSwicmVsZWFzZWQiOmZhbHNlLCJwcm9qZWN0S2V5IjoiQUMifV0sIndvcmtMb2dzIjpbeyJpZCI6MTAxMDEsImF1dGhvciI6eyJrZXkiOiJpc3N1ZWh1YiIsImFjdGl2ZSI6dHJ1ZSwiZW1haWwiOiJpc3N1ZWh1YkBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiaXNzdWVodWIiLCJ1c2VybmFtZSI6Imlzc3VlaHViIn0sInVwZGF0ZUF1dGhvciI6eyJrZXkiOiJpc3N1ZWh1YiIsImFjdGl2ZSI6dHJ1ZSwiZW1haWwiOiJpc3N1ZWh1YkBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiaXNzdWVodWIiLCJ1c2VybmFtZSI6Imlzc3VlaHViIn0sInN0YXJ0RGF0ZSI6MTQ1NDY3ODI1NzgwNywidGltZVNwZW50IjozNjAwMCwiY29tbWVudCI6IklcdTAwMjd2ZSBiZWVuIHdvcmtpbmcgZm9yIHRvbyBsb25nLiIsImNyZWF0ZWQiOjE0NTQ2NzgyNjI1NjIsInVwZGF0ZWQiOjE0NTQ2NzgyNjI1NjJ9XSwiYXNzaWduZWUiOnsia2V5IjoiZGV2ZWxvcGVyIiwiYWN0aXZlIjp0cnVlLCJlbWFpbCI6ImRldmVsb3BlckBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiQnJhZCBQaXR0IiwidXNlcm5hbWUiOiJkZXZlbG9wZXIifSwicmVwb3J0ZXIiOnsia2V5IjoiZGV2ZWxvcGVyIiwiYWN0aXZlIjp0cnVlLCJlbWFpbCI6ImRldmVsb3BlckBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiQnJhZCBQaXR0IiwidXNlcm5hbWUiOiJkZXZlbG9wZXIifSwiYXR0YWNobWVudHMiOltdLCJjb21tZW50cyI6W3siaWQiOjEwODE3LCJhdXRob3IiOnsia2V5IjoiaXNzdWVodWIiLCJhY3RpdmUiOnRydWUsImVtYWlsIjoiaXNzdWVodWJAZXhhbXBsZS5jb20iLCJkaXNwbGF5TmFtZSI6Imlzc3VlaHViIiwidXNlcm5hbWUiOiJpc3N1ZWh1YiJ9LCJ1cGRhdGVBdXRob3IiOnsia2V5IjoiaXNzdWVodWIiLCJhY3RpdmUiOnRydWUsImVtYWlsIjoiaXNzdWVodWJAZXhhbXBsZS5jb20iLCJkaXNwbGF5TmFtZSI6Imlzc3VlaHViIiwidXNlcm5hbWUiOiJpc3N1ZWh1YiJ9LCJib2R5IjoiSG91c3Rvbiwgd2UgaGF2ZSBhIHByb2JsZW0uIiwiY3JlYXRlZCI6MTQ1NDY3ODI2MjUyMiwidXBkYXRlZCI6MTQ1NDY3ODI2MjUyMiwiaW50ZXJuYWwiOmZhbHNlfV0sInN0YXR1cyI6eyJpZCI6IjEwMDAxIiwibmFtZSI6IlRvIERvIiwiZGVzY3JpcHRpb24iOiIifSwiaXNzdWVUeXBlIjp7ImlkIjoiMiIsIm5hbWUiOiJOZXcgRmVhdHVyZSIsImRlc2NyaXB0aW9uIjoiQSBuZXcgZmVhdHVyZSBvZiB0aGUgcHJvZHVjdCwgd2hpY2ggaGFzIHlldCB0byBiZSBkZXZlbG9wZWQuIn0sInByaW9yaXR5Ijp7ImlkIjoiMiIsIm5hbWUiOiJDcml0aWNhbCIsImRlc2NyaXB0aW9uIjoiQ3Jhc2hlcywgbG9zcyBvZiBkYXRhLCBzZXZlcmUgbWVtb3J5IGxlYWsuIn0sInZvdGVzIjoxLCJ3YXRjaGVzIjoxLCJlbnZpcm9ubWVudCI6IkFsbENvbnRlbnRQYWlyQW5kU3luY1dpcmVkVGVzdCBlbnZpcm9ubWVudCIsImR1ZSI6MTQ1MTYwNjQwMDAwMCwidm90ZXJzIjpbeyJrZXkiOiJhZG1pbiIsImFjdGl2ZSI6dHJ1ZSwiZW1haWwiOiJhZG1pbkBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiYWRtaW4iLCJ1c2VybmFtZSI6ImFkbWluIn1dLCJ3YXRjaGVycyI6W3sia2V5IjoiaXNzdWVodWIiLCJhY3RpdmUiOnRydWUsImVtYWlsIjoiaXNzdWVodWJAZXhhbXBsZS5jb20iLCJkaXNwbGF5TmFtZSI6Imlzc3VlaHViIiwidXNlcm5hbWUiOiJpc3N1ZWh1YiJ9LHsia2V5IjoiYWRtaW4iLCJhY3RpdmUiOnRydWUsImVtYWlsIjoiYWRtaW5AZXhhbXBsZS5jb20iLCJkaXNwbGF5TmFtZSI6ImFkbWluIiwidXNlcm5hbWUiOiJhZG1pbiJ9XSwiZXN0aW1hdGUiOjAsInNwZW50IjozNjAwMH19" }, "traces": [ { "type": "COMMENT", "localId": "10816", "remoteId": "10817", "action": "NONE", "toSynchronize": true } ], "blobMetadataList": [] } ]
STATUS 400 - plain/text Returned if connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
STATUS 401 - application/json Returned if the request is authenticated with incorrect credentials.STATUS 403 - application/json Returned if the request is not authenticated.STATUS 500 - application/json Returned if a bug situation is encountered.
Used to know if there were any blob requests ready to be received.
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncevents/blobrequests
Requires the client to authenticate to the NODE via JWT token.
Responses
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "relationKey":"AllContent", "syncEventId": 55, "blobMetadata": { "blobId": 10008, "checksum": "90630d8f774de272400bdc9422b26d91" } } ]
STATUS 400 - plain/text Returned if the connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
Used to know if there were any sync responses for the previously submitted sync requests.
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncrequests/syncresponses
Requires the client to authenticate to the NODE via JWT token
Response
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "syncEventId": 16, "relationKey": "GROOVY", "sourceIssueKey": { "id": 11716, "urn": "PAR-37" }, "replica": { "issueKey": { "id": 11717, "urn": "PAR-38" }, "summary": "Exalated: BasicAttachmentWiredTest", "encodedPayload": "eyJ2ZXJzaW9uIjp7Im1ham9yIjoxLCJtaW5vciI6NCwicGF0Y2giOjB9LCJodWJJc3N1ZSI6eyJzdW1tYXJ5IjoiRXhhbGF0ZWQ6IEJhc2ljQXR0YWNobWVudFdpcmVkVGVzdCIsImN1c3RvbUtleXMiOnt9LCJjdXN0b21GaWVsZHMiOnsiQ3VzdG9tZXIgUmVxdWVzdCBUeXBlIjp7ImlkIjoxMDMwMCwibmFtZSI6IkN1c3RvbWVyIFJlcXVlc3QgVHlwZSIsImRlc2NyaXB0aW9uIjoiSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggU2VydmljZSBEZXNrIHdhcyB1c2VkIHRvIGNyZWF0ZSBhIHRpY2tldC4gVGhpcyBjdXN0b20gZmllbGQgaXMgY3JlYXRlZCBwcm9ncmFtbWF0aWNhbGx5IGFuZCBtdXN0IG5vdCBiZSBtb2RpZmllZC4iLCJ0eXBlIjoiVlBfT1JJR0lOIn0sIlJlcXVlc3QgcGFydGljaXBhbnRzIjp7ImlkIjoxMDMwMSwibmFtZSI6IlJlcXVlc3QgcGFydGljaXBhbnRzIiwiZGVzY3JpcHRpb24iOiJTdG9yZXMgdGhlIHVzZXJzIHRoYXQgYXJlIHBhcnRpY2lwYW50cyBpbiBTZXJ2aWNlIERlc2sgY3VzdG9tZXIgcG9ydGFsIHJlcXVlc3RzLiBUaGlzIGN1c3RvbSBmaWVsZCBpcyBjcmVhdGVkIHByb2dyYW1tYXRpY2FsbHkgYW5kIHJlcXVpcmVkIGJ5IFNlcnZpY2UgRGVzay4iLCJ0eXBlIjoiVVNFUlMiLCJ2YWx1ZSI6W119LCJHZW5kZXIiOnsiaWQiOjEwMDA0LCJuYW1lIjoiR2VuZGVyIiwidHlwZSI6Ik9QVElPTiJ9LCJCaXJ0aGRhdGUiOnsiaWQiOjEwMDA2LCJuYW1lIjoiQmlydGhkYXRlIiwidHlwZSI6IkRBVEUifSwiU3R1ZGllcyI6eyJpZCI6MTAwMDUsIm5hbWUiOiJTdHVkaWVzIiwidHlwZSI6Ik9QVElPTlMiLCJ2YWx1ZSI6W119LCJNb29kIjp7ImlkIjoxMDIwMCwibmFtZSI6Ik1vb2QiLCJ0eXBlIjoiU1RSSU5HIn0sIlRpbWUgdG8gcmVzb2x1dGlvbiI6eyJpZCI6MTAzMDIsIm5hbWUiOiJUaW1lIHRvIHJlc29sdXRpb24iLCJkZXNjcmlwdGlvbiI6IlRoaXMgY3VzdG9tIGZpZWxkIHdhcyBjcmVhdGVkIGJ5IEpJUkEgU2VydmljZSBEZXNrLiIsInR5cGUiOiJTRF9TTEFfRklFTEQifSwiUmVtYXJrcyI6eyJpZCI6MTAwMDIsIm5hbWUiOiJSZW1hcmtzIiwidHlwZSI6IlRFWFQifSwiUmVtb3RlIFByb2plY3QgRGV0YWlsIjp7ImlkIjoxMDEwMCwibmFtZSI6IlJlbW90ZSBQcm9qZWN0IERldGFpbCIsImRlc2NyaXB0aW9uIjoiSGFzIGFsbCBkZXRhaWxzIG9mIHRoZSByZW1vdGUgcHJvamVjdCIsInR5cGUiOiJURVhUIn0sIkhvYmJ5Ijp7ImlkIjoxMDAwMywibmFtZSI6IkhvYmJ5IiwidHlwZSI6Ik9QVElPTlMiLCJ2YWx1ZSI6W119LCIxMDAwMCI6eyJpZCI6MTAwMDAsIm5hbWUiOiJMb2NhdGlvbiIsInR5cGUiOiJTVFJJTkcifSwiMTAyMDAiOnsiaWQiOjEwMjAwLCJuYW1lIjoiTW9vZCIsInR5cGUiOiJTVFJJTkcifSwiMTAwMDIiOnsiaWQiOjEwMDAyLCJuYW1lIjoiUmVtYXJrcyIsInR5cGUiOiJURVhUIn0sIjEwMDAxIjp7ImlkIjoxMDAwMSwibmFtZSI6IkFnZSIsInR5cGUiOiJOVU1FUklDIn0sIjEwMTAwIjp7ImlkIjoxMDEwMCwibmFtZSI6IlJlbW90ZSBQcm9qZWN0IERldGFpbCIsImRlc2NyaXB0aW9uIjoiSGFzIGFsbCBkZXRhaWxzIG9mIHRoZSByZW1vdGUgcHJvamVjdCIsInR5cGUiOiJURVhUIn0sIjEwMDA0Ijp7ImlkIjoxMDAwNCwibmFtZSI6IkdlbmRlciIsInR5cGUiOiJPUFRJT04ifSwiMTAzMDEiOnsiaWQiOjEwMzAxLCJuYW1lIjoiUmVxdWVzdCBwYXJ0aWNpcGFudHMiLCJkZXNjcmlwdGlvbiI6IlN0b3JlcyB0aGUgdXNlcnMgdGhhdCBhcmUgcGFydGljaXBhbnRzIGluIFNlcnZpY2UgRGVzayBjdXN0b21lciBwb3J0YWwgcmVxdWVzdHMuIFRoaXMgY3VzdG9tIGZpZWxkIGlzIGNyZWF0ZWQgcHJvZ3JhbW1hdGljYWxseSBhbmQgcmVxdWlyZWQgYnkgU2VydmljZSBEZXNrLiIsInR5cGUiOiJVU0VSUyIsInZhbHVlIjpbXX0sIjEwMzAwIjp7ImlkIjoxMDMwMCwibmFtZSI6IkN1c3RvbWVyIFJlcXVlc3QgVHlwZSIsImRlc2NyaXB0aW9uIjoiSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggU2VydmljZSBEZXNrIHdhcyB1c2VkIHRvIGNyZWF0ZSBhIHRpY2tldC4gVGhpcyBjdXN0b20gZmllbGQgaXMgY3JlYXRlZCBwcm9ncmFtbWF0aWNhbGx5IGFuZCBtdXN0IG5vdCBiZSBtb2RpZmllZC4iLCJ0eXBlIjoiVlBfT1JJR0lOIn0sIjEwMDAzIjp7ImlkIjoxMDAwMywibmFtZSI6IkhvYmJ5IiwidHlwZSI6Ik9QVElPTlMiLCJ2YWx1ZSI6W119LCJBZ2UiOnsiaWQiOjEwMDAxLCJuYW1lIjoiQWdlIiwidHlwZSI6Ik5VTUVSSUMifSwiMTAwMDYiOnsiaWQiOjEwMDA2LCJuYW1lIjoiQmlydGhkYXRlIiwidHlwZSI6IkRBVEUifSwiTG9jYXRpb24iOnsiaWQiOjEwMDAwLCJuYW1lIjoiTG9jYXRpb24iLCJ0eXBlIjoiU1RSSU5HIn0sIjEwMDA1Ijp7ImlkIjoxMDAwNSwibmFtZSI6IlN0dWRpZXMiLCJ0eXBlIjoiT1BUSU9OUyIsInZhbHVlIjpbXX0sIjEwMzAyIjp7ImlkIjoxMDMwMiwibmFtZSI6IlRpbWUgdG8gcmVzb2x1dGlvbiIsImRlc2NyaXB0aW9uIjoiVGhpcyBjdXN0b20gZmllbGQgd2FzIGNyZWF0ZWQgYnkgSklSQSBTZXJ2aWNlIERlc2suIiwidHlwZSI6IlNEX1NMQV9GSUVMRCJ9fSwiYXR0YWNobWVudHMiOlt7ImlkIjoxMDAwMiwibWltZXR5cGUiOiJpbWFnZS9wbmciLCJmaWxlbmFtZSI6IlRyaWFuZ2xlXzE2eDE2LnBuZyIsImNyZWF0ZWQiOjE0NTQ2NzgwMTA4MzIsImZpbGVzaXplIjo4ODgsImF1dGhvciI6eyJrZXkiOiJpc3N1ZWh1YiIsImFjdGl2ZSI6dHJ1ZSwiZW1haWwiOiJpc3N1ZWh1YkBleGFtcGxlLmNvbSIsImRpc3BsYXlOYW1lIjoiaXNzdWVodWIiLCJ1c2VybmFtZSI6Imlzc3VlaHViIn0sInRodW1ibmFpbGFibGUiOnRydWUsInppcCI6ZmFsc2V9XX19" }, "traces": [ { "type": "ATTACHMENT", "localId": "10002", "remoteId": "10001", "action": "NONE", "toSynchronize": true } ] } ]
STATUS 400 - plain/text Returned if connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
STATUS 401 - application/json Returned if the request is authenticated with incorrect credentials.STATUS 403 - application/json Returned if the request is not authenticated.STATUS 500 - application/json Returned if a bug situation is encountered.
Used to know if there were any blob responses for the previously submitted blob requests.
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncrequests/blobresponses
Requires the client to authenticate to the NODE via JWT token
Response
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "relationKey": "defaultrelation", "syncEventId": 14, "blobEventId": 100, "blobMetadata": { "blobId": 10000, "checksum": "17a7c1aaf84aa7c551dd1e349f30c2c8" } } ]
STATUS 400 - plain/text Returned if connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
STATUS 401 - application/json Returned if the request is authenticated with incorrect credentials.STATUS 403 - application/json Returned if the request is not authenticated.STATUS 500 - application/json Returned if a bug situation is encountered.
Used to know if there were any failures to process sync requests for the previously submitted sync requests
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncrequests/errorresponses
Requires the client to authenticate to the NODE via JWT token.
Response
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "syncEventId": 49, "relationKey": "AllContent", "sourceIssueKey": { "id": 11742, "urn": "AC-113" }, "message": "Could not connect `AC-113` to `AC-111`: issue by key `AC-111` already was connected to another issue using relation `AllContent`", "errorReason": "NO_ISSUE_TO_CONNECT_TO" } ]
STATUS 400 - plain/text Returned if connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
STATUS 401 - application/json Returned if the request is authenticated with incorrect credentials.STATUS 403 - application/json Returned if the request is not authenticated.STATUS 500 - application/json Returned if a bug situation is encountered.
Used to know if there were any failures to process attachment synchronizations for the previously submitted attachment synchronization requests
Request example
GET http://localhost:2990/jira/rest/issuehub/2.4/relations/AllContent/syncrequests/bloberrorresponses
Requires the client to authenticate to the NODE via JWT token
Response
STATUS 200 - application/json Returned if the message has been successfully received.
[ { "relationKey": "defaultrelation", "syncEventId": 14, "blobEventId": 100, "blobId": 10000, "sourceIssueKey": { "id": 11716, "urn": "PAR-37" }, "errorMessage": "Checksums for blob id '10000' do not match. Expected: 17a7c1aaf84aa7c551dd1e349f30c2c8 Was: 90630d8f774de272400bdc9422b26d91" "blobErrorReason": "CHECKSUM_MISMATCH" } ]
STATUS 400 - plain/text Returned if connection was not found:
Connection `AllContent` not found. Seems like it was removed on the Destination side.
STATUS 401 - application/json Returned if the request is authenticated with incorrect credentials.STATUS 403 - application/json Returned if the request is not authenticated.STATUS 500 - application/json Returned if a bug situation is encountered.