Prerequisites to start the development
From Jira ServiceDesk
While Creating Jira Servicedesk Issue what are the mandatory fields and the maximum size of the attachment.
Exploring the Servicedesk API for creating the issue and adding the attachment.
Details of communication between different systems
CITI app API and fields details
Need to be communicated.
Jira API details and field details
While Creating issues the mandatory field is Summary
There are other fields also added in the create issue screen. But nothing is marked as mandatory. (Need to be checked what and all other fields are mandatory)
The Attachment file Size (while Creating issue it is mentioned as a note in that field)
Minimum Size | Maximum Size |
---|---|
10MB | 2GB |
Note: The Size of the attachment file can be changed.
4. API
Create customer request POST /rest/servicedeskapi/request
Request
EXAMPLE
{ "serviceDeskId": "10", "requestTypeId": "25", "requestFieldValues": { "summary": "Request JSD help via REST", "description": "I need a new mouse for my Mac" }, "requestParticipants": [ "john" ] }
Create attachment EXPERIMENTALPOST /rest/servicedeskapi/request/{issueIdOrKey}/attachment
Request
EXAMPLE
{ "temporaryAttachmentIds": [ "temp910441317820424274", "temp3600755449679003114" ], "public": true, "additionalComment": { "body": "Please find the screenshot and the log file attached." } }
NETX API and field details
put contents over here(also add a limit for attachment size/sync or async)
API
Authentication:
Hit the below endpoint URL with parameters to get sessionKey
URL: https://netxtest.artic.edu/external/api/json
Body Parameters (required):
id
method
params
dataContext
jsonrpc
Example:
Request:
{ "id":"13576991614322", "method":"authenticate", "params":["username", "password"], "dataContext":"json", "jsonrpc":"2.0" }
Response:
{ "result": { "sessionKey": "vhq6XpIrLdkCqirl2xFj8CEzk" }, "id": "13576991614322", "jsonrpc": "2.0" }
Create Asset: 2 step process
Step 1: Upload files to NetX server using below endpoint URL and parameters:
Body Parameters (required):
Filename: file
sessionKey : sessionKey
categoryId : categoryId (folder id)
Filedata: file.jpg
Response from Postman:
<exogen>done</exogen> with 200 status code
Step 2: Hit the create asset API using the below endpoint URL
Body Parameters (required):
sessionKey : sessionKey
Filedata: file.jpg
categoryId : categoryId (folder id)
Example:
Request
{ "id": "7441158495944158", "method": "createAssetFromFile", "params": [ "vhq6XpIrLdkCqirl2xFj8CEzk", "TestImageN6.jpg", 403, { "data": [ "asset.id", "asset.base", "asset.file" ] } ], "dataContext": "json", "jsonrpc": "2.0" }
Response
{ "result": { "id": 164608, "name": "TestImageN6", "fileName": "TestImageN6.jpg", "creationDate": 1602769228000, "importDate": 1602769228000, "modDate": 1602769228000, "file": { "name": "TestImageN6.jpg", "size": 33386, "width": null, "height": null, "checksum": null, "url": "/file/asset/164608/original/attachment" }, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null }, "id": "7441158495944158", "jsonrpc": "2.0" }
Get Asset:
Hit the below endpoint URL to get assets from specific folders
URL: https://netxtest.artic.edu/external/api/json
Body Parameters (required):
id
method
params
dataContext
jsonrpc
Example:
Request:
{ "id":"13576991614322", "method":"getAssetsByFolder", "params":[ "vhq6XpIrLdkCqirl2xFj8CEzk", 403, false, { "page": { "startIndex": 0, "size": 5 }, "data": ["asset.id", "asset.base"] } ], "dataContext":"json", "jsonrpc":"2.0" }
Response:
{ "result": { "results": [ { "id": 25263, "name": "Map: Impressionism in France", "fileName": "DS-CR1074.kml", "creationDate": 1596666194000, "importDate": 1596666194000, "modDate": 1597334777000, "file": null, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null }, { "id": 25511, "name": "DS-CR1346-1", "fileName": "DS-CR1346-1.kml", "creationDate": 1596666364000, "importDate": 1596666364000, "modDate": 1597278457000, "file": null, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null }, { "id": 14630, "name": "Map: African-American Art", "fileName": "DS-CR1346.kml", "creationDate": 1595976042000, "importDate": 1595976042000, "modDate": 1597334776000, "file": null, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null }, { "id": 25356, "name": "Map: Rococo to Realism", "fileName": "DS-CR1347.kml", "creationDate": 1596666253000, "importDate": 1596666253000, "modDate": 1597334777000, "file": null, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null }, { "id": 25496, "name": "Map: Winslow Homer's Locations", "fileName": "DS-CR1348.kml", "creationDate": 1596666355000, "importDate": 1596666355000, "modDate": 1597334778000, "file": null, "proxies": null, "views": null, "relatedAssets": null, "folders": null, "attributes": null } ], "size": 1853 }, "id": "13576991614322", "jsonrpc": "2.0" }
CITI to Jira Fields
CITI Fields | Jira Fields | |
---|---|---|
1 | Object ID | Object ID |
2 | Object title | Object title |
3 | Department | Object Department |
4 | Location/Place Name | Location/Place Name |
5 | Artist | Artist |
6 | Object Type | Object Type |
7 | Thumbnail path | Thumbnail path |
8 | Place ID/Place shortcut codes | Place ID |
9 | Exhibition ID | Exhibition ID |
10 | Exhibition Title | Exhibition Title |
11 | Exhibition Opening Date | Exhibition Opening Date |
12 | Exhibition Closing Date | Exhibition Closing Date |
13 | Exhibition Curator | Exhibition Curator |
Jira Fields to NetX
Jira Fields | NetX Fields | |
---|---|---|
1 | Object ID | Ryerson call number |
2 | Object ID | CITI relationships |
3 | Photographer assigned | Creator |
4 | Production staff assigned | Contributor |
5 | Description of views or details | Image view |
6 | Treatment status of conservation | Treatment status |
7 | Image capture light type | Image capture light type |
8 | Ticket number(Not in the Jira Test Instance) | Jira order number |
9 | Filename assigned by Jira(Not in the Jira Test Instance) | Preferred title |
10 | Filename assigned by Jira(Not in the Jira Test Instance) | Imaging UID |