Database Connections

The current methods implemented for data connections in the ProcessMaker API designer are listed below:

Database Connections:

Name Description Type Value
dbs_uidDatabase connection UIDStringString with the database connection UID
dbs_typeDatabase typeString"mysql" (String verified with the DB engine type)
dbs_serverAddress of the database serverString“192.168.11.4” (String)
dbs_database_nameDatabase nameString"mydatabase" (Alphanumeric string)
dbs_usernameUsername in database serverString"root" (Alphanumeric string)
dbs_portDatabase server portString"3306" (Numeric)
dbs_encodeDatabase encodingString"utf8" (Alphanumeric string)
dbs_passwordDatabase server user password (This field is checked by type Database "dbs_type")String"root" (string verified with the types of encoding as "dbs_type")
dbs_descriptionDescription of the connection to the databaseString"My new database" (Alphanumeric string)

Information about each method is written in the sections below:

Get Database Connections List: GET project/{prj_uid}/database-connections

Gets the list of the database connections in a project.

GET /api/1.0/{workspace}/project/{prj_uid}/database-connections

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Result:

TypeDescription
arrayReturns an array of database connection objects

Example:

Response

 200 (OK)
 Content-Type: application/json
 [
  {
     "dbs_uid": "17969179752e27c4b3027c3006962937",
     "pro_uid": "444446641528a7318e16744023753627",
     "dbs_type": "mysql",
     "dbs_server": "192.168.11.71",
     "dbs_database_name": "wf_test",
     "dbs_username": "root",
     "dbs_password": "password",
     "dbs_port": 3306,
     "dbs_encode": "utf8",
     "dbs_description": "My database connection description"
  },
  {
     "dbs_uid": "41091498852e27cab755345053537160",
     "pro_uid": "444446641528a7318e16744023753627",
     "dbs_type": "mysql",
     "dbs_server": "192.168.11.71",
     "dbs_database_name": "wf_test1",
     "dbs_username": "root",
     "dbs_password": "password",
     "dbs_port": 3306,
     "dbs_encode": "utf8",
     "dbs_description": "My database connection description"
   }
 ]

Get Database Connection: GET project/{prj_uid}/database-connection/{dbs_uid}

Gets information about a database connection.

GET /api/1.0/{workspace}/project/{prj_uid}/database-connection/{dbs_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProcess UID
dbs_uidStringDatabase UID

Result:

TypeDescription
objectReturns an object with the database connection data

Example:

Response

 200 (OK)
 Content-Type: application/json
 {
     "dbs_uid": "41091498852e27cab755345053537160",
     "pro_uid": "444446641528a7318e16744023753627",
     "dbs_type": "mysql",
     "dbs_server": "192.168.11.71",
     "dbs_database_name": "wf_test",
     "dbs_username": "root",
     "dbs_password": "password",
     "dbs_port": 3306,
     "dbs_encode": "utf8",
     "dbs_description": "My database connection description"
 }

Create Database Connection: POST project/{prj_uid}/database-connection

Creates a new database connection.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

POST /api/1.0/{workspace}/project/{prj_uid}/database-connection

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Required Fields:

NameTypeDescription
dbs_typeStringDatabase type
dbs_serverStringAddress of the database server
dbs_database_nameStringDatabase name
dbs_portIntegerDatabase server port
dbs_encodeStringEncoding Database

Optional Fields:

NameTypeDescription
db_usernameStringDatabase username
dbs_passwordStringUser password of the database server (This field is checked by type Database "dbs_type")
dbs_descriptionStringDescription of the database connection

Result:

TypeDescription
objectReturns an object containing information about the new database connection

Example:
Request

 Content-Type: application/json
 {
    "dbs_uid": "97821011252e67eb4c6c5d7069642907"
    "pro_uid": "444446641528a7318e16744023753627"
    "dbs_type": "mysql",
    "dbs_server": "192.168.56.11",
    "dbs_database_name": "My database",
    "dbs_username": "root",
    "dbs_password": "sample",
    "dbs_port": 3306,
    "dbs_encode": "utf8",
    "dbs_description": "Database description"
}

Response

 {
    "dbs_type": "mysql",
    "dbs_server": "192.168.56.11",
    "dbs_database_name": "My database",
    "dbs_username": "root",
    "dbs_password": "sample",
    "dbs_port": 3306,
    "dbs_encode": "utf8",
    "dbs_description": "Database description"
 }

Test Database Connection: POST project/{prj_uid}/database-connection/test

Tests a database connection with the provided settings.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

POST /api/1.0/{workspace}/project/{prj_uid}/database-connection/test

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Required Fields:

NameTypeDescription
dbs_typeStringDatabase type
dbs_serverStringAddress of the database server
dbs_database_nameStringDatabase name
dbs_portIntegerDatabase server port
dbs_encodeStringEncoding Database

Optional Fields:

NameTypeDescription
db_usernameStringDatabase username
dbs_passwordStringUser password of the database server (This field is checked by type Database "dbs_type")
dbs_descriptionStringDescription of the database connection

Result:

TypeDescription
arrayReturns an array of objects containing information about the connection.

Example:
Request

 Content-Type: application/json
 {
    "dbs_type": "mysql",
    "dbs_server": "192.168.56.11",
    "dbs_database_name": "My database",
    "dbs_username": "root",
    "dbs_password": "sample",
    "dbs_port": 3306,
    "dbs_encode": "utf8",
    "dbs_description": "Database description"
}

Response

 201 (Created)
 [
   {
      "test": "Resolving Host Name 192.168.11.79"
   },
   {
      "test": "Checking port 3306",
      "error": "Error Testing Connection: Checking port FAILED : Destination Port Unreachable"
   },
   {
      "test": "Trying to connect to host 192.168.11.79:3306",
      "error": "Error Testing Connection: Trying to connect to host FAILED : Destination Port Unreachable"
   },
   {
      "test": "Trying to open database [wf_jc]",
      "error": "Error Testing Connection: Trying to open database FAILED : Destination Port Unreachable"
   }
 ]

Update Database Connection: PUT project/{prj_uid}/database-connection/{dbs_uid}

Updates a database connection with the provided settings.

Permission:

Users must have the PM_SETUP permission assigned to their role to perform this action.

Structure:

PUT /api/1.0/{workspace}/project/{prj_uid}/database-connection/{dbs_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
dbs_uidStringDatabase connection UID

Required Fields:

NameTypeDescription
dbs_typeStringDatabase type
dbs_serverStringAddress of the database server
dbs_database_nameStringDatabase name
dbs_portIntegerDatabase server port
dbs_encodeStringEncoding Database

Optional Fields:

NameTypeDescription
db_usernameStringDatabase username
dbs_passwordStringUser password of the database server (This field is checked by type Database "dbs_type")
dbs_descriptionStringDescription of the database connection

Result:

TypeDescription
emptyNo return

Example:

Request

 Content-Type: application/json
 {
     "dbs_type": "mysql",
     "dbs_server": "192.168.56.11",
     "dbs_database_name": "My database",
     "dbs_username": "root",
     "dbs_port": 3306,
     "dbs_encode": "utf8",
     "dbs_description": "Changing the description"
 }

Response

 200 (OK)

Delete Database Connection: DELETE project/{prj_uid}/database-connection/{dbs_uid}

Deletes the specified database connection.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

DELETE /api/1.0/{workspace}/project/{prj_uid}/database-connection/{dbs_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
dbs_uidStringRelation UID

Result:

TypeDescription
emptyNo return

Example:

Response

 200 (OK)