Automatic Triage and Labelling
Discussed with @meks that eventually it would be great to offer Triage as a native GitLab feature and serverless would enable a closer to realtime experience for the user.
Overview
Enable a user to enact a policy which would allow for identification of issues or merge requests and the ability to take an action on them. The identification can be over all projects and sub-projects of a group or an individual project. The actions can be individual (such as label application) or aggregate (such as packaging and summarizing) on the resource.
The realtime usecase can leverage triage-serverless
User Experience
Let's take an example such as Mark potentially interesting feature proposals
- User visits policies page from a group or project
- A multi-step workflow is presented where the user chooses between individual or aggregate action
- User chooses individual action and is directed to the Input Configuration page
- User chooses issues between issues and/or merge request resources to identify
- User chooses filters of:
- state: opened
- label(s): gitlab-ce~10230929
- upvotes: 10+
- milestone: none
- User is able preview resources which would be scoped for policy based on filters
- User advances to Policy Action step to configure desired action. User choses individual action
- label: potential proposal
- User previews and confirms filter
Group Administrator Experience
To start, these configuration options would be applied at the group level. It is assumed that the group has a Kubernetes Environment available.
- Triage Serverless can be added as an Application within a Kubernetes Cluster.
- Administrator would enter details for configuration of the serverless rules.
- Upon completion, all resources required (Knative, Triage Serverless, webhook, etc) would be provisioned.
Considerations
- Security/permissions model - how could this be done in a manner that is not reliant on a specific bot user's token?
- How can we configure reaction rules (yaml, UI, iteration!)?
Links
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.