ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Problem with using GET method with Atlassian Jira

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with using GET method with Atlassian Jira

    We have an IBM i server (aka iSeries, AS/400), with a CMS that we are using to access our instance of Atlassian Jira on an https server.

    We are using the Jira REST APIs from the IBM i to access Jira.
    We are using the IBM provided AxisC utilities.

    Our IBM i has the certificates needed to access Jira, imported via DCM.
    Certs are valid and active, stored to the Default Store.

    Now, our CMS uses the "Edit Issue" Jira REST API, and it works, beautifully, to update a Jira Issue.
    "Edit Issue" is a PUT method API.

    We are now trying to use the "Get Issue" API, which is a GET API.
    The properties are set the same as the "Edit Issue" (except for using GET instead of PUT).
    My JSON Request string is null, as Jira's documentation was not really clear on what to use there.
    I am using the "fields" parameter on the URL for the "Get Issue" API (https://jira.mycompany.com/rest/api/...,field2,field3).
    I didn't set any SSL properties for the working "Edit Issue" API, so I didn't set them here, either (when I did, I got a Certificate not found error, which makes no sense since we have the certs).

    When issuing the "Get Issue" API, I am getting error 53 Channel Initialization error (Key Database not found), as though there was a missing certificate or some other cert problem.

    Why does the "Edit Issue" API work, but the "Get Issue" does not?
    Do I need to do something different to use a GET API?
    Is there a property I need to set that PUT APIs don't need?

    I hope I provided enough information - I am not allowed to respond to posts on this forum.

  • #2
    Hi Doug,

    I'm not familiar with either the Jira API or the AxisC utilities. (The few times I've seen people use AxisC the code was so ugly that I decided not to even bother learning about them.)

    I am, however, familiar wih the "Key Database Not Found" error. The way the IBM i operating system deals with SSL is by setting up one or more "certificate stores" in the Digital Certificate Manager. The APIs often refer to these as "key databases" (even though the DCM refers to them as "certificate stores" they are the same.) It's not clear why this would work fine with your PUT example and not with the GET -- I would've expected them to work the same way, but again, I'm not familiar with the AxisC utilities. But, the message is very simple: It can't find the certificate store that you've selected. There should be an AxisC routine where you can specify which key database (or certificate store) that you wish to use... you'll need to check and make sure you're calling that correctly.

    With regards to your common "My JSON Request string is null". Only POST and PUT requests send a request body. So it's not possible to send a request JSON string with GET. This is likely why you don't see documentation about that in the Jira API docs... it doesn't make sense to document it since it's not possible to send anything. However, there should be information in the AxisC docs about how to call a GET request that explains what to provide for this parameter where there isn't anything to send. (Some APIs don't even offer a parameter for this on a GET request -- it really depends on whether they use the same API for GET that they use for POST/PUT or a different one.)

    Comment

    Working...
    X