Common Event Fields
Each incoming event passes an event payload to the listener depending on the event type. Below are example payloads for each event type.
All Event messages have the following top level fields:
Key | Description |
---|---|
eventType | The event type that triggered this Event. e.g. Workflow Completed, Task Created. |
actor | The actor, generally a user, that triggered this event. |
object | The object the event occurred on. This could be the Project name, Release name etc. |
timestamp | The time the event occurred. |
payload | The specific event payload (see examples below) |
Events
Comment Added
The Comment Added event is triggered anytime there is a comment created throughout FlexDeploy. As and example use case, you could use this event to create a Jira Ticket anytime a comment was created and contained the words “Jira”.
{ "eventType": "Comment Added", "actor": "fdadmin", "object": "Comment - 1913", "timestamp": "2023-10-18 05:45:44 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-18 05:45:44 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-18 05:45:44 -0500", "commentId": 1913, "oldCommentText": null, "commentText": "{\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"test4\"}]}]}", "objectId": 33313, "objectType": "WORK_ITEM" } }
Comment Updated
The Comment Updated event is triggered anytime a comment is edited throughout FlexDeploy.
{ "eventType": "Comment Updated", "actor": "fdadmin", "object": "Comment - 1913", "timestamp": "2023-10-18 05:45:44 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-18 05:45:44 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-18 05:45:44 -0500", "commentId": 1913, "oldCommentText": "{\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"test3\"}]}]}", "commentText": "{\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"test4\"}]}]}", "objectId": 33313, "objectType": "WORK_ITEM" } }
Comment Deleted
The Comment Updated event is triggered anytime a comment is deleted throughout FlexDeploy.
{ "eventType": "Comment Updated", "actor": "fdadmin", "object": "Comment - 1913", "timestamp": "2023-10-18 05:45:44 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-18 05:45:44 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-18 05:45:44 -0500", "commentId": 1913, "oldCommentText": "{\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"test3\"}]}]}", "commentText": null, "objectId": 33313, "objectType": "WORK_ITEM" } }
Package Created
The Package Created event is triggered anytime a package is created for a project throughout FlexDeploy. This could possibly be used as a event to execute a script to automatically add the package to a release whenever one is created for a specific project.
{ "eventType": "Package Created", "actor": "fdadmin", "object": "XXHR-10089", "timestamp": "2023-10-19 12:52:11 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-19 12:52:11 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:52:11 -0500", "projectPackageId": 1144126, "description": "\n", "excludePath": null, "includePath": null, "packageName": "XXHR-10089", "packagePath": null, "packageStatus": "ACTIVE", "packageType": "USER_MANAGED", "projectId": 195743, "tests": null, "testLevel": null, "versionSyntax": null, "project": { "projectId": 195743, "projectName": "XXHR" } } }
Package Status Updated
@Since 7.0.0.1 - The Package Status Updated event is triggered anytime a package’s status is changed (‘Active’, ‘Inactive’, ‘Completed’) for a project throughout FlexDeploy. This could possibly be used as a event to execute a script to automatically remove the package from a release whenever it is inactivated or completed for a specific project.
{ "eventType": "Package Status Updated", "actor": "fdadmin", "object": "XXHR-10089", "timestamp": "2023-10-19 12:52:11 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-19 12:52:11 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:52:11 -0500", "projectPackageId": 1144126, "description": "\n", "excludePath": null, "includePath": null, "packageName": "XXHR-10089", "packagePath": null, "packageStatus": "ACTIVE", "packageType": "USER_MANAGED", "projectId": 195743, "tests": null, "testLevel": null, "versionSyntax": null, "project": { "projectId": 195743, "projectName": "XXHR" } } }
Pipeline Stage Completed
The Pipeline Stage Completed event is triggered whenever a stage succeeds or fails in a Release Pipeline Execution. Common use cases can include logic you want to perform after EVERY pipeline execution regardless of the Pipeline or Release being used. For example you may want to create a Service Now incident whenever the Production Stage fails in any pipeline. This could be easily accomplished by listening for this event but filtering for a status of FAILED and environment of PRODUCTION.
{ "eventType":"Pipeline Stage Completed", "actor":"buildmonitorworker", "object":"REST Release 1", "timestamp":"2020-12-16 15:12:41 -0500", "payload":{ "pipelineExecutionId":null, "pipelineStageExecution":{ "stageExecutionId":104516, "environmentId":11595, "executionStatus":"FAILED", "startTime":"2020-12-16 15:12:19 -0500", "endTime":"2020-12-16 15:12:41 -0500", "activeStep":null }, "pipeline":{ "pipelineId":10001, "pipelineName":"Simple" }, "environment":{ "environmentId":11595, "environmentName":"Dev", "environmentCode":"DEV" }, "release":{ "releaseId":11611, "releaseName":"REST Release 1" }, "snapshot":{ "snapshotId":104506, "snapshotName":"07-16-2020 15:12:18", "snapshotStatus":"INITIATED", "description":null, "releaseId":11611 } } }
Release Started
The Release Started event is triggered whenever a release is started in FlexDeploy. Common use cases can include logic you want to perform after any release is started. For example you may want to start a sprint in Jira whenever the release is started.
{ "eventType":"Release Started", "actor":"fdadmin", "object":"testRelease", "timestamp":"2020-08-18 16:08:48 -0500", "payload":{ "release":{ "releaseId":54052, "releaseName":"testRelease", "releaseDescription":null }, "startDate":"2020-09-18", "endDate":null, "projects":[ { "projectId":440135, "projectName":"partialFile", "streamName":"master", "buildEnvironment":{ "environmentId":null, "environmentName":null, "environmentCode":null }, "groupName":null } ], "pipeline":{ "pipelineId":17854, "pipelineName":"DanPipeline" } } }
Release Ended
The Release Ended event is triggered whenever a release is endedin FlexDeploy. Common use cases can include logic you want to perform after any release is ended. For example you may want to end a sprint in Jira whenever the release is ended.
{ "eventType":"Release Ended", "actor":"fdadmin", "object":"testRelease", "timestamp":"2020-10-18 16:10:55 -0500", "payload":{ "release":{ "releaseId":54052, "releaseName":"testRelease", "releaseDescription":null }, "startDate":"2020-09-18", "endDate":null, "projects":[ { "projectId":440135, "projectName":"partialFile", "streamName":"master", "buildEnvironment":{ "environmentId":null, "environmentName":null, "environmentCode":null }, "groupName":null } ], "pipeline":{ "pipelineId":17854, "pipelineName":"DanPipeline" } } }
Snapshot Completed
The Snapshot Completed event is triggered whenever a snapshot eventually completes successfully or fails to build.
{ "eventType":"Snapshot Completed", "actor":"fdadmin", "object":"07-16-2020 15:58:59", "timestamp":null, "payload":{ "createdBy":"fdadmin", "createdOn":"2020-58-16 15:58:57 -0500", "updatedBy":"completedsnapshotsmonitor", "updatedOn":"2020-59-16 15:59:13 -0500", "snapshot":{ "snapshotId":104530, "snapshotName":"07-16-2020 15:58:59", "snapshotStatus":"INITIATED", "description":null, "releaseId":50157 } } }
Tag Assigned
The Tag Assigned event is triggered whenever a tag is assigned to an object like a project, environment, or target group.
{ "eventType": "Tag Assigned", "actor": "fdadmin", "object": "alpha", "timestamp": "2023-10-19 12:53:12 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-19 12:53:12 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:53:12 -0500", "tagAssignmentId": 135344, "tagId": 64158, "tag": { "tagId": 64158, "tagStyle": "{\"dark\":\"#949FDA\",\"light\":\"#3F51B5\"}", "tagKey": "alpha" }, "objectId": 557168, "objectType": "TARGET_GROUP" } }
Tag Unassigned
The Tag Unassigned event is triggered whenever a tag is unassigned from an object like a project, environment, or target group.
{ "eventType": "Tag Unassigned", "actor": "fdadmin", "object": "alpha", "timestamp": "2023-10-19 12:53:23 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-19 12:53:12 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:53:12 -0500", "tagAssignmentId": 135344, "tagId": 64158, "tag": { "tagId": 64158, "tagStyle": "{\"dark\":\"#949FDA\",\"light\":\"#3F51B5\"}", "tagKey": "alpha" }, "objectId": 557168, "objectType": "TARGET_GROUP" } }
Task Created
The Task Created event is triggered whenever a human task is created. This can be triggered from either a standalone project or a release.
{ "eventType":"Task Created", "actor":"completedsnapshotsmonitor", "object":"Test Release", "timestamp":"2020-03-16 16:03:43 -0500", "payload":{ "createdBy":"completedsnapshotsmonitor", "createdOn":"2020-03-16 16:03:43 -0500", "updatedBy":"completedsnapshotsmonitor", "updatedOn":"2020-03-16 16:03:43 -0500", "taskId":50702, "taskStatus":"PENDING", "externalId":null, "externalSystemId":null, "externalSystemType":null, "taskNotes":null, "groupId":10942, "roleId":11601, "environment":{ "environmentId":11595, "environmentName":"Dev", "environmentCode":"DEV" }, "release":{ "releaseId":50157, "releaseName":"Test Release" }, "pipelineExecution":{ "pipelineId":54957, "pipelineExecutionId":104553, "executionStatus":"RUNNING", "activeStageExecution":{ "stageExecutionId":104554, "environmentId":11595, "executionStatus":"RUNNING_GATES", "startTime":null, "endTime":null, "activeStep":{ "id":54961, "executionId":104555, "executionStatus":"PENDING_APPROVAL", "isGate":true } } }, "snapshotId":104549, "workflow":null, "workflowRequestId":null, "project":null } }
Task Approved
The Task Approved event is triggered whenever a human approval task is approved.
{ "eventType": "Task Approved", "actor": "fdadmin", "object": "Sample Release", "timestamp": "2023-10-19 12:54:42 -0500", "payload": { "createdBy": "releaseeventprocessor", "createdOn": "2023-10-19 12:25:39 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:54:42 -0500", "taskId": 274103, "taskStatus": "APPROVED", "taskIdentifier": "a4591136-d24d-4144-9006-27262070dee7", "taskType": "APPROVAL", "externalId": null, "externalSystemId": null, "externalSystemType": null, "taskNotes": "", "groupId": 1, "roleId": 15901, "environment": { "environmentId": 10051, "environmentName": "Dev", "environmentCode": "DEV" }, "release": { "releaseId": 703416, "releaseName": "Sample Release", "releaseDescription": null }, "pipelineExecution": { "pipelineId": 702655, "pipelineExecutionId": 898155, "executionStatus": "RUNNING", "activeStageExecution": { "stageExecutionId": 898157, "environmentId": 10051, "executionStatus": "RUNNING_GATES", "startTime": null, "endTime": null, "activeStep": { "id": 706075, "executionId": 898158, "executionStatus": "PENDING_APPROVAL", "isGate": true } } }, "snapshotId": 898150, "workflow": null, "workflowRequestId": null, "project": null } }
Task Rejected
The Task Rejected event is triggered whenever a human approval task is rejected.
{ "eventType": "Task Rejected", "actor": "fdadmin", "object": "Sample Release", "timestamp": "2023-10-19 12:54:44 -0500", "payload": { "createdBy": "releaseeventprocessor", "createdOn": "2023-10-19 12:25:00 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:54:44 -0500", "taskId": 274101, "taskStatus": "REJECTED", "taskIdentifier": "774bc94f-12f5-46de-a0c3-907662745222", "taskType": "APPROVAL", "externalId": null, "externalSystemId": null, "externalSystemType": null, "taskNotes": "", "groupId": 1, "roleId": 15901, "environment": { "environmentId": 10051, "environmentName": "Dev", "environmentCode": "DEV" }, "release": { "releaseId": 703416, "releaseName": "Sample Release", "releaseDescription": null }, "pipelineExecution": { "pipelineId": 702655, "pipelineExecutionId": 898141, "executionStatus": "RUNNING", "activeStageExecution": { "stageExecutionId": 898143, "environmentId": 10051, "executionStatus": "RUNNING_GATES", "startTime": null, "endTime": null, "activeStep": { "id": 706075, "executionId": 898144, "executionStatus": "PENDING_APPROVAL", "isGate": true } } }, "snapshotId": 898134, "workflow": null, "workflowRequestId": null, "project": null } }
User Created
The User Created event is triggered whenever a user is created inside FlexDeploy. This could be particularly useful when configuring users in an Single Sign-On (SSO) Realm setup.
{ "eventType": "User Created", "actor": "fdadmin", "object": "marge", "timestamp": "2023-10-19 12:57:41 -0500", "payload": { "createdBy": "fdadmin", "createdOn": "2023-10-19 12:57:41 -0500", "updatedBy": "fdadmin", "updatedOn": "2023-10-19 12:57:41 -0500", "userId": 29191963, "email": "large.marge@gmail.com", "firstName": "large", "isActive": true, "lastName": "marge", "localUser": true, "userName": "marge", "loginFailedAttempts": null, "groups": [ { "groupId": 1, "groupName": "FD Administrators", "description": "Admin Users", "isActive": true, "isAdminGroup": true } ], "extGroups": [] } }
Workflow Completed
The Workflow Completed event is triggered whenever a workflow execution succeeds or fails. Note that this event will trigger for ALL workflow types.
The testSuiteExec array in the payload will return all test suite executions from the workflow. This is most common in TEST workflows but tests can be run from any workflow type (Build, Deploy, Utility, etc..).
Workflow Completed (DEPLOY) Event Payload
{ "eventType":"Workflow Completed", "actor":"fdadmin", "object":"currentStatusPartial", "timestamp":"2020-23-14 14:23:39 -0500", "payload":{ "createdBy":"fdadmin", "createdOn":"2020-23-14 14:23:25 -0500", "updatedBy":"fdadmin", "updatedOn":"2020-23-14 14:23:39 -0500", "executionStatus":"SUCCESS", "workflowExecutionId":12408, "startTime":"2020-23-14 14:23:25 -0500", "endTime":"2020-23-14 14:23:39 -0500", "workflow":{ "workflowId":1130, "workflowName":"SimpleDeployPartial", "workflowType":"DEPLOY", "workflowVersionId":1131 }, "project":{ "projectId":10002, "projectName":"currentStatusPartial" }, "projectVersionId":13101, "projectVersionName":"1.0.37", "packageName": "TestPackage", "projectStreamId":10003, "projectStreamName":"master", "instance":{ "instanceId":1168, "instanceName":"Current Status", "instanceCode":"CURRENTSTATUS" }, "environment":{ "environmentId":1166, "environmentName":"Development", "environmentCode":"DEV" }, "release":{ "releaseId":null, "releaseName":null }, "snapshot":{ "snapshotId":null, "snapshotName":null, "snapshotStatus":null, "description":null, "releaseId":null }, "workflowRequest":{ "workflowRequestId":12505, "forceDeploy":true, "triggerType":"MANUAL", "flexFields":[ null, null, null, null, null, null, null, null, null, null ], "priority":1, "allFilesRequested":false }, "issueNumbers":[ ], "cmsTickets":[ ], "testSuiteExec":[ ] } }
Workflow Completed (TEST) Event Payload
{ "eventType":"Workflow Completed", "actor":"fdadmin", "object":"TestProject", "timestamp":"2020-44-18 10:44:16 -0500", "payload":{ "createdBy":"fdadmin", "createdOn":"2020-43-18 10:43:57 -0500", "updatedBy":"fdadmin", "updatedOn":"2020-44-18 10:44:16 -0500", "executionStatus":"SUCCESS", "workflowExecutionId":10409, "startTime":"2020-43-18 10:43:58 -0500", "endTime":"2020-44-18 10:44:16 -0500", "workflow":{ "workflowId":1193, "workflowName":"TestWorkflow", "workflowType":"TEST", "workflowVersionId":1195 }, "project":{ "projectId":10002, "projectName":"TestProject" }, "projectVersionId":10010, "projectVersionName":"1.0.1", "projectStreamId":10003, "projectStreamName":"master", "instance":{ "instanceId":1323, "instanceName":"Local", "instanceCode":"LOCAL" }, "environment":{ "environmentId":1320, "environmentName":"Development", "environmentCode":"DEV" }, "release":null, "snapshot":null, "workflowRequest":{ "workflowRequestId":10411, "forceDeploy":false, "triggerType":"MANUAL", "flexFields":[ null, null, null, null, null, null, null, null, null, null ], "priority":null, "allFilesRequested":false }, "issueNumbers":[ ], "cmsTickets":[ ], "testSuiteExec":[ { "testSuiteExecutionId":1262620, "status":"FAILED", "startTime":"2023-06-12 11:33:37 -0500", "endTime":"2023-06-12 11:34:13 -0500", "testExecutions":[ { "name":"LocalPostmanTest1", "status":"FAILED", "toolName":"Postman", "testResults":[ { "testCaseName":"http://numbergen.com:8000/JavaRandomNumGenApp/random-number", "status":"FAILED", "message":"Status code is 200 - AssertionFailure - null", "minResponseTime":null, "maxResponseTime":null, "avgResponseTime":null, "duration":0, "executionCount":1, "outputData":null } ] }, { "name":"LocalPostmanTest2", "status":"FAILED", "toolName":"Postman", "testResults":[ { "testCaseName":"http://numbergen.com:8000/JavaRandomNumGenApp/random-number", "status":"FAILED", "message":"Status code is 200 - AssertionFailure - null", "minResponseTime":null, "maxResponseTime":null, "avgResponseTime":null, "duration":0, "executionCount":1, "outputData":null }, { "name":"ParameterizedTest", "status":"PASSED", "toolName":"JUnit", "testResults":[ { "testCaseName":"my.company.tests.ParameterizedTest.testMultiplication[0]", "status":"PASSED", "message":null, "minResponseTime":null, "maxResponseTime":null, "avgResponseTime":null, "duration":3, "executionCount":1, "outputData":null }, { "testCaseName":"my.company.tests.ParameterizedTest.testMultiplication[1]", "status":"PASSED", "message":null, "minResponseTime":null, "maxResponseTime":null, "avgResponseTime":null, "duration":0, "executionCount":1, "outputData":null } ] } ] } ] } ] } }
Work Item Created
The Work Item Created event is triggered whenever a work item is created.
{ "eventType":"Work Item Created", "actor":"fdadmin", "object":"5903", "timestamp":"2023-05-26 18:19:38 -0500", "payload":{ "createdBy":"fdadmin", "createdOn":"2023-05-26 18:19:38 -0500", "updatedBy":"fdadmin", "updatedOn":"2023-05-26 18:19:38 -0500", "flxWorkItemId":5903, "workItemNumber":"5903", "title":"POSTMAN_Test_FlxWorkItem_2", "description":"POSTMAN test FlxWorkitem 2", "type":{ "name":"12345678901234567890123456789012345678901234567890", "code":"12345678901234567890123456789012345678901234567890" }, "status":{ "id":1, "name":"TODO" }, "assignee":{ "id":1, "userName":"fdadmin", "email":"erick.jones@flexagon.com" }, "tags":null, "customFields":[ ], "workItemUpdates":null } }
Work Item Updated
The Work Item Updated event is triggered whenever work item is updated.
{ "eventType":"Work Item Updated", "actor":"fdadmin", "object":"5901", "timestamp":"2023-05-26 18:19:40 -0500", "payload":{ "createdBy":"fdadmin", "createdOn":"2023-05-26 18:19:37 -0500", "updatedBy":"fdadmin", "updatedOn":"2023-05-26 18:19:40 -0500", "flxWorkItemId":5901, "workItemNumber":"5901", "title":"POSTMAN_Test_FlxWorkItem_1", "description":"Updated POSTMAN test FlxWorkitem 1", "type":{ "name":"12345678901234567890123456789012345678901234567890", "code":"12345678901234567890123456789012345678901234567890" }, "status":{ "id":1, "name":"TODO" }, "assignee":{ "id":1, "userName":"fdadmin", "email":"erick.jones@flexagon.com" }, "tags":null, "customFields":[ { "fieldName":"PRIORITY", "fieldValue":"Priority2" }, { "fieldName":"KARLS8519", "fieldValue":null }, { "fieldName":"MORE_AND_MORE", "fieldValue":null }, { "fieldName":"SDFSDF", "fieldValue":null }, { "fieldName":"FIELD6", "fieldValue":null }, { "fieldName":"VENDOR_NOT_FOUND", "fieldValue":"false" } ], "workItemUpdates":[ { "fieldName":"Description", "newValue":"Updated POSTMAN test FlxWorkitem 1", "oldValue":"POSTMAN test FlxWorkitem 1" } ] } }