Did you know you can subscribe to updates to the release notes? Right click and copy this link and paste it into Outlook RSS Feeds or your feed reader of choice.
We recommend viewing Transforming Developer Productivity: FlexDeploy 6.0 and Transforming Developer Productivity: FlexDeploy 6.5. You can enter your name, email, company, then click Register to view these webinars. This will give features overview and help you understand new navigation and user experience.
FlexDeploy 7.0.0.0 (11-18-2023)
Version Details
This contains all features and fixes that are part of 6.5.0.12.
Application Version - 7.0.0.0.1126
Docker images:
Application Updates
FlexDeploy 7.0.0.0 is significant milestone towards Next Generation UI/UX transformation, building on top of 6.0 and 6.5. This is focused on Release & Pipeline Management as well as Incoming & Outgoing Webhooks. This is not just about consistent and productive UX changes, but many new features are also incorporated.
Next Generation UI/UX
Modern look and feel with new branding is now extended to Release & Pipelines, Incoming & Outgoing Webhook screens.
Folder can now contain folders as well as projects, this was previously not allowed. Additionally, Releases are also now organized in Folders.
FLEXDEPLOY-9754 - Projects - An option for displaying execution data in table format is now available for projects and packages. The setting can be found in the options menu next to saved queries.
FLEXDEPLOY-9755 - Projects - Shows duration next to start time in project execution list.
Release and Pipeline Management
Release Definition
Releases are now available in Global search as well as Recent activity. In addition, Releases can be marked as Favorite and tags can be assigned to it.
Releases are now stored in folders. For Customers upgrading from previous version, all Releases will be placed in FlexDeploy folder.
Release security is now inherited from parent folder, which allows for easier management of security permissions for release. Release can override or inherit security from parent folder(s), which is similar to folder and project security. There is no impact to Customers upgrading from previous versions of FlexDeploy.
Release Settings are now available. These settings as release permissions can be defined at the folder or release level. Release settings include various options like Snapshot name syntax, Auto complete package & release after deployment to production, options to automatically add content based on work items etc. See Release Settings for more details.
FLEXDEPLOY-4174 - Snapshot code committers are not allowed to approve gate. This is configured by release setting.
FLEXDEPLOY-6347 - Snapshot name can be customized now using
Snapshot Name
setting which is defined as Groovy script. Supported variables areCurrentDate
,ReleaseName
,SequenceNumber
(FLEXDEPLOY-8781)
Release content (project/packages) can be managed much more easily now. UX is similar to how package files are managed. This process also allows for searching packages of specific project easily (FLEXDEPLOY-2515).
Release content now can be managed by Release Manager role without any knowledge of necessary project/package. This is accomplished by adding Work Items to release and project/packages are added automatically to release content. This behavior is controlled by
Auto-Add Content Options
release setting, which allows adding content based on package work item mapping, new build or previous build associated with work item.Work Items are always added to release when new snapshots are created or new packages are added. This allows release manages to see list of work items being developed for specific release.
FLEXDEPLOY-4299 - removal of project/package from release content now presents confirmation dialog.
Completed releases can now be started if necessary.
Force Complete option is now available to complete release, which will abort any running executions.
Pipeline Definition
Pipelines are now available in Global search as well as Recent activity.
Pipeline definition edit and version activation is simplified in comparison to previous FlexDeploy version.
Pipeline Groovy now has access to many new functions:
LOG
,EMAIL
,SLACK
,MICROSOFTTEAMS
,REST
.FLEXDEPLOY-4467 - Pipeline property definition now allows for various types like Text Field, Text Area, Number, Checkbox, Decimal, Duration, Date, Date Time, and FlexDeploy selections for Environment, Project, Release, User, Group etc.
Use of Pipeline Roles on various gate and step including error notification can now be scripted. In addition, user can provide just FlexDeploy groups instead of Role(s). (FLEXDEPLOY-5923)
Pipeline Versions now get named with an sequence number instead of current date.
Release Execution and Dashboard
The release execution engine was revamped in 7.0, and should help reduce CPU and memory usage when there are many releases and snapshots in progress. Improvement on execution speed will be noticeable also.
Release execution now allows for skip of specific stages. This is supported via two options. Programmatic option allows users to define Precondition script on stage, script can be implemented as necessary. Another option is via built-in input for Skip Stages, when creating snapshot user can provide zero or more stages to be skipped. (FLEXDEPLOY-5918)
A new gate type, Scan Gate allows a pipeline to ensure that snapshot versions meet defined security vulnerability criteria before promotion.
A new step type, Promote to Release allows a pipeline to send content at this point into a new snapshot in another release.
Snapshot Inputs are a new way to get data into snapshots that can be different for a snapshot, but consistent across release stages.
The Notification Step is now able to send notifications using custom templates. This allows an Apache Velocity template to be filled in with variables unique to the pipeline. (FLEXDEPLOY-7542)
The Wait Step now has a role associated that can skip the wait if needed.
Approval, External Approval, Schedule Gates provide a view in to what will be deployed to help approver make decision on whether to approve or reject.
The release dashboard has a new focused mode as well as a classic mode that looks very similar to the old screen layout. Dashboard allows concise view for a snapshot and easy way to navigate to other snapshots.
Release dashboard actions are now displayed bit differently than before. Only Stage related actions are shown on Stage, and gate/step actions are on specific gate/step.
Actions like abort, approve, reject, override, skip etc. will present confirmation popup to avoid accidental clicks.
Snapshots can be compared with other snapshots as well as environments. Comparison with other snapshots allow for finding newer builds, whereas comparison with environment helps us understand what may deploy if snapshot was promoted to specific environment.
FLEXDEPLOY-3856 - Snapshot content is displayed in deployment order based on configured priority on release definition.
FLEXDEPLOY-4475 - Manual step can now be rejected as well and in addition it allows user to provide notes along with approve/reject action.
FLEXDEPLOY-5790 - Release dashboard now allows view of stage execution information for completed releases as well.
FLEXDEPLOY-7468 - Folder paths are now shown next to the Project names in the Stage Execution Info popup on the Release Dashboard.
Snapshot creation can now be Aborted, this would be useful if Snapshot was stuck in Pending state.
Standalone Release
FlexDeploy 7.0 introduces concept of Standalone release. Standalone releases control the deployment of a single project or package. They are provided to simplify release management when releasing only one item, which may be applicable for emergency releases or it may be part of normal operating mode for some projects. See Standalone Releases for more details.
Release Insights
Release Insights tab is now available similar to Project Insights. Release Insights shows commits and work items in a snapshot range, which helps user analyze development progress.
Comments and Attachments
Comments can now be added on Release as well. Comments added on Pipeline Definition are called Instructions, which are still supported and are also clearly visible on release dashboard. (FLEXDEPLOY-8976)
Comments can be added to future gate and step as well, previously only currently executing gate and step allowed comments.
Attachments are embedded in to comment text and allows for easy upload and download. This is now consistent with other parts of FlexDeploy that supports comments and attachments.
Comments allow for mentions as well. Mentions will generate email to mentioned users.
Release comments including execution (snapshot) comments are visible and searchable in comments tab of release.
Webhooks
Incoming and Outgoing webhook screens are now available in modern look and fell. Also, main screen now shows execution details with links to configuration management.
FLEXDEPLOY-4074 - Added User Created event for Outgoing Webhooks.
FLEXDEPLOY-6346 - Added Task Created, Task Approved and Task Rejected events for Outgoing Webhook.
Added Tag Assigned, Tag Unassigned, Comment Added, Comment Updated, Comment Deleted, Package Created events for Outgoing Webhook.
FLEXDEPLOY-6786 - Webhook groovy script can now use
REST
function.FLEXDEPLOY-3416 - Groovy reserved words and FlexDeploy function names are now not allowed as Webhook Property Names.
Salesforce Integration
FlexDeploy supports Salesforce SSO as an identity provider. Now you can log into FlexDeploy using Salesforce credentials with a simple configuration.
DevSecOps
FLEXDEPLOY-6455 - Prevent XXE injection in FlexDeploy and several plugins.
FLEXDEPLOY-2512 - FlexDeploy now supports mapping FlexDeploy groups to SSO groups and roles. This is similar to what is already supported for LDAP integration. This will allows Customers to seamlessly manage FlexDeploy permissions for users. Note that permissions are controlled by FlexDeploy groups and this allows assigning specific FlexDeploy groups to users based on SSO provider configurations. See SSO Realm Group Mapping for more details.
FLEXDEPLOY-7395 - FlexDeploy now supports two factor authentication (2FA) with external authenticator i.e. Google Authenticator, Authy, Microsoft Authenticator etc. Configure 2FA in your user profile, i.e this is enabled individually by user.
Single Sign-On configurations are now done using Realms UI. Customers using file based SSO configurations will be automatically migrated.
Built-in Local credential store now allows update of encryption key. Customers that may want to update this periodically can do so from Credential Store integrations page.
Replacements Support
Project Replacements offers a simple configuration to adjust and substitute strings in artifact files with environment-specific values prior to deployment. Configured replacements will be executed on all the artifacts before the deployment execution. See Replacements for more details.
Miscellaneous
Change history report is now extended to show changes done for Release, Pipelines, etc.
FLEXDEPLOY-6484 - Users can now subscribe to receive notifications on specific Flex Work Item changes. This only applies to native work items and not external work items like Jira, Azure Boards.
FLEXDEPLOY-6759 - Purge has been added for change history records. This is configurable on Purge Settings page, default value for
Change History Purge Days
is 730.Completed packages can now be activated again if necessary.
Folder tree now contains folders, projects and releases. There is option to filter where only releases or projects can be viewed. Additionally, folders can now contain folders, projects and releases, previously folders and projects were not allowed to be under same parent folder.
FLEXDEPLOY-10022 - Work item search functionality has been added to the build request form and package work items input.
FLEXDEPLOY-9928 - Settings - A new theme setting has been added
Always Float Input Labels
. When true, input labels will float to the top of the input regardless of focus or whether or not a value is provided.FLEXDEPLOY-9258 - Endpoints - Added ability to select private key from list of keys stored on the server when setting up SSH authorization for Endpoints. Additionally, added ability to download the public key paired with the selected private key. Upload public key option has been removed from Endpoint screen.
FLEXDEPLOY-8721 - API tokens for REST API invocations are supported for internal as well as external users. (FLEXDEPLOY-8916)
New REST API added for V2 - see V2 REST API
Plugin Updates
FlexDeploy 7.0 plugins will not work with previous versions of FlexDeploy. In general, first two letters of application (e.g. 7.0) and plugin version should match for compatibility.
The Apigee, Maven, and XPath plugins now require Java 8, this decision was made to resolve security vulnerabilities. Flexagon understands that many customers are forced into using older Java versions by their legacy software, and will attempt to maintain Java 7 compatibility for the near future, as well as Java 6 compatibility for the EBS plugin. We also understand that other customers need to run on newer Java versions. Continue to watch the Plugin Java requirements page for updates. We welcome support tickets for concerns with Java version support.
FLEXDEPLOY-7760 - Resolved Vulnerabilities CVE-2017-18640, CVE-2022-25857, CVE-2022-38749, CVE-2022-38751, CVE-2022-38752, CVE-2022-41854, CVE-2022-38750 for Kubernetes and Helm plugin.
FLEXDEPLOY-7759 - Resolved Vulnerability CVE-2022-4065 for TestNG plugin.
FLEXDEPLOY-7757 - Resolved Vulnerability CVE-2022-31159 for AWS and Docker Plugin.
FLEXDEPLOY-7757 - Resolved Vulnerabilities CVE-2018-1270, CVE-2022-22965, CVE-2014-0225, CVE-2016-9878, CVE-2018-11040, CVE-2013-4152, CVE-2013-6429, CVE-2013-7315, CVE-2014-0054, CVE-2018-1257, CVE-2020-5421, CVE-2022-22950, CVE-2018-11039, CVE-2013-6430, CVE-2022-22968, CVE-2022-22970, CVE-2014-3625, CVE-2014-1904 for AWS and EC2 Plugin.
FLEXDEPLOY-7756 - Resolved Vulnerabilities CVE-2022-36033, CVE-2021-37714, CVE-2022-29599, CVE-2021-26291, CVE-2014-3577, CVE-2020-13956, CVE-2015-5262, CVE-2021-29425, CVE-2017-1000487 for Apigee, Maven and MuleSoft plugin.
FLEXDEPLOY-7761 - Resolved Vulnerabilities CVE-2019-20444, CVE-2019-20445, CVE-2019-16869, CVE-2020-11612, CVE-2021-37136, CVE-2021-37137, CVE-2022-41881, CVE-2021-43797, CVE-2022-41915, CVE-2021-21295, CVE-2021-21409, CVE-2021-21290, CVE-2022-24823 for Oracle SaaS FSM Plugin.
FLEXDEPLOY-7762 - Resolved Vulnerability CVE-2021-42550 for Docker Plugin.
FLEXDEPLOY-7764 - Resolved Vulnerability CVE-2016-5725 for Git Plugin.
FLEXDEPLOY-7773 - Resolved Vulnerability CVE-2018-10237 for Docker, Siebel, Jenkins Plugin.
FLEXDEPLOY-7783 - Resolved Vulnerabilities CVE-2021-36374, CVE-2021-36373, CVE-2020-1945 for Ant Plugin.
FLEXDEPLOY-7788 - Resolved Vulnerabilities CVE-2020-10683 and CVE-2018-1000632 for Jenkins Plugin.
FLEXDEPLOY-7792 - Resolved Vulnerabilities CVE-2020-26939, CVE-2020-0187, CVE-2020-26939, CVE-2016-1000338, CVE-2016-1000342, CVE-2016-1000343, CVE-2016-1000344, CVE-2016-1000352, CVE-2016-1000341, CVE-2016-1000345, CVE-2017-13098, CVE-2020-0187, CVE-2016-1000339, CVE-2020-15522, CVE-2015-7940, CVE-2018-5382, CVE-2013-1624, CVE-2016-1000346 for PeopleSoft, OpenShift, Artifactory XRay, Oracle CPQ, PMD, Siebel, CheckMarx, OWASP Dependency Check, Acunetix, Jenkins Plugin.
FLEXDEPLOY-7793 - Resolved Vulnerabilities CVE-2014-0114, CVE-2019-10086 for various Plugin.
FLEXDEPLOY-7795 - Resolved Vulnerabilities CVE-2018-7489, CVE-2017-7525, CVE-2020-10650, CVE-2020-35490, CVE-2020-35491, CVE-2020-36518, CVE-2022-42003, CVE-2022-42004, CVE-2018-1000873, CVE-2019-14379, CVE-2019-14540, CVE-2019-14892, CVE-2019-14893, CVE-2019-16335, CVE-2019-16942, CVE-2019-16943, CVE-2019-17267, CVE-2019-17531, CVE-2019-20330, CVE-2020-8840, CVE-2020-9546, CVE-2020-9547, CVE-2020-9548, CVE-2020-10672, CVE-2020-10673, CVE-2020-10968, CVE-2020-10969, CVE-2020-11111, CVE-2020-11112, CVE-2020-11113, CVE-2020-11619, CVE-2020-11620, CVE-2020-14060, CVE-2020-14061, CVE-2020-14062, CVE-2020-14195, CVE-2020-24616, CVE-2020-24750, CVE-2020-35728, CVE-2020-36179, CVE-2020-36180, CVE-2020-36181, CVE-2020-36182, CVE-2020-36183, CVE-2020-36184, CVE-2020-36185, CVE-2020-36186, CVE-2020-36187, CVE-2020-36188, CVE-2020-36189, CVE-2021-20190, CVE-2019-12086, CVE-2019-14439, CVE-2020-25649 , CVE-2019-12384, and CVE-2019-12814 for EC2, AWS, Docker, Jenkins Plugin.
FLEXDEPLOY-7798 - Resolved Vulnerability CVE-2020-28491 in AWS Plugin.
FLEXDEPLOY-7801 - Resolved Vulnerabilities CVE-2021-27568 and CVE-2021-31684 for ServiceNow and XPath Plugin.
FLEXDEPLOY-7802 - Resolved Vulnerability CVE-2020-15250 for Docker, TestNG, Cucumber, JUnit Plugin.
FLEXDEPLOY-9152 - Resolved Vulnerability CVE-2023-33201 for various plugins.
FLEXDEPLOY-10004 - Resolved Vulnerability CVE-2023-4586 for Oracle SaaS FSM Plugin.
FLEXDEPLOY-9154 - Resolved Vulnerabilities CVE-2018-11307, CVE-2017-17485 for various plugins.
FLEXDEPLOY-10409 - Updated the Docker Bench Plugin to work with newer versions of Docker Bench.
Resolved Issues
FLEXDEPLOY-6828 - Resolved an issue where workflow input does not default to initial value when workflow is invoked from pipeline. Previously users needed to save stage execution information as workaround.
FLEXDEPLOY-7429 - Resolved an issue where attachments added when initially creating the work item would result in an error.
FLEXDEPLOY-10481 - Dashboards - Panel titles are now capped at 100 characters and overflow correctly.
FLEXDEPLOY-10482 - Dashboards - Resolved an issue where in certain cases editing Panel inputs in the Customize Dashboard Panel would modify inputs of already placed panels of the same type.
FLEXDEPLOY-10457 - Integrations - Integration description length is capped at 255 max now.
FLEXDEPLOY-10429 - Credentials - Resolved an issue where Delete credential was incorrectly disabled if you did not have UPDATE permission on Credentials.
FLEXDEPLOY-10417 - Packages - Resolved an issue where removing files from a package would not add them back as potential files to add to the package without a screen refresh.
FLEXDEPLOY-10403 - Folders - Resolved an issue where limited access users would not see any permission error when creating a folder (folder not created but error was not displayed).
FLEXDEPLOY-10391 - Groovy Code Editor - Resolved issue where editor would sometimes give suggestions for the incorrect function argument.
FLEXDEPLOY-10369 - UI Selection - Resolve an issue where while selecting Autocomplete options by clicking, sometimes additional options would be selected in multi selection input.
FLEXDEPLOY-10337 - Projects - Do not navigate away from project if there is an error deleting a Project.
FLEXDEPLOY-10320 - Saved Queries - Resolved an issue where newly created and modified queries would sometimes not apply all filters and sorts.
FLEXDEPLOY-10073 - Dashboards - Resolved a few overflow/wrapping issues on Recent Activity and Recent Work Items panels.
FLEXDEPLOY-10011 - Workflow Request - Resolved an issue seen during submission of a workflow request incorrectly stating that Workflow Input does not exist.
FLEXDEPLOY-10115 - Post Refresh REST API - Resolved an issue where wrong error message was displayed when trying to refresh an environment with no differences.
Deprecated Features
Groovy Functions
The method
FLEXDEPLOY.createIncidentForWorklowRequest
was deprecated and replaced withFLEXDEPLOY.createIncidentForWorkflowRequest
. The misspelled method will no longer show up as an option in the editor, but will continue to work.Previously deprecated method
FLEXDEPLOY.populateFiles(Long pProjectId, Long pBranchId)
is now hidden from the code editor. It will continue to work, but switching toFLEXDEPLOY.discoverFiles
is recommended.The following
FLEXDEPLOY.Stream
methods are now deprecated.
Long findStreamId(Long pProjectId, String pStreamName); Long createStream(Long pProjectId, ProjectStreamPojo pStream); Long createStream(Long pProjectId, String pStreamName); Long createStream(Long pProjectId, String pStreamName, String pVersionSyntax); void activateStream(Long pProjectId, String pStreamName); void inactivateStream(Long pProjectId, String pStreamName); void patchStream(Long pProjectId, Long pStreamId, ProjectStreamDataObject pStream); void updateStream(Long pProjectId, Long pStreamId, ProjectStreamPojo pStream);
FLEXDEPLOY.Branch
methods replace them.
Long findBranchId(Long pProjectId, String pBranchName); Long createBranch(Long pProjectId, String pBranchName, String pVersionSyntax); Long createBranch(Long pProjectId, ProjectStreamPojo pBranch); Long createBranch(Long pProjectId, String pBranchName); void activateBranch(Long pProjectId, String pBranchName); void inactivateBranch(Long pProjectId, String pBranchName); void patchBranch(Long pProjectId, Long pBranchId, ProjectStreamDataObject pBranch); void updateBranch(Long pProjectId, Long pBranchId, ProjectStreamPojo pBranch);
Plugins
Following plugins are deprecated and will be removed in next major FlexDeploy release.
REST API
All V1 REST APIs have been deprecated since FlexDeploy 6.0. These APIs are still available but some may be removed in the next major FlexDeploy release. The exact APIs scheduled for removal in next major release will be declared in upcoming monthly releases.
Application API (/flexdeploy/rest/v1/application) was previously removed from V1. Application concept was removed in FlexDeploy 6.0.
Snapshot API -
v1/releases/{releaseId}/snapshot
- (GET by ID and Parameters) return data does not containrequestAllFiles
boolean value asPackageName
is sufficient.
These V1 REST APIs will be removed in FlexDeploy 8.0. Do not start using them. If you are using them, migrate to v2 apis. If you have a concern with a specific api being removed, open a support ticket.
RestTestingToolServices - v1/administration/testautomation/testingtool
RestChangeManagementSystemServices - v1/administration/changemanagementsystem
RestIssueTrackingSystemServices - v1/administration/issuetrackingsystem
RestPluginServices - v1/administration/plugins
RestResourceTypeServices - v1/administration/resourcetypes
RestEndPointServices - v1/topology/endpoint
RestEnvironmentServices - v1/topology/environment
RestInstanceServices - v1/topology/instance
These V1 REST APIs will be modified and may be removed in FlexDeploy 8.0.
RestWorkflowPropertyServices - v1/workflows/{workflowId}/properties
RestWorkflowServices - v1/workflows
RestSCMDefinitionServices - v1/scm/definition
Incompatible Changes
Release and Pipeline Management
Releases no longer have the state
NOTSTARTED
so if you were using this state in a REST call, useSUSPENDED
orSTARTED
instead. The validation of the release to be ready to run is no longer required forSTARTED
. Instead, creating snapshots contains that validation.The CSV format for Uploading and Download Pipeline Stage Execution Info has changed. Any CSV files in the old format should be discarded. A new CSV file with the correct format can be downloaded from the Stage Execution Info popup in the Release Dashboard.
Background thread names used by execution engine is changed from
gateworker
,stepworker
toreleaseeventprocessor
.FLEXDEPLOY-9981 -
ReleaseProjectDataObject
- Removed theGroupName
attribute, which contained group names (String), and replaced withProjectGroups
attribute, which contains group ids. This affects v2 REST APIs for release and someFLEXDEPLOY
methods.New release created using V1 API will be placed in FlexDeploy folder and will be initialized with Pipeline based on FlexDeploy folder release settings.
FLEXDEPLOY.getPipelineStageExecutionInfo()
return object was changed to remove theworkflowDetailsMetaData
andflexFieldsMetaData
attributes.
Plugins
Groovy Scripts
Several groovy functions available from the
FLEXDEPLOY
object throw different exceptions, which could require a change to a try catch block in your groovy functions. For instance, the release methods that once threwFlexNotFoundException
now throwFlexDeployRowNotFoundException
, consistent with other APIs made more recently.The column “Stream” in the csv file created by
FLEXDEPLOY.getSnapshotCommitDetailInputStreams
andFLEXDEPLOY.downloadSnapshotCommitDetails
is renamed to "Branch"
URL Changes
Application URLs are updated as shown below. If you are referencing these URLs then adjust appropriately. In some cases, internal redirect is setup and previous URLs will continue to work for now.
Page | Old URL | New URL | Redirect? |
---|---|---|---|
Pipelines |
|
| NO |
Releases |
|
| YES |
Release Dashboard |
|
| YES |
Incoming Webhooks |
|
| NO |
Outgoing Webhooks |
|
| NO |