Difference between revisions of "Command Center API Reference"

From Lingoport Wiki
Jump to: navigation, search
(Introduction)
(Introduction)
Line 2: Line 2:
   
 
The API commands provide some high level information or actions for individual projects in Command Center. The usage scenario is to get basic information on a project, for instance from a CI/CD system, or to trigger some overall action at the project level or on users.
 
The API commands provide some high level information or actions for individual projects in Command Center. The usage scenario is to get basic information on a project, for instance from a CI/CD system, or to trigger some overall action at the project level or on users.
  +
  +
All API commands require a username and token to authenticate and authorize those calls. API Users are set in the Command Center User Settings panel, and can be added to the Access set of users for a project.
   
 
= List Command Center projects =
 
= List Command Center projects =

Revision as of 17:37, 25 September 2024

Introduction

The API commands provide some high level information or actions for individual projects in Command Center. The usage scenario is to get basic information on a project, for instance from a CI/CD system, or to trigger some overall action at the project level or on users.

All API commands require a username and token to authenticate and authorize those calls. API Users are set in the Command Center User Settings panel, and can be added to the Access set of users for a project.

List Command Center projects

 curl "COMMAND_CENTER_URL/api/listprojects" -d '{"username":"API_USER","token":"API_TOKEN"}'  --header "Content-Type: application/json"

Example:

 curl "http://localhost:8080/command-center/api/listprojects" -d '{"username":"APIuser","token":"CTMNzj**********CP"}'  --header "Content-Type: application/json"

or

 curl "https://dockertest2.lingoport.io/command-center/api/listprojects" -d @listprojects.json --header "Content-Type: application/json"
 listprojects.json:
 {
  "username":"APIuser",
  "token":"CTMNzj**********CP"
 }

Command Center Project Status

 curl "COMMAND_CENTER_URL/api/getStatus" -d '{"username":"API_USER","token":"API_TOKEN", "source":{"group_name": "GROUP","project_name": "PROJECT","module_name": "MODULE"}}'  --header "Content-Type: application/json"


Example:

 curl "http://localhost:8080/command-center/api/getStatus" -d '{"username":"APIuser","token":"CTMNzj**********CP", "source":{"group_name": "Lingoport","project_name": "CET-WorldWindExplorer","module_name": "lili"}}'  --header "Content-Type: application/json"

or

 curl "http://localhost:8080/command-center/api/getStatus" -d @getStatus.json  --header "Content-Type: application/json"
 getStatus.json: 
 {
    "username":"APIuser",
    "token":"CTMNzj**********CP",
    "source":{
        "group_name": "Lingport",
        "project_name": "CET-WorldWindExplorer",
        "module_name": "lili"
     }
 }

Command Center Translate

 curl "COMMAND_CENTER_URL/api/translate" -d '{"username":"API_USER","token":"API_TOKEN", "source":{"group_name": "GROUP","project_name": "PROJECT","module_name": "MODULE"}}'  --header "Content-Type: application/json"


Example:

 curl "http://localhost:8080/command-center/api/translate" -d '{"username":"APIuser","token":"CTMNzj**********CP", "source":{"group_name": "Lingoport","project_name": "CET-WorldWindExplorer","module_name": "lili"}}'  --header "Content-Type: application/json"

or

 curl "http://localhost:8080/command-center/api/translate" -d @translate.json  --header "Content-Type: application/json"
 translate.json: 
 {
    "username":"APIuser",
    "token":"CTMNzj**********CP",
    "source":{
        "group_name": "Lingport",
        "project_name": "CET-WorldWindExplorer",
        "module_name": "lili"
     }
 }

Pseudo-localize a Command Center Project

 curl "COMMAND_CENTER_URL/api/pseudoloc" -d '{"username":"API_USER","token":"API_TOKEN", "source":{"group_name": "GROUP","project_name": "PROJECT","module_name": "MODULE"}}'  --header "Content-Type: application/json"


