Contents
What's New |
|
Installation |
|
Installing TIBCO Flogo® Enterprise Monitoring Application |
|
Installing TIBCO Flogo Flow State Manager |
|
Quick Start |
|
Quick Start |
|
Step 1: Create a Flogo app and rename it |
|
Step 2: Create a flow in the app |
|
Step 3: Add a trigger to the flow |
|
Step 4: Map trigger output to flow input |
|
Step 5: Map flow output to trigger reply |
|
Step 6: Add invoke REST Service and Log Message Activity to the flow |
|
Step 7: Configure a Return Activity to display the status of the trigger |
|
Step 8: Validate and test the app |
|
Step 9: Build the App Binary or Push the app to the TIBCO Cloud |
|
User Guide |
|
Introduction |
|
Concepts |
|
Creating your First REST API |
|
App Development |
|
Creating and Managing a Flogo App Using the UI |
|
Creating an App |
|
Creating an App from a Saved Specification |
|
Creating a New App Using an OpenAPI Specification |
|
Creating a New App Using GraphQL Schema |
|
Validating your App |
|
Editing an App |
|
Auto-Upgrade of Activities, Triggers, and Connections |
|
Renaming an App |
|
Editing the Version of an App |
|
Using App Tags |
|
Using Notes |
|
Switching Between Display Views On the App Page |
|
Deleting an App |
|
Exporting and Importing an App |
|
Exporting an App |
|
Exporting an App's JSON File |
|
Importing an App |
|
Importing Your App to a New App |
|
Importing Your App to an Existing App |
|
Changes in Suffixes Used in the Mapper |
|
Resolving Missing Activities and Triggers |
|
App File Persistence |
|
Creating Flows and Triggers |
|
Flows |
|
Creating a Flow |
|
Selecting a Trigger When Creating a New Flow |
|
Starting with a Trigger |
|
Creating a Flow Attached to a REST (Receive HTTP Message) Trigger |
|
Creating a Flow attached to the GraphQL Trigger |
|
Creating a Flow Attached to Other Triggers |
|
Creating a Blank Flow (Flow without a Trigger) |
|
Flow Input & Output Tab |
|
Attaching a Flow to One or More Triggers |
|
Catching Errors |
|
Creating An Error Handler Flow |
|
Viewing Errors and Warnings |
|
Using Subflows |
|
Creating Subflows |
|
Creating a Flow Execution Branch |
|
Types of Branch Conditions |
|
Order in which Branches Get Executed |
|
Setting Branch Conditions |
|
Deleting a Branch |
|
Duplicating a Flow |
|
Editing a Flow |
|
Switching Between Flows in an App |
|
Deleting a Flow |
|
Adding an Activity |
|
Searching for a Category or Activity |
|
Configuring an Activity |
|
Duplicating an Activity |
|
Using the Loop Feature in an Activity |
|
Accumulating the Activity Output for All Iterations |
|
Accessing the Activity Outputs in Repeat While True Loop |
|
Using the Retry On Error Feature in an Activity |
|
Deleting an Activity |
|
Triggers |
|
Creating a Trigger without a Flow |
|
Deleting a Trigger |
|
Synchronizing Schema Between Trigger and Flow |
|
Data Mappings |
|
Data Mappings Interface |
|
Mapping Data from the Data Mappings Interface |
|
Scopes in Data Mappings |
|
Data Types |
|
Reserved Keywords to be Avoided in Schemas |
|
Mapping Different Types of Data |
|
Mapping an ENUM value |
|
Mapping a Single Element of Primitive Data Type |
|
Mapping an Object |
|
Mapping Arrays |
|
Mapping an Array of Primitive Data Types |
|
Mapping Complex Arrays |
|
Mapping of unmapped arrays |
|
Add Items to Array |
|
Mapping Identical Arrays of Objects |
|
Mapping Array Child Elements to Non-Array Elements or to an Element in a Non-Matching Array |
|
Mapping Nested Arrays |
|
Mapping Child Elements within a Nested Array Scope |
|
Mapping a Nested Array Child Element outside the Nested Array Scope |
|
Mapping an Element from a Parent Array to a Child Element in a Nested Array within the Parent |
|
Filtering Array Elements to Map Based on a Condition |
|
Mapping JSON Data with json.path() Function |
|
Constructing the any, param, or object Data Type in Mapper |
|
Coercing of Activity Input, Output, and Trigger Reply Fields |
|
Clear Mapping of Child Elements in Objects and Arrays |
|
Ignoring Missing Object Properties when Mapping Objects |
|
Mapping Data by Using if/else Conditions |
|
Using Functions |
|
Using Expressions |
|
Supported Operators |
|
Combining Schemas Using Keywords |
|
Developing APIs |
|
Using an OpenAPI Specification |
|
Configuring the REST Reply |
|
Testing the Deployed App |
|
Downloading the API Specification Used |
|
Using GraphQL Schema |
|
Using App Properties and Schemas |
|
App Properties |
|
Creating App Properties |
|
App Properties Dialog Box Views |
|
Creating a Standalone App Property |
|
Creating a Group |
|
Deleting a Group or Property |
|
Using App Properties in a Flow |
|
Using App Properties in the Mapper |
|
Unlinking an App Property from a Field Value |
|
Using App Properties in Connections |
|
Editing an App Property |
|
Changing the Default Value of a Property from the App Properties Dialog Box |
|
Changing the Name or Data Type of an App Property after Using It |
|
When Importing an App |
|
Overriding an App Property Value While Testing a Flow |
|
App Schemas |
|
Defining an App-Level Schema |
|
Editing an App-Level Schema |
|
Deleting an App-Level Schema |
|
Using an App-Level Schema |
|
Flow Input & Output Tab |
|
Input or Output Settings Tab of an Activity |
|
Output or Reply Settings Tab of a Trigger |
|
Using Connectors |
|
Creating Connections |
|
Editing Connections |
|
Deleting Connections |
|
Using Extensions |
|
Creating Extensions |
|
Uploading Extensions |
|
Pulling Extensions from an Open Source Public Git Repository |
|
Deleting Extensions or Extension Categories |
|
Flow Tester |
|
Using the Flow Tester Testing Flows from the UI |
|
What is a Launch Configuration? |
|
Creating and Using a Launch Configuration |
|
Creating Subsequent Launch Configurations |
|
What can you do using the Flow Tester? |
|
Configuring a Launch Configuration |
|
Exporting a Launch Configuration |
|
Importing a Launch Configuration |
|
Cloning a Launch Configuration |
|
Deleting a Launch Configuration |
|
Testing Flows from the CLI |
|
The test Command |
|
Unit Testing |
|
Creating and Running a Test Case |
|
Configuring Unit Test Data |
|
Unit Testing Modes |
|
Creating a Test Case |
|
Defining Flow Input |
|
Creating Assertions |
|
Creating Assertions for Flow Output |
|
Creating Assertions for the Error Handler |
|
Using Mock Data |
|
Test Case Validation |
|
Running a Test case |
|
Creating and Running a Test Suite |
|
Creating a Test Suite |
|
Running a Test Suite |
|
Exporting and Importing a Unit Test |
|
Exporting a Unit Test |
|
Importing a Unit Test |
|
Enabling On-premises Services in Unit Testing |
|
Unit Testing for the CI/CD |
|
The Test Commands |
|
Deployment and Configuration |
|
Building an App Executable |
|
Building the App |
|
Considerations |
|
Exporting App JSON from an Executable |
|
Overriding an App's JSON File in the App Binary |
|
Changing the Log Level of a Running App Instance |
|
App Configuration Management |
|
Consul |
|
Using Consul |
|
Consul Connection Parameters |
|
Setting the Consul Connection Parameters |
|
Overriding an App Property at Runtime |
|
AWS Systems Manager Parameter Store |
|
Using the Parameter Store |
|
Parameter Store Connection Parameters |
|
Setting the Parameter Store Connection Parameters |
|
AWS AppConfig |
|
Using the AppConfig |
|
AppConfig Client Configuration |
|
Environment Variables |
|
Exporting App Properties to a File |
|
Using a JSON File to Override App Property Values |
|
Overriding Security Certificate Values |
|
Encrypting Password Values |
|
Container Deployments |
|
Kubernetes |
|
Deploying Flogo Apps to Kubernetes |
|
Using ConfigMaps with a Flogo App |
|
Managing Sensitive Information Using Kubernetes Secrets |
|
Configuring the Secrets |
|
Specifying the Path of the Volume Where the Secrets are Mounted |
|
Sample YAML File |
|
Amazon Elastic Container Service (ECS) and Fargate |
|
Deploying a Flogo App to Amazon ECS and Fargate |
|
Pivotal Cloud Foundry |
|
Deploying a Flogo App to Pivotal Application Service |
|
Using Spring Cloud Configuration to Override App Properties |
|
Microsoft Azure Container Instances |
|
Deploying a Flogo App to a Microsoft Azure Container Instance |
|
Deploying a Flogo App to a Microsoft Azure Container Instance Using a YAML File |
|
Google Cloud Run |
|
Deploying a Flogo App to Google Cloud Run |
|
Red Hat OpenShift |
|
Deploying a Flogo App to Red Hat OpenShift |
|
Sample YAML File: Red Hat OpenShift |
|
Serverless Deployments |
|
Developing for Lambda |
|
Creating a Connection with the AWS Connector |
|
AWS Connection Details |
|
Creating a Flow with Receive Lambda Invocation Trigger |
|
Deploying a Flow as a Lambda Function on AWS |
|
Creating a Flow with AWS API Gateway Lambda Trigger |
|
Creating a Flow with S3 Bucket Event Lambda Trigger |
|
S3 Bucket Event Lambda Trigger |
|
Deploying a Flogo App to Microsoft Azure Functions |
|
Deploying a Flogo App in Knative |
|
Troubleshooting Tips |
|
Monitoring |
|
About the TIBCO Flogo® Enterprise Monitoring App |
|
Using the Flogo Enterprise Monitoring App |
|
Running Flogo Enterprise Monitoring As a Standalone App |
|
Running the Flogo Enterprise Monitoring App on Docker |
|
Running the Flogo Enterprise Monitoring Application on Kubernetes |
|
Granting Access Using ClusterRole |
|
Configuring the Service Account |
|
Linking the ServiceAccount to the ClusterRole |
|
Linking the Flogo App to the Flogo Enterprise Monitoring Application |
|
Configurations in the Flogo App’s YAML File |
|
Configuring the Flogo Enterprise Monitoring App |
|
Registering a Flogo App with the Flogo Enterprise Monitoring App |
|
About TIBCO Flogo® Flow State Manager |
|
Using Flogo Flow State Manager |
|
Configuring the PostgreSQL Database |
|
Running Flogo Flow State Manager as a Standalone App |
|
Running Flogo Flow State Manager on Docker |
|
Running Flogo Flow State Manager on Kubernetes |
|
Configuring Flogo Flow State Manager |
|
Starting Flogo Enterprise Monitoring with Details of Flogo Flow State Manager |
|
Starting the App Binary |
|
Viewing Statistics by Using Flogo Enterprise Monitoring app |
|
Apps Page |
|
Metrics Page |
|
Executions Page |
|
App Metrics |
|
Enabling App Metrics |
|
Logging App Metrics |
|
Fields returned in the response |
|
Prometheus |
|
Using Prometheus to Analyze Flogo App Metrics |
|
Often-Used Queries |
|
OpenTelemetry Collector |
|
App Tracing |
|
Jaeger |
|
Tracing Apps by Using AWS X-Ray |
|
Tracing Apps by Using OpenTelemetry Collector |
|
Enabling Tracing for OpenTelemetry Collector |
|
Tracing With OpenTelemetry Collector |
|
Flogo Related Attributes in OpenTelemetry Collector |
|
Using APIs |
|
Healthcheck API |
|
Go Language Runtime Statistics and Profiling |
|
CPU and Memory Profiling |
|
Monitoring and Managing Enterprise Apps in TIBCO Cloud Integration |
|
Environment Variables |
|
Pushing Apps to TIBCO Cloud |
|
Best Practices |
|
Performance Tuning |
|
Tuning Environment Variables |
|
FLOGO_RUNNER_TYPE |
|
FLOGO_LOG_LEVEL |
|
GOGC |
|
Flow Limit |
|
CPU and Memory Monitoring |
|
Runtime Statistics and Profiling |
|
Samples |
|
Activities, Triggers, and Connections |
|
General Category Triggers, Activities, and Connections |
|
Triggers |
|
Timer Trigger |
|
REST Trigger - ReceiveHTTPMessage |
|
GraphQL Trigger |
|
Receive Lambda Invocation |
|
AWS API Gateway Lambda Trigger |
|
S3 Bucket Event Lambda Trigger |
|
App Startup Trigger |
|
App Shutdown Trigger |
|
Activities |
|
ConfigureHTTPResponse |
|
Run JavaScript |
|
GRPC Invoke |
|
InvokeLambdaFunction |
|
InvokeRESTService |
|
Using SSL |
|
LogMessage |
|
Mapper |
|
ParseJSON |
|
ReplyToTrigger |
|
ProtobufToJSON |
|
No-Op |
|
ReplyToHTTPMessage |
|
SendMail |
|
SharedData |
|
Sleep |
|
JSON to XML |
|
XML to JSON |
|
Connections |
|
HTTP Client Authorization Configuration |
|
Mapper Functions Guide |
|
Overview of Mapper Functions |
|
Using Functions |
|
Array Functions |
|
array.append |
|
array.contains |
|
array.count |
|
array.create |
|
array.delete |
|
array.flatten |
|
array.forEach |
|
array.get |
|
array.merge |
|
array.reverse |
|
array.slice |
|
array.sum |
|
Boolean Functions |
|
boolean.false |
|
boolean.not |
|
boolean.true |
|
Coerce Functions |
|
coerce.toArray |
|
coerce.toBool |
|
coerce.toBytes |
|
Coerce.toFloat32 |
|
Coerce.toFloat64 |
|
coerce.toInt |
|
Coerce.toInt32 |
|
Coerce.toInt64 |
|
coerce.toObject |
|
coerce.toParams |
|
coerce.toString |
|
coerce.toType |
|
Compression Functions |
|
compression.gzipCompress |
|
compression.gzipUncompress |
|
Data Functions |
|
data.GetValue |
|
data.isDefined |
|
Datetime Functions |
|
datetime.add |
|
datetime.addHours |
|
datetime.addMins |
|
datetime.addSeconds |
|
datetime.create |
|
datetime.current |
|
datetime.currentDate |
|
datetime.currentDatetime |
|
datetime.currentTime |
|
datetime.diff |
|
datetime.format |
|
datetime.formatDate |
|
datetime.formatDatetime |
|
datetime.formatTime |
|
datetime.now |
|
datetime.parse |
|
Datetime.sub |
|
datetime.subHours |
|
datetime.subMins |
|
Datetime.subSeconds |
|
Float Functions |
|
float.float64 |
|
JSON Functions |
|
json.exists |
|
json.get |
|
json.length |
|
json.numbersToString |
|
json.objKeys |
|
json.objValues |
|
json.path |
|
json.jq |
|
json.set |
|
Math Functions |
|
math.ceil |
|
math.floor |
|
math.isNaN |
|
math.mod |
|
math.round |
|
math.roundToEven |
|
math.trunc |
|
Number Functions |
|
number.int64 |
|
number.len |
|
number.random |
|
String Functions |
|
String.base64ToString |
|
string.concat |
|
string.contains |
|
string.containsAny |
|
string.count |
|
string.dateFormat |
|
string.lastIndex |
|
string.datetimeFormat |
|
string.endsWith |
|
string.equals |
|
string.equalsIgnoreCase |
|
string.float |
|
string.index |
|
string.indexAny |
|
string.integer |
|
string.join |
|
string.len |
|
string.length |
|
string.lowerCase |
|
string.matchRegEx |
|
string.regex |
|
string.repeat |
|
string.replace |
|
string.replaceAll |
|
string.replaceRegEx |
|
string.split |
|
string.startsWith |
|
String.stringToBase64 |
|
string.substring |
|
string.substringAfter |
|
string.substringBefore |
|
string.timeFormat |
|
string.toLower |
|
string.toTitleCase |
|
string.toUpper |
|
string.tostring |
|
string.trim |
|
string.trimLeft |
|
string.trimPrefix |
|
string.trimRight |
|
string.trimSuffix |
|
string.upperCase |
|
URL Functions |
|
url.encode |
|
url.escapedPath |
|
url.hostname |
|
url.path |
|
url.pathEscape |
|
url.port |
|
url.query |
|
url.queryEscape |
|
url.scheme |
|
Utility Functions |
|
utility.renderJSON |
|
Utils Functions |
|
Utils.decodeBase64 |
|
Utils.encodeBase64 |
|
utils.uuid |
|
Security Guide |
|
Security Features |
|
Security Vulnerabilities |
|
Product Connectivity |
|
Developing Secure Applications |
|
Transition Guide |
|
Getting Started |
|
Activating Your TIBCO Cloud Integration Account |
|
Requesting a New Activation Link |
|
Resetting the Password |
|
TIBCO Password Policy |
|
Signing in for Existing Users |
|
Getting Familiar With TIBCO Cloud Integration |
|
About TIBCO Cloud |
|
About TIBCO Cloud Integration |
|
TIBCO Cloud Integration Terminology |
|
About Region Instances for TIBCO Cloud Integration |
|
Organizations |
|
Managing Your Organization |
|
Managing Child Organizations |
|
Child Organization Tags |
|
Sharing Assets Across Organizations |
|
Roles |
|
Organization Owner |
|
Member |
|
Team Administrator |
|
Administrator |
|
Roles Offered by Domain Capabilities |
|
User Roles Permissions Matrix |
|
Your Account |
|
Managing Your Account |
|
Service Accounts |
|
Managing Team Members |
|
Inviting Members and Assigning Seats and Roles |
|
Resending or Canceling Invitation to Join a Domain Capability |
|
Removing Members |
|
Managing Roles and Team Administrator Status |
|
TIBCO Cloud Federated Authentication |
|
Creating an App |
|
Migrating an Existing App to TIBCO Cloud Integration |
|
Exporting an App From TIBCO Flogo Enterprise |
|
Exporting a Launch Configuration From TIBCO Flogo Enterprise |
|
Importing an App |
|
Importing Your App to a New App |
|
Importing Your App to an Existing App |
|
Building the App in TIBCO Cloud Integration |
|
Considerations |
|
Build the App Docker Image |
|
Useful Resources |
|
TIBCO Documentation and Support Services |
|
Legal and Third-Party Notices |
|