Add Common Room processor
What does this MR do and why?
See https://gitlab.com/gitlab-com/marketing/developer-relations/dev-evangelism/de-tmm-meta/-/issues/305+
We already have scheduled pipelines which use Ruby scripts to extract:
- New merge requests
- Merged merge requests
- New issues
- The authors of the above
And push into Common Room via their API.
We aren't currently able to extend those scripts to extract new comments on issues and merge requests because the database/backend cannot support the query (e.g. there is no way to say- give me comments based on:
- Entered date/time
- Wider community members only
- Group
Using webhooks + triage-ops we are able to filter by group and process real-time to avoid the backend/database challenges.
This MR adds a processor to identify new comments by wider community members and send them (along with their noteable + respective author(s)) to Common Room.
Expected impact & dry-runs
These are strongly recommended to assist reviewers and reduce the time to merge your change.
See https://gitlab.com/gitlab-org/quality/triage-ops/-/tree/master/doc/scheduled#testing-policies-with-a-dry-run on how to perform dry-runs for new policies.
See https://gitlab.com/gitlab-org/quality/triage-ops/-/blob/master/doc/reactive/best_practices.md#use-the-sandbox-to-test-new-processors on how to make sure a new processor can be tested.
Action items
-
If adding environment variables for reactive processors, update config/triage-web.yaml
and.gitlab/ci/triage-web.yml
-
(If applicable) Add documentation to the handbook pages for Triage Operations => - (If applicable) Identify the affected groups and how to communicate to them:
-
/cc @ person_or_group
=> -
Relevant Slack channels => -
Engineering week-in-review
-