Pipeline Entity
The following are the attributes in the body of a pipeline service. | |||
Attribute | Type | Updatable | Comments |
---|---|---|---|
id | UUID | no | (Required for PUT, optional for POST)
For PUT the ID in body must valid ID and must match step on the URL. For POST this is ignored. |
version | int | no | This is shown to the user for informational purposes only |
name | string | yes | Unique among other pipeline. A Valid SQL Identifier |
description | string | yes | |
labels | list<string> | yes | Currently not searchable with RSQL |
disabled | boolean | yes | |
members | list<ReferencedObj> | yes | See ReferencedObj entity below. Currently not searchable. Refer to the table below for information about pipeline entity member attributes. |
createdInstant | datetime | no | |
createdBy | string | no | Username associated with session |
modifiedInstant | datetime | no | |
modifiedBy | string | no | Username associated with session |
continueOnError | boolean | yes | Connect throws exceptions when a pipeline member fails during processing due to unanticipated system conditions. The boolean flags determine if the pipeline should continue or halt processing if one of its members fails. This is false by default and should probably be set to false in most circumstances. |
onErrorObjectId | UUID | yes | The UUID of the step or pipeline to use. optional unless corresponding type (see below) is provided. onErrorObject is invoked if an error is encountered during the invocation of a pipeline. You might want to send an email to your IT staff if a fatal error was thrown, for example. |
onErrorObjectTypeString | string | yes | The type string corresponding to onErrorObjectId. Must be correct type and either “step” or “pipeline”. If you also provide onErrorObjectType then they must represent the same object type. optional IF onErrorObjectId is blank OR onErrorObjectType is provided. |
onErrorObjectType | int | yes | Alternative way to provide type for onErrorObjectId. Must be 2 (pipeline) or 3 (step). If you also provide onErrorObjectTypeString then they must represent the same object type. optional IF onErrorObjectId is blank OR onErrorObjectTypeString is provided. |
finallyObjectId | UUID | yes | The UUID of the step or pipeline. Finally will fire when a pipeline completes successfully. It will also fire if a pipeline member throws an error. In other words, Finally will run no matter what happens during pipeline execution. |
finallyObjectTypeString | string | yes | The type string corresponding to finallyObjectId. Must be correct type and either “step” or “pipeline”. If you also provide finallyObjectType then they must represent the same object type. optional IF finallyObjectId is blank OR finallyObjectType is provided. |
finallyObjectType | int | yes | Alternative way to provide type for finallyObjectId. Must be 2 (pipeline) or 3 (step). If you also provide finallyObjectTypeString then they must represent the same object type. optional IF finallyObjectId is blank OR finallyObjectTypeString is provided. |
ReferencedObj (pipeline “member”) Entity
The following are the attributes in the body of a referenced object (i.e. member of pipeline). | |||
Attribute | Type | Updatable | Comments |
---|---|---|---|
objectType | string | yes | The referenced object’s type: “step” or “pipeline” |
objectId | UUID | yes | The ID of a single referenced object. |
retries | int | yes | The number of retries |
retryIntervalMinutes | int | yes | Minutes to wait between retries |
onConditionFalseObjectType | string | yes | “step” and “pipeline” are currently the only accepted values |
onConditionFalseObjectId | UUID | yes | |
abortOnConditionFalse | boolean | yes | Can be “true” or “false”. Default is false. |
condition | string | yes | The xCL expression that evaluates to an the condition |
List of APIs
Note: We have tried to keep this list up to date. However, for the most up to date list, see the interactive docs: https://connect-i1.xactlycorp.com/connect/docs/swagger-ui.html
POST /connect/v1/pipelines
Pipeline Creation Example Body
{ "name": "p2", "members": [ { "objectType" : "step", "objectId" : "402881f0581bea3501581bebc9ca005f" } ], "onErrorObjectId" : "5393d93f13704f7cadaa49482d5da4be", "onErrorObjectType" : 3, // only values 2 (for pipeline type) or 3 (for step) are allowed "finallyObjectId" : "4015393d93f137aa49482be1581bebc9", "finallyObjectType": 3 // only values 2 (for pipeline type) or 3 (for step) are allowed }
DELETE /connect/v1/pipelines/{id}
GET /connect/v1/pipelines
GET /connect/v1/pipelines/{id}
PUT /connect/v1/pipelines/{id}
POST /connect/v1/pipelines/{id}/invocation
Searching Pipelines
Pipeline service supports the same RSQL type search as audits. However, while RSQL supports searching embedded objects, it does not currently support searching embedded lists that appear inside another object. As such, even though all other attributes of a pipeline are searchable, the members and are currently not searchable, however, you can search for existence of a label in the list of labels if you treat the whole list like a string as shown in the table below.
Description | Example |
---|---|
Search for any pipeline that has at least one label in it’s labels array that contains the substring “someLabel”. | /connect/v1/pipelines?ql=labels==*someLabel* |