A jQuery plugin that fetches and display data from various Eclipse Foundation APIs.
Here's a list of available settings.
$("div").eclipseFdnApi({
username: "cguindon",
type: "mpFavoritesCount"
});
Attribute | Type | Default | Description |
---|---|---|---|
apiUrl |
String | https://api.eclipse.org |
Eclipse Api URL. |
gerritUrl |
String | https://git.eclipse.org/r |
Eclipse Gerrit URL. |
eventUrl |
String | https://events.eclipse.org/data/EclipseEvents.json |
Eclipse event json feed URL. |
forumsUrl |
String | https://www.eclipse.org/forums |
Eclipse Forums URL. |
marketplaceUrl |
String | https://marketplace.eclipse.org |
Eclipse Marketplace URL. |
errorMsg |
String | <i class=\"fa red fa-exclamation-triangle\" aria-hidden=\"true\"></i> An unexpected error has occurred. |
Error message for when the ajax request fails. |
gerritUserNotFoundMsg |
String | <i class=\"fa red fa-exclamation-triangle\" aria-hidden=\"true\"></i> An unexpected error has occurred. |
Error message for when a user is not found on Gerrit. |
username |
String | cguindon |
The username to fetch Eclipse Favorites or Gerrit reviews for. |
currentUsername |
String | `` | The user making the request this page. Useful if content changed if the user is viewing his own page. |
type |
String | Valid values are gerritReviews , gerritReviewsCount , mpFavorites , projectsList , forumsMsg and recentEvents . |
|
itemsPerPage |
Integer | 20 | Number of fetched items to display per page. |
Check CONTRIBUTING.md for more information.
MIT License © Christopher Guindon
Thanks to https://github.com/jquery-boilerplate/jquery-boilerplate, MIT License © Zeno Rocha
A jQuery plugin to provide OAUTH2 Implicit Grant Flow authorization functionality for API requests to client scripts and plugins
Here's an example of how to use the client.
// set delayed response handlers
// delayed request was completed after authorization, and these were the results
$(document).on("igcRequestComplete", function(event, eventData) {
if (eventData.clientName === "myScript") {
// returned result data will be stored in eventData.data
// you can determine which request you made by checking eventData.requestOptions
}
});
// delayed request failed
$(document).on("igcRequestFailed", function(event, eventError) {
if (eventError.clientName === "myScript") {
// request failed. the details ajax response is stored in eventError.jqXHR
}
});
// authorization failed (ie. authorization was denied or there was a validation failed)
$(document).on("igcAuthFailed", function(event, authError) {
if (authError.clientName === "myScript") {
// authError.error will show any status code, if available.
// authError.error_description will contain a test description of what went wrong
// authError.error_from will indicate which area in the processes the failure occured
}
});
// initialize the client - any delayed responses will be triggered during initialization
$(document).eclipseFdnIgc({
clientName: "myScript",
authURL: "https://accounts.example.com",
apiURL: "https://api.example.com",
username: "darmstrong"
});
// make a request
requestOptions = {
// api service end-point path
path: "marketplace/favorites/12345",
method: "PUT",
cid: "myClientID",
scope: "scopeToRequest",
// callbacks are used for non-delayed responses (client already authorized)
// for immediate response without broadcasting to all clients
successCallback: function(data) {
// we can do something now and call a function script to process the data
},
errorCallback: function(jqXHR) {
// the request failed. status code and error message is in the jqXHR object
// it is important to check the response to determine if this is a soft error (action already performed)
// or if there is something wrong with the request that needs to be corrected before attempting again.
}
};
// send the request to the eclipseFdnIgc plugin. If the client does not have an authorization token, or it has become expired,
// it will make a request for a new one.
$(document).eclipseFdnIgc.makeRequest(requestOptions);
Attribute | Type | Default | Description |
---|---|---|---|
clientName |
String | unknown |
Identifying name for client. Used to separate stored items. |
authUrl |
String | https://accounts.eclipse.org |
Eclipse Authorization base URL. |
apiUrl |
String | https://api.eclipse.org |
Eclipse API base url. |
redirectUri |
String | [location.protocol, "//", location.host, "/site_login_implicit_grant"].join("") | redirect landing page for authorization response. defaults to current site and path of "/site_login_implicit_grant" |
baseStorageName |
String | eclipseIGC |
base name to build storage name from. |
redirectIfValid |
Boolean | true | redirect to originating page after validating authorization response |
validateUser |
Boolean | true | Validates authorization token matches currently logged in user |
useOpenWin |
Boolean | false | Opens a new window for authorization flow instead of using current window. |
encodeStorage |
Boolean | true | Base64 encode data placed in storage |
userName |
String | '' | currently logged in username, used for validation purposes and to clear items if user logs out or other account is logged in |
completeOnAuthorization |
Boolean | true | finish the request that triggered authorization after completing validation |
MIT License © Christopher Guindon
Thanks to https://github.com/jquery-boilerplate/jquery-boilerplate, MIT License © Zeno Rocha