Example:

 curl "http://localhost:8080/command-center/api/pseudoloc" -d '{"username":"APIuser","token":"CTMNzj**********CP", "source":{"group_name": "Lingoport","project_name": "CET-WorldWindExplorer","module_name": "lili"}}'  --header "Content-Type: application/json"

or

 curl "http://localhost:8080/command-center/api/pseudoloc" -d @project.json  --header "Content-Type: application/json"
 project.json: 
 {
    "username":"APIuser",
    "token":"CTMNzj**********CP",
    "source":{
        "group_name": "Lingport",
        "project_name": "CET-WorldWindExplorer",
        "module_name": "lili"
     }
 }

Duplicate Command Center project

 curl "COMMAND_CENTER_URLapi/createFromTemplateProject" -d '{"username":"API_USER","token":"API_TOKEN","source": {"group_name": "source_group","project_name": "source_project","module_name": "source_module"},"target": {"group_name":"target_group","project_name": "target_project","module_name": "target_module"}}'  --header "Content-Type: application/json"


  • For Git projects:
    • The target group name is the name of the Git organization
    • The target project name is the name of the Git project in that organization
    • The target module name is the branch of the Git Project in the organization


Example: For a target repository name https://github.com/Lingoport/Command-Center, branch 'liliDev', with a template called Lingoport Command-Center dev in Command Center using https://github.com, the following call would be make:

 curl "http://localhost:8080/command-center/api/createFromTemplateProject" -d '{"username":"APIuser","token":"CTMNzj**********CP","source": {"group_name": "Lingoport","project_name": "Command-Center","module_name": "dev"},"target": {"group_name":"Lingoport","project_name": "Command-Center","module_name": "liliDev"}}'  --header "Content-Type: application/json"

or

 curl "COMMAND_CENTER_URLapi/createFromTemplateProject" -d @dupProject.json  --header "Content-Type: application/json"
 dupProject.json:
  {
    "username":"APIuser",
    "token":"CTMNzj**********CP",
    "source":{
        "group_name": "Lingport",
        "project_name": "Command-Center",
        "module_name": "dev"
     },
     "target": {
         "group_name":"Lingoport",
         "project_name": "Command-Center",
         "module_name": "liliDev"
      }
  }

The dupProject.json file can be used for all the commands. Only the required values will be used.

List Command Center users

The command below lists users by role. Roles are:

  • administrator
  • manager
  • developer
  • translator
  • api


 curl "COMMAND_CENTER_URL/api/listUsers" -d '{"role": "ROLE","username":"API_USER","token":"API_TOKEN"}'  --header "Content-Type: application/json" -o users.json

Example:

 curl "http://localhost:8080/command-center/api/listUsers" -d '{"role": "developer","username":"APIuser","token":"CTMNzj**********CP"}'  --header "Content-Type: application/json"

or

 curl "https://dockertest2.lingoport.io/command-center/api/listUsers" -d @listusers.json --header "Content-Type: application/json"
 listusers.json:
 {
  "role": "developer",
  "username":"APIuser",
  "token":"CTMNzj**********CP"
 }

Add Users to a Team

The command below add users to a team, via their IDs.

 curl "COMMAND_CENTER_URL/api/addUsersToTeam" -d '{"team": "TEAM","username":"API_USER","token":"API_TOKEN","userList":"COMMA SEPARATED LIST OF IDs"}'  --header "Content-Type: application/json" -o users.json

Example:

 curl "http://localhost:8080/command-center/api/addUsersToTeam" -d '{"team": "Dev","username":"APIuser","token":"CTMNzj**********CP", "userList":"4,5,7,19"}'  --header "Content-Type: application/json"

or

 curl "https://dockertest2.lingoport.io/command-center/api/addUsersToTeam" -d @userAssignment.json --header "Content-Type: application/json"
 userAssignment.json:
 {
   "team":"Dev",
   "username":"APIuser",
   "token":"9VwxxxxxxxxP14",
   "userList": "4,16"
 }