Skip to content
This repository has been archived by the owner on Dec 24, 2019. It is now read-only.

REST API Documentation

Amin Boudeffa edited this page Dec 12, 2018 · 7 revisions

Authentication Service APIs

The Authentication Service APIs provides the user management and Token authorities APIs.

Base URL : "/api/"

User Management API

The Authentication component provides web services for CRUD user account.

Register User POST /api/register
Register new user.
Activate User GET /api/activate
Activate the registered user.
Update User PUT /api/users
Update an existing user.
Retrieve Users GET /api/users
Get all registered users.
Retrieve Login User GET /api/users/{login}
Get the "login" user.
Delete User DELETE /api/users/{login}
Delete the "login" user.

Token Authorities APIs

The Authentication component provides also Rest APIs to manage Token-Authorities used in the context of the Eclipse IDE Plugin.

Generate Token Authorities POST /api/token-authorities/generate-token
Generate new token authorities.
Retrieve Token Authorities GET /api/token-authorities
Retrieve all the registered tokens.
Retrieve Specific Token Authorities GET /api/token-authorities/{label}
Retrieve specific token authorities.
Delete Token Authorities DELETE /api/token-authorities/{label}
Delete token authorities.
Check Token Authorities Validity GET /api/token-authorities/{check-token}
Check if token authorities is valid.

Project Administration APIs

The Administration APIs provides services related to platform administration and registration of projects to be analyse by the platform.

Base URL : "/administration/"

Project Management

Manage registration of projects analysed by the platform.

Projects List GET /administration/projects/{page}
Retrieve a list of monitored projects.
Project Search GET /administration/projects/search
Retrieve a list of monitored projects base on a search query
Project GET /administration/projects/{projectId}
Retrieve the metadata of a specific project.
Import Project POST /administration/projects/import
Import a new project to be analyzed by the platform. Take as input the URL of the repository of the project to import.
Register Project POST /administration/projects/register
Register a new project to be analyzed by the platform. Take as input the definition of project to analyse.

Project Analysis

Analyse projects registered on the platform.

Create Analysis Task POST /administration/task/create
Create a new analysis task.
Update Analysis Task PUT /administration/task/update
Update an analysis task.
Start Analysis Task POST /administration/task/start
Start an analysis task.
Stop Analysis Task POST /administration/task/stop
Stop an analysis task.
Reset Analysis Task POST /administration/task/reset
Reset an analysis task.
Delete Analysis Task DELETE /administration/task/delete/{analysisTaskId}
Delete an analysis task.
Analysis Tasks List GET /analysis/tasks
Retrieve a list of analysis tasks.
Analysis Task GET /analysis/task/{analysistaskid}
Retrieve an analysis task by Id.
Analysis Tasks List By Project GET /analysis/tasks/project/{projectid}
Retrieve a list of analysis tasks by project.
Analysis Tasks Status By Project GET /analysis/tasks/status/project/{projectid}
Retrieve a gloabl status of the analysis tasks by project.
Workers List GET /analysis/workers
Retrieve a list of workers.
Metric Providers List GET /analysis/metricproviders
Retrieve a list of Metric Providers.
Promote Analysis Task DELETE /analysis/task/promote/{analysisTaskId}
Push up an analysis task in Workers Queue.
Demote Analysis Task DELETE /analysis/task/demote/{analysisTaskId}
Push down an analysis task in Workers Queue.
Push Analysis Task On Worker DELETE /analysis/task/pushOnWorker/{analysisTaskId}/w/{workerId}
Force the execution of an analysis task by a worker.

Metrics Provider API

Access to Mertics collected by the Metrics Provider component.

List of Metrics GET /metricprovider/metrics
Retrieve a list of the visualisable metric providers supported by the plat- form. It includes information about how the metric provider should be visualised
List of Raw Metrics GET /metricprovider/raw/metrics
Retrieve a list of the all of the metric providers supported by the plat- form.
List of Metric Visualisation GET /metricprovider/projects/p/{projectId}/m/{metricId}
Retrieve the visualisation of a specific project metric provider. Visuali- sations are defined in the MetVis language
List of Factoids GET /metricprovider/factoids
Retrieve a list of factoids supported by the platform.
List of Project Factoids GET /metricprovider/projects/p/{projectId}/f
Retrieve the data of a specific factoid for a project.
Metric Data GET /metricprovider/raw/projects/p/{projectId}/m/{metricId}
Retrieve the raw data of a project’s metric provider. This is essentially a JSON dump of the metric provider’s MongoDB collection.

Korkflow Execution Engine API

Knowledge Base API

List of analyzed artifacts GET /api/artifacts
Retrieve a list of monitored artifacts.
List of similar artifacts GET /api/recommendation/similar/p/{id}/m/{sim_method}/n/{num}
This resource is used to retrieve projects that are similar to a given project.

DevOps Dashboard API