Skip to main content

Actions Engine Possibilities

The actions engine has some amazing possibilities that I wanted to highlight, and hopefully see from the Currents team if any of these would be feasible given its existing implementation.

My proposition:
Could the Actions Engine accept some sort of custom script that will do whatever we might want? This would allow any user to hook into the results of their tests, powered by, and easilly visible and modifiable from within Currents.

Here’s a use case for us that would be compelling:

Our team has been building out a comprehensive flake reporting system for our Cypress E2E test suite. We have a bad flakiness problem, and have written a custom reporting plugin that will:
1. detect a flake
2. create a jira ticket for the flake for a given unique test and error message
3. if the flake occurs again, it will find this jira ticket and update it with more information

Some feedback within our team on this would be:
1. can we then attach grafana logs if an error contains a request ID?
2. can we only assign someone if the flake has occurred more than once so we can prioritise?

the possibilities are endless, so having the Actions Engine attempt to build a one-size-fits-all solution for all the things people might want to do with test results might be an endless job. Putting the power into the hands of the users to script their own actions would be sick!

What do others think? Is this feasible within the current engine?

2 comments

Log in to comment and vote

Comments2

  • Andrew Goldis

    Team•

    Jan 28, 2025

    Hi Parker and thanks for sharing the feedback!
    This is a great use case and I am aware of a few teams that have a similar workflow. Let my clarify a few points.

    re: create a jira ticket for the flake for a given unique test and error message

    How do you check uniqueness? Do you check if there’s an existing (open) jira ticket for test + error message?

    re: if the flake occurs again, it will find this jira ticket and update it with more information

    Oh, ok …so you track flakiness occurrences in jira - a separate ticket for each test + flakiness error? What information do you add to an existing ticket?

    In general, an ability to run custom code as part of Currents Lifecycle is super-powerful indeed. We launched the Actions Engine recently and have been observing how the teams are using it, what capabilities are missing. The example you share is quite advanced, but I believe we have a somewhat compatible solution when we add integrations Jira/Linear etc to the Actions Engine.

    Also, we are quite limited in what we can do with Cypress because of their policy :)

    • Parker Rowe

      •

      Jan 29, 2025

      Hi Andrew, love what you and the team are building!

      For uniqueness (right now anyway) it’s exactly as you said:
      Jira summary is the test file + test name
      Jira Description contains the error message

      We search for all flake tickets with the given summary and error message in the description. It works well for flakes that are unique to a given test, though I’m quickly finding that if a flake is common across multiple tests then we end up seeing some repeats.

      Here’s an example ticket + the comment that is added if it occurs again:


      And yeah unfortunately our team is locked in to Cypress at the moment, so we’re feeling the limitations! Though, we are planning a switch to Playwright in the coming months