Is your feature request related to a problem? Please describe
For our workflow we would like to duplicate/copy an existing engagement whenever we start a new feature branch which we want to analyse/register the results of our security tests.
For example, when we create a feature branch foo branching from our main branch at version 1.0.0 we want to copy the engagement that belongs to version 1.0.0. From here on we can upload the test results of our feature foo to the new engagement. This way the engagement of the feature branch will show a clear delta in findings compared to what is already existing on the main branch. This will help reduce the time spent on reflagging findings as mitigated for example, but also shows which findings from the main engagement are resolved as well as introduced in this feature branch.
Currently it is possible to create a copy of an engagement via the GUI by clicking the 3 dots on an engagement and selecting Copy. However, for our CI/CD pipelines we would like to be able to automate this, and this GUI functionality is not exposed via the API.
Describe the solution you'd like
As a DevOps engineer, I want an API endpoint which can copy an engagement by Id, so that I can create a solid starting point for analysing findings on my new work.
In terms of the API I would like to see an endpoint under the engagements model with a path /api/v2/engagements/{id}/copy, this would create a new engagement which is a clone of the engagement referenced by {id}.
This API would yield the same result as the copy functionality which can be achieved by the GUI.
Describe alternatives you've considered
We've considered reproducing the calls that the GUI does under the Copy functionality in order to be able to automate this, but it proves close to impossible because of tokens and access that is required to set this up in a clean way.
Another alternative we've considered is to reconstruct the copy functionality by using the API endpoints that are available, however some things like adding risk acceptances to an engagement does not seem possible via the available endpoints.
Is your feature request related to a problem? Please describe
For our workflow we would like to duplicate/copy an existing engagement whenever we start a new feature branch which we want to analyse/register the results of our security tests.
For example, when we create a feature branch foo branching from our main branch at version 1.0.0 we want to copy the engagement that belongs to version 1.0.0. From here on we can upload the test results of our feature foo to the new engagement. This way the engagement of the feature branch will show a clear delta in findings compared to what is already existing on the main branch. This will help reduce the time spent on reflagging findings as mitigated for example, but also shows which findings from the main engagement are resolved as well as introduced in this feature branch.
Currently it is possible to create a copy of an engagement via the GUI by clicking the 3 dots on an engagement and selecting
Copy. However, for our CI/CD pipelines we would like to be able to automate this, and this GUI functionality is not exposed via the API.Describe the solution you'd like
As a DevOps engineer, I want an API endpoint which can copy an engagement by Id, so that I can create a solid starting point for analysing findings on my new work.
In terms of the API I would like to see an endpoint under the
engagementsmodel with a path/api/v2/engagements/{id}/copy, this would create a new engagement which is a clone of the engagement referenced by{id}.This API would yield the same result as the copy functionality which can be achieved by the GUI.
Describe alternatives you've considered
We've considered reproducing the calls that the GUI does under the
Copyfunctionality in order to be able to automate this, but it proves close to impossible because of tokens and access that is required to set this up in a clean way.Another alternative we've considered is to reconstruct the copy functionality by using the API endpoints that are available, however some things like adding risk acceptances to an engagement does not seem possible via the available endpoints.