REST API

From Lingoport Wiki
Jump to: navigation, search

Lingoport Dashboard is built on top of SonarQube server and benefits from the facilities of that platform; This includes a REST API. This REST API can be used to integrate i18n and L10n results of the Lingoport Dashboard to other Dashboard. Other Dashboard can consume data from the Lingoport Dashboard as illustrated in the examples below.

Check Lingoport Dashboard Availability

Go to https://dashboard.lingoport.com or your own Lingoport Dashboard instance, say https://your.own-dashboard.company. You should see the Dashboard for the public javademo Dashboard project. There are more projects there, but they are visible only to 'authorized' users. If you have installed the dashboard on one of your system, you should see the same project. The javademo is the illustrative example for the Globalyzer tutorials, the videos on how to use Globalyzer on the Web site, and the Dashboard so it ties it all together. The Dashboard project also shows LRM issues (resource files, translations, etc.)

List Dashboard Projects

In your browser, simply go to this URL (will execute an HTTP get):

https://dashboard.lingoport.com/api/resources

or

https://your.own-dashboard.company/api/resources

This lists the projects in the Dashboard in an XML message which can be used/consumed by any client, including your own internal Dashboard. Please note the javademo dashboard identifier: javademo:scan.

List a Project's Issues

List all the violations for the project identified by the key javademo:scan: This is the call you want to use most of the time. From the result, you can decide to do whatever you please, aggregate the results, count the type of issue, count all the issues together, etc:

https://dashboard.lingoport.com/api/violations?resource=javademo:scan&depth=-1

or

https://your.own-dashboard.company/api/violations?resource=javademo:scan&depth=-1


Retrieve Some Source Code around an Issue

If your project source code has been uploaded to the server, as is the case for javademo, then you can see the source around lines of code (typically to give a context for an issue identified in (3) with:

https://dashboard.lingoport.com/api/sources?resource=javademo:scan:src/com/lingoport/demo/java/ExamplePanel.java&from=10&to=20

or

https://your.own-dashboard.company/api/sources?resource=javademo:scan:src/com/lingoport/demo/java/ExamplePanel.java&from=10&to=20

Issue tracking

The search function of the Dashboard API (/api/issues/search) may be used to get very detailed information about issue status. For instance, seeing the number of issues detected within a given timeperiod. Or how many were resolved.

The following parameters may be useful:

/api/issues/search
createdAfter=2016-10-01
createdBefore=2018-10-01
updatedAfter=2017-12-01
updatedBefore=2018-01-01
projectKeys
Lingoport.WorldWindJava:scan
status
OPEN
CONFIRMED
REOPENED
RESOLVED
CLOSED
resolved
yes
no
resolutions
FALSE-POSITIVE
WONTFIX
FIXED
REMOVED
rules
gyzr:GlobalyzerESConcatCheck
gyzr:GlobalyzerES1Check
gyzr:GlobalyzerES2Check
gyzr:GlobalyzerES3Check
gyzr:GlobalyzerGPConcatCheck
gyzr:GlobalyzerGP1Check
gyzr:GlobalyzerGP2Check
gyzr:GlobalyzerGP3Check
gyzr:GlobalyzerLSMConcatCheck
gyzr:GlobalyzerLSM1Check
gyzr:GlobalyzerLSM2Check
gyzr:GlobalyzerLSM3Check
gyzr:GlobalyzerSFRConcatCheck
gyzr:GlobalyzerSFR1Check
gyzr:GlobalyzerSFR2Check
gyzr:GlobalyzerSFR3Check


Determine number of currently active issues detected since a given time period

The following parameters may be used to determine the number of currently active issues that were detected in a given time period:

createdAfter=2016-10-01
createdBefore=2018-10-01
projectKeys=Lingoport.DemoWWJ:scan
resolved=no
rules=gyzr:GlobalyzerESConcatCheck,gyzr:GlobalyzerES1Check,gyzr:GlobalyzerES2Check,gyzr:GlobalyzerES3Check,gyzr:GlobalyzerGPConcatCheck,gyzr:GlobalyzerGP1Check,gyzr:GlobalyzerGP2Check,gyzr:GlobalyzerGP3Check,gyzr:GlobalyzerLSMConcatCheck,gyzr:GlobalyzerLSM1Check,gyzr:GlobalyzerLSM2Check,gyzr:GlobalyzerLSM3Check,gyzr:GlobalyzerSFRConcatCheck,gyzr:GlobalyzerSFR1Check,gyzr:GlobalyzerSFR2Check,gyzr:GlobalyzerSFR3Check

http://sandbox.lingoport.com/api/issues/search?createdAfter=2016-10-01&createdBefore=2018-10-01&resolved=no&projectKeys=Lingoport.DemoWWJ:scan&rules=gyzr:GlobalyzerESConcatCheck,gyzr:GlobalyzerES1Check,gyzr:GlobalyzerES2Check,gyzr:GlobalyzerES3Check,gyzr:GlobalyzerGPConcatCheck,gyzr:GlobalyzerGP1Check,gyzr:GlobalyzerGP2Check,gyzr:GlobalyzerGP3Check,gyzr:GlobalyzerLSMConcatCheck,gyzr:GlobalyzerLSM1Check,gyzr:GlobalyzerLSM2Check,gyzr:GlobalyzerLSM3Check,gyzr:GlobalyzerSFRConcatCheck,gyzr:GlobalyzerSFR1Check,gyzr:GlobalyzerSFR2Check,gyzr:GlobalyzerSFR3Check

Determine number of issues fixed since a given time period

The following parameters may be used to determine the number of issues that were fixed in a given time period

updatedAfter=2017-12-01
updatedBefore=2018-01-01
projectKeys=Lingoport.DemoWWJ:scan
resolutions=FIXED
rules=gyzr:GlobalyzerESConcatCheck,gyzr:GlobalyzerES1Check,gyzr:GlobalyzerES2Check,gyzr:GlobalyzerES3Check,gyzr:GlobalyzerGPConcatCheck,gyzr:GlobalyzerGP1Check,gyzr:GlobalyzerGP2Check,gyzr:GlobalyzerGP3Check,gyzr:GlobalyzerLSMConcatCheck,gyzr:GlobalyzerLSM1Check,gyzr:GlobalyzerLSM2Check,gyzr:GlobalyzerLSM3Check,gyzr:GlobalyzerSFRConcatCheck,gyzr:GlobalyzerSFR1Check,gyzr:GlobalyzerSFR2Check,gyzr:GlobalyzerSFR3Check

http://sandbox.lingoport.com/api/issues/search?updatedAfter=2017-12-01&updatedBefore=2018-01-01&resolutions=FIXED&projectKeys=Lingoport.DemoWWJ:scan&rules=gyzr:GlobalyzerESConcatCheck,gyzr:GlobalyzerES1Check,gyzr:GlobalyzerES2Check,gyzr:GlobalyzerES3Check,gyzr:GlobalyzerGPConcatCheck,gyzr:GlobalyzerGP1Check,gyzr:GlobalyzerGP2Check,gyzr:GlobalyzerGP3Check,gyzr:GlobalyzerLSMConcatCheck,gyzr:GlobalyzerLSM1Check,gyzr:GlobalyzerLSM2Check,gyzr:GlobalyzerLSM3Check,gyzr:GlobalyzerSFRConcatCheck,gyzr:GlobalyzerSFR1Check,gyzr:GlobalyzerSFR2Check,gyzr:GlobalyzerSFR3Check

More API Calls

For the full documentation on what you can access:

http://docs.codehaus.org/display/SONAR/Web+Service+API