For For developping and testing, the JIRA REST API Browser is a great help, because you can run the service calls directly form the GUI and can also see the URL that you need to generate. Unfortunately, this product has a bug that prevents it from working correctly with non-JIRA add-ons, so a patch is required.and test the responses using a GUI.
Table of Contents |
---|
JIRA REST API Browser
You can find this free add-on here: https://marketplace.atlassian.com/plugins/com.atlassian.labs.rest-api-browser.
...
Some more information can be found here: https://developer.atlassian.com/docs/atlassian-platform-common-components/rest-api-development/developing-a-rest-service-plugin
Patch the JIRA REST API Browser
Note | ||
---|---|---|
| ||
Since Version 3.2.x of the Atlassian REST API Browser, the patch below is not longer required. |
Note |
---|
Atlassian has added hard-coded information on the REST services that can be displayed via the JIRA REST Browser, so that, contary to the documentation, services of other add-ons are not displayed. THis This bug basically usually applies when installing the JIRA REST Browser in a non-development environment, if you are using the JIRA REST API Browser as part of a the JIRA SDK, it might work correctly (or not). If you do not see the services starting with "icbiz/", the JIRA REST API Browser does not work (or icbiz does not work correctly, e.g. because of a version incompatibility with ictime). |
You can work around this bug with the following patch:
Code Block |
---|
# download plugin (https://marketplace.atlassian.com/plugins/com.atlassian.labs.rest-api-browser):
# extract files (js)
unzip rest-api-browser-3.0.x.jar assets/rab/rest-api-browser.min.js assets/rab/services/rest_resources_service.js
# add icbiz in: assets/rab/rest-api-browser.min.js
var JIRA_PUBLIC_APIS=["^json-rpc/","^api/2","^auth/","^activities/","^icbiz/"]
# add icbiz in: assets/rab/services/rest_resources_service.js
var JIRA_PUBLIC_APIS = [
'^json-rpc/',
'^api/2',
'^auth/',
'^activities/',
'^icbiz/'
];
# update Jar-file
jar -uf rest-api-browser-3.0.x.jar assets/rab/rest-api-browser.min.js assets/rab/services/rest_resources_service.js |
...
This patched version should also display the services starting with icbiz/.
Example (Work Log Report, /rest/icbiz/1.0/worklog/report)
Go to the respective service and populate the mask with the criteria you want to filter your report (see /icbiz/1.0/worklog/report). In our example, we want to get all work logs for
- a defined project
- in a defined date range
- that have not yet been charged.
Click on send "Send" to get the resultsresponse.
You will see the The REST API Browser will display the parametrised service URL
Code Block |
---|
https://example.com/myjira/rest/icbiz/1.0/worklog/report?projectKey=GHJ&dateFrom=2013-10-01&dateTo=2013-11-30&accountingStatusapprovalStatus=NOT_INVOICED |
as well as the results of this calland the response:
Code Block |
---|
{ "responseType": "OK", "fieldErrors": [], "errMsgs": [], "expand": "activityType", "data": { "responseType": "OK", "fieldErrors": [], "errMsgs": [], "data": { "worklogListRest": [ { "issue": { "clazz": "de.iconcept.icbiz.api.entities.IssueRest", "key": "GHJ-1", "id": 12402 }, "created": "2013-11-03 11:07:22", "timeSpent": 1860, "worklogId": 12828, "startDate": "2013-11-03", "calcTime": 0, "approved": true, "noChargeInfo": "no charge, just some general research", "priceListId": 27, "invoiced": false, "acticityTypeId": 4, "chargeable": true, "activityTypeName": "Design & Usability", "priceListName": "TBD", "authorUserName": "john", "clazz": "de.iconcept.icbiz.api.entities.WorklogRest", "comment": "favicon er ......12828", "startTime": "2013-11-03 11:09:18", "endTime": "2013-11-03 11:09:18" }, { "issue": { "clazz": "de.iconcept.icbiz.api.entities.IssueRest", "key": "GHJ-1", "id": 12402 }, "created": "2013-10-21 11:07:22", "timeSpent": 1860, "worklogId": 12691, "startDate": "2013-10-21", "calcTime": 0, "approved": true, "priceListId": 27, "invoiced": false, "acticityTypeId": 4, "chargeable": false, "activityTypeName": "Design & Usability", "priceListName": "TBD", "authorUserName": "john", "clazz": "de.iconcept.icbiz.api.entities.WorklogRest", "comment": "Preparing ......12691", "startTime": "2013-10-21 11:09:18", "endTime": "2013-10-21 11:09:18" }, ], "clazz": "de.iconcept.icbiz.api.entities.WorklogReportRest" }, "clazz": "de.iconcept.icbiz.api.response.ResponseIct" }, etc. etc. ... |
...
"clazz": "de.iconcept.icbiz.api.response.ResponseIct"
}
|
Should there be errors, they will be displayed:
Code Block |
---|
{
"responseType": "EXCEPTION",
"fieldErrors": [],
"errMsgs": [
{
"errorMsg": "Invalid DateFormat for 20131001"
}
],
"clazz": "de.iconcept.icbiz.api.response.ResponseIct"
} |
If a parameter supports multiple entries (keys, IDs, ...), this is done via the GUI using the "+ Parameter" option: