Log in to your harness - The Modern Software Delivery Platform® account to give feedback

Feature Requests

Anonymous

Feature Requests for Harness. Select 'Category' based on the module you are requesting the feature for.
Support delegated “on behalf of” execution attribution for API-triggered pipelines
Description Today, when a Harness pipeline is triggered through the API using a service account token, the pipeline execution is attributed to the service account. This is expected for automation, but it creates an audit gap for organizations where a trusted external system authenticates real users and then triggers Harness deployments on their behalf. Request: provide a supported API-level delegated attribution model for pipeline executions triggered by service accounts. The desired capability would allow a trusted service account to pass a verified end-user identity, such as an email or Harness user identifier, when calling the pipeline execute API or custom webhook endpoint. Harness would then display the execution as being requested/executed by that end user, or clearly show the execution as performed by the service account on behalf of that user. Example desired display: Executed by: user@example.com Triggered via: deployment-service-account or Executed by: deployment-service-account on behalf of user@example.com This should not simply overwrite audit history. The audit record should preserve both identities: * the authenticated automation principal/service account that made the API call; * the delegated/requesting end user from the trusted external system. Use Case An enterprise uses an external deployment portal or internal platform where users are already authenticated and authorized. That system calls the Harness API using a service account token to trigger a CD pipeline. For audit/SOX compliance, the deployment record in Harness needs to identify the real user who requested the deployment, not only the service account used by the external automation layer. Requested Behavior Add a supported field, header, or property to the pipeline execute API and/or custom webhook flow, such as: onBehalfOf requestedBy delegatedUser executedByUser The feature should allow customers to pass a verified user identity for display and audit attribution. Why This Matters For regulated environments, deployment audit records need to answer both: Which automation principal called Harness? Which real person requested or approved the deployment in the external system? Today, customers can pass the requester as a pipeline variable or metadata field, but that does not update the native Harness “Executed by” / execution history attribution. A first-class delegated attribution model would make API-triggered deployment records more useful for compliance, SOX evidence, and audit review.
2
·
Continuous Delivery &…
·
in progress
conditional (or perhaps 'advanced tab') support for templated stages, step-groups, and steps
Problem statement: When working with templated steps/step-groups/stages, a major aspect of their utility is their capacity to be freely reused in multiple contexts. When working from within the yaml editor, it is possible to apply such constructs as 'when' clauses to templated steps, step-groups, and stages, and having access to these 'when' clauses allow for appropriate data encapsulation. However, this has the drawback that when the reference to the template is updated (whether by explicit change of version or through requiring reconciliation) the 'when' clause is removed (and requires manual review to catch and restore). By contrast, when using the GUI, the only option is to create conditionals which reference variables defined outside their contextual frame, and there is no clear means for templates to advertise which variables they rely upon, nor are there top level decorators exposing how the steps/step-groups/stages do run conditionally, when they are templates. Sample use story: I have a templated step-group which I want to be using, conditional on a value calculated earlier in the pipeline, e.g. 'determined that there is an additional client jar target to build'. I want to be able to use a jexl expression at the top level to directly reference the calculated value (from within the UI), rather than having to rely on conditionals on the template which are blindly referencing variables defined outside their contextual frame, or manually writing the conditional in yaml & needing to worry about possibly losing the conditional when updates take place. Several possible options: (*) (minimal) allow for the UI to support some kind of parameter ~slots for conditionals, so that there isn't a need to use blind exterior references when defining template conditions, and update the UI to consistently decorate conditionally executing templated steps/step-groups/stages. (*) (more general, but has potential issues depending on defaults) establish a way to enable templates to have conditions added to them at the calling level. This request is directed to both CI and CD pipelines
3
·
Continuous Delivery &…
·
in progress
Load More