Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 11 Next »

Prerequisites to start the development

From Jira ServiceDesk

  1. While Creating Jira Servicedesk Issue what are the mandatory fields and the maximum size of the attachment.

  2. 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

  1. While Creating issues the mandatory field is Summary

  2. 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)

  3. 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:

Response from Postman:

<exogen>done</exogen> with 200 status code

  • Step 2: Hit the create asset API using the below endpoint URL

    • URL: https://netxtest.artic.edu/external/api/json

    • 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

Approaches for collecting data from CITI app

  • Using JSD forms

Steps

User clicks on the link in the CITI app to raise the request
This opens a browser window and JSD portal with JSD form fields on it
User can use this to log a request

Pros

JSD will handle the creation of tickets through its internal mechanism and will take care of attachments if any automatically as a part of same form submission

Cons

Pre-filling of fields is not supported. User will have to fill all the necessary details manually

  • Using JSD create request api

Steps

User clicks on the link in the CITI app to raise the request
This opens a browser window which will run the script to make a request to the JSD api
After successfully creating the ticket user is redirected to the url received in the response to the create request api call

Props

JSD will handle the creation of tickets through its internal mechanism and the caller app(CITI) will have full control over the entire process of redirection of the user after request is created in JSD

Cons

--

Doubts and Clarifications

Questions

Details

Clarification

Status

What kind of mechanism do we want to use for making the request from CITI to JIRA?

Do we want to use JSD customer portal forms or do we want to use JSD create customer request api or both? Does it depend on the request type?

There maybe some scenarios in parent child relationship where we may have to go ahead with request apis but for most of the scenarios we will be using the JSD form with pre-filled values from CITI

Resolved

On what event do we have to send data from JSD to CITI app?

After creation of a request?
After update is made to JSD request?

Unresolved

What are the different types of scenarios we will encounter while making a request from CITI app to JSD

parent/child relationship in orders
multiple orders in one request
any other type??

Unresolved

Whats a briefcase in CITI app?

In one of the mails it is mentioned that a briefcase in CITI app can be used to make an imaging order. Are there any other such features that we should know about?

Briefcase in CITI app is nothing but clubbing multiple objects from CITI into one request in JSD

Resolved

What do you mean by dynamic functionalities of the form fields?

There are some places in mail chain where it mentions the term dynamic functionalities wrt JSD form fields.

Dynamic functionalities of the form means the ability of the JSD forms to validate the input or to pull the list of Users or list of issues and display them in the Issue picker or user picker respectively

Resolved

Are the data points sent from CITI to JSD remain the same for different request types?

Object ID, Object title, Artist, Department, Object Type, Thumbnail path, Place ID/Place shortcut codes, Location/Place Name, Exhibition ID, Exhibition Title, Exhibition Opening Date, Exhibition Opening Date, Exhibition Closing Date, Exhibition Curator

They remain the same (only the actual values will differ). Also for one request type some proportion of these data points may be sent over to JSD and for other request type the remaining may be sent over for ex. for object photography the CITI app may send Object ID ,Object title, Artist, Department and Object Type, Thumbnail path but for conservation photography the CITI app may send Place ID/Place shortcut codes and Location/Place Name only

Resolved

Transitions of requests through different workflows and process to follow for each workflow

Unresolved

Communication NETX api

Unresolved

  • No labels