Git/Reviewers
This is a page where people can register to be automatically added as reviewer to newly opened changes in Gerrit or Gitlab depending on specific conditions. After registering here, reviewer-bot will add you as reviewer to every change that matches the project and file filter. For Gitlab, you will get an "@" mention in the merge request.
Gerrit Reviewer Bot Release status: stable |
|
---|---|
Description | Adds reviewers to Gerrit patchsets Log of recent actions |
Author(s) | User:valhallasw Please send me a talk page message or e-mail if the bot is malfunctioning. |
License | MIT |
Download | https://github.com/valhallasw/gerrit-reviewer-bot |
- Note: If you are looking for a list of people that could review your patch, please see Developers/Maintainers.
Gerrit supports a similar feature by itself (including filtering by modified file name and words appearing in commit message), see Gerrit/watched projects and https://gerrit.wikimedia.org/r/settings/projects. Likewise, GitLab supports enabling notifications on projects, groups, individual merge requests, etc. See https://docs.gitlab.com/ee/user/profile/notifications.html. GitLab does not support filename-based matching, so this page may still be useful to you.
How to add yourself
Each project has a header with the Gerrit or Gitlab project name, followed by a list of people (using Template:Gerrit-reviewer or Template:Gitlab-mention), for example:
=== test/mediawiki/extensions/examples === * {{Gerrit-reviewer|User 2}} * {{Gerrit-reviewer|User 1|file_regexp=<nowiki>i18n</nowiki>}}
The file_regexp
parameter can be used to filter for changes in specific files:
* {{Gerrit-reviewer|User 1|file_regexp=<nowiki>i18n</nowiki>}}
will watch for changes where a file with 'i18n' in the name is changed, while
* {{Gerrit-reviewer|User 1|file_regexp=<nowiki>^includes/specials</nowiki>}}
will watch for changes in the includes/specials directory. You can test the regexp using [1] with IGNORECASE and DOTALL enabled. The <nowiki> tags are suggested but only required when the regexp contains characters that interfere with template parsing (e.g. | and }}).
An optional match_all_files
parameter makes the bot only mark changes where the file_regexp
matches all the changed files:
* {{Gerrit-reviewer|User 1|file_regexp=<nowiki>\.css|\.txt</nowiki>|match_all_files}}
This is useful since review scores apply to the whole changeset, rather than parts of it, so users that are comfortable with reviewing only a subsection of the changes wouldn't be able to review the whole patchset. For instance, front-end changes often touch both CSS and JavaScript files. A user who is confident about his CSS knowledge but not so much about his JavaScript ones can use match_all_files
to restrict reviews attributed to them to those that only touch CSS files.
Listen to Gerrit repository groups
Projects are matched based on unix filename matching as implemented in the fnmatch module. The idea is to set a file_regexp, which filters changesets by changed files instead of repository.
*
- Zoranzoki21 (only commits where at least one of the changed files match /
(bs|hr|sr\-e[cl])\.json
/) - Thcipriani (only commits where at least one of the changed files match /
scap/scap\.cfg
/) - Revi (only commits where at least one of the changed files match /
ko\.json
/) - Dr0ptp4kt (only commits where at least one of the changed files match /
abstractSchemaChanges
/)
cloud/metricsinfra/*
integration/config
- jbond (only commits where at least one of the changed files match /
^dockerfiles/operations-puppet
/)
integration/quibble
search/*
wikimedia/discovery/*
mediawiki/extensions/BlueSpice*
mediawiki/skins/BlueSpice*
mediawiki/tools/phan*
wikimedia-cz/*
mediawiki/services/wikispeech*
cloud/toolforge/*
Listen to specific Gerrit repositories
cergen
integration/tox-wikimedia
jsdoc/wmf-theme
mediawiki/core
- Aaron Schulz (only commits where at least one of the changed files match /
^(includes/(filebackend|db|objectcache|externalstore)/|includes/libs/|maintenance/archive/[a-zA-Z]+)
/) - Xcollazo (only commits where at least one of the changed files match /
^includes/export/|^maintenance/includes/(Backup|TextPass|SevenZip)|^maintenance/(fetchText|dump)
/) - jebe (only commits where at least one of the changed files match /
^includes/export/|^maintenance/includes/(Backup|TextPass|SevenZip)|^maintenance/(fetchText|dump)
/) - milimetric (only commits where at least one of the changed files match /
^includes/export/|^maintenance/includes/(Backup|TextPass|SevenZip)|^maintenance/(fetchText|dump)
/) - Catrope (only commits where at least one of the changed files match /
resources/src/vue/
/) - cscott (only commits where at least one of the changed files match /
[Pp]arser|virtualrest|OutputTransform
/) - Cwhite (only commits where at least one of the changed files match /
^((tests/phpunit/unit/)?includes/libs/Metrics)
/) - daniel (only commits where at least one of the changed files match /
^includes/content/
/) - dcausse (only commits where at least one of the changed files match /
^includes/search/
/) - Gergő Tisza (only commits where at least one of the changed files match /
^includes/auth/|includes/session/
/)}} - Huji (only commits where at least one of the changed files match /
(Equivset|MessagesFa)
/) - Jdlrobson (only commits where at least one of the changed files match /
^(includes/skins|includes/ResourceLoader/SkinModule\.php|resources/.*)
/) - Jjanes (only commits where at least one of the changed files match /
\.sql$
/) - Kosta Harlan (only commits where at least one of the changed files match /
^tests/phpunit/MediaWikiUnitTestCase.php
/) - Legoktm (only commits where at least one of the changed files match /
registration|[Cc]onfig
/) - Liangent (only commits where at least one of the changed files match /
^includes/language/(LanguageConverter\.php|converters/ZhConverter)|^includes/languages/(LanguageZh|data/ZhConversion\.php)|^maintenance/language/zhtable/
/) - Revi (only commits where at least one of the changed files match /
languages/messages/MessagesKo.php
/) - Samwilson (only commits where at least one of the changed files match /
resources/src/mediawiki\.editRecovery
/) - Skizzerz (only commits where at least one of the changed files match /
[Mm]ssql
/) - Tchanders (only commits where at least one of the changed files match /
^includes/.*block
/) - Tpt (only commits where at least one of the changed files match /
(DjVu|EditPage\.php)
/) - Urbanecm (only commits where at least one of the changed files match /
(Messages(Cs|Sk)|includes/block/(UnblockUser|BlockUser|UserBlockCommandFactory|BlockPermissionChecker)|includes/specials/(SpecialBlock|SpecialUnblock).php)
/) - Winston Sung (only commits where at least one of the changed files match /
LanguageCode|/Names\.php|LanguageConverter|/converters/|(Language|Messages)Zh|ZhConversion|^maintenance/language/zhtable/
/) - Zabe (only commits where at least one of the changed files match /
^includes/.*block
/) - Zppix (only commits where at least one of the changed files match /
languages/l18n/en.json
/)
mediawiki/event-schemas
mediawiki/extensions/AbuseFilter
mediawiki/extensions/ActiveAbstract
mediawiki/extensions/AdvancedSearch
mediawiki/extensions/AdvancedMeta
mediawiki/extensions/ArticleRatings
mediawiki/extensions/AutoModerator
mediawiki/extensions/BlogPage
mediawiki/extensions/CampaignEvents
- Daimona Eaytoy
- cmelo
- MHORSEY
- Arinaigum (only commits where at least one of the changed files match /
^db_patches
/)
mediawiki/extensions/Capiunto
mediawiki/extensions/CirrusSearch
mediawiki/extensions/Cite
mediawiki/extensions/CentralAuth
mediawiki/extensions/CentralNotice
mediawiki/extensions/ChessBrowser
mediawiki/extensions/CheckUser
- Huji
- Tchanders (only commits where at least one of the changed files match /
^src
/) - Dreamy Jazz
- Kosta Harlan
mediawiki/extensions/cldr
- Winston Sung (only commits where at least one of the changed files match /
LocalNames
/)
mediawiki/extensions/CodeEditor
mediawiki/extensions/CodeMirror
mediawiki/extensions/CognitiveProcessDesigner
mediawiki/extensions/Collection
mediawiki/extensions/Collection/OfflineContentGenerator
mediawiki/extensions/Collection/OfflineContentGenerator/bundler
mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer
mediawiki/extensions/Comments
mediawiki/extensions/CommentStreams
mediawiki/extensions/CommunityConfiguration
mediawiki/extensions/CommunityRequests
mediawiki/extensions/ContactPage
mediawiki/extensions/ContainerFilter
mediawiki/extensions/ContentDroplets
mediawiki/extensions/ContentTransfer
mediawiki/extensions/ContentStabilization
mediawiki/extensions/CreateUserPage
mediawiki/extensions/DarkMode
mediawiki/extensions/DisplayTitle
mediawiki/extensions/DonationInterface
mediawiki/extensions/DrawioEditor
mediawiki/extensions/ElectronPdfService
mediawiki/extensions/EmailAuthorization
mediawiki/extensions/EventBus
mediawiki/extensions/FileExporter
mediawiki/extensions/FileImporter
mediawiki/extensions/FlaggedRevs
mediawiki/extensions/FlickrAPI
mediawiki/extensions/Forms
mediawiki/extensions/Gadgets
mediawiki/extensions/Genealogy
mediawiki/extensions/GeoData
mediawiki/extensions/GlobalBlocking
mediawiki/extensions/GlobalPreferences
mediawiki/extensions/GlobalWatchlist
mediawiki/extensions/GrowthExperiments
mediawiki/extensions/GuidedTour
mediawiki/extensions/HierarchyBuilder
mediawiki/extensions/IPReputation
mediawiki/extensions/IPInfo
mediawiki/extensions/ImageMapEdit
mediawiki/extensions/ReportIncident
mediawiki/extensions/InputBox
mediawiki/extensions/JSBreadCrumbs
mediawiki/extensions/BreadCrumbs2
mediawiki/extensions/Kartographer
mediawiki/extensions/LabeledSectionTransclusion
mediawiki/extensions/LDAPAuthentication2
mediawiki/extensions/LDAPAuthorization
mediawiki/extensions/LDAPGroups
mediawiki/extensions/LDAPProvider
mediawiki/extensions/LDAPUserInfo
mediawiki/extensions/Lingo
mediawiki/extensions/LoginNotify
mediawiki/extensions/Math
mediawiki/extensions/MathSearch
mediawiki/extensions/MassMessage
mediawiki/extensions/MediaModeration
mediawiki/extensions/MediaUploader
mediawiki/extensions/MediaWikiChat
mediawiki/extensions/MediaWikiFarm
mediawiki/extensions/MediaSearch
mediawiki/extensions/MissedPages
mediawiki/extensions/MobileApp
mediawiki/extensions/MobileFrontend
- D3r1ck01 (only commits where at least one of the changed files match /
^tests/phpunit
/)
mediawiki/extensions/NSFileRepo
mediawiki/extensions/Nuke
mediawiki/extensions/NumberHeadings
mediawiki/extensions/OATHAuth
mediawiki/extensions/OAuth
mediawiki/extensions/OpenBadges
mediawiki/extensions/OpenIDConnect
mediawiki/extensions/PageCheckout
mediawiki/extensions/PageTriage
mediawiki/extensions/ParserFunctions
mediawiki/extensions/ParserMigration
mediawiki/extensions/PluggableAuth
mediawiki/extensions/Phonos
mediawiki/extensions/ReadingLists
mediawiki/extensions/RealMe
mediawiki/extensions/RedirectManager
mediawiki/extensions/RevisionSlider
mediawiki/extensions/Scribunto
mediawiki/extensions/SectionAnchors
mediawiki/extensions/SecureAuth
mediawiki/extensions/SecureLinkFixer
mediawiki/extensions/SecurePoll
mediawiki/extensions/SecurityApi
mediawiki/extensions/SendGrid
mediawiki/extensions/Share
mediawiki/extensions/SimpleCalendar
mediawiki/extensions/SimpleSAMLphp
mediawiki/extensions/SocialProfile
mediawiki/extensions/SpamBlacklist
mediawiki/extensions/SparkPost
mediawiki/extensions/SpecialNamespaces
mediawiki/extensions/StandardDialogs
mediawiki/extensions/TemplateData
mediawiki/extensions/TemplateSandbox
mediawiki/extensions/TemplateStyles
mediawiki/extensions/TemplateWizard
mediawiki/extensions/TheWikipediaLibrary
mediawiki/extensions/timeline
mediawiki/extensions/TitleBlacklist
mediawiki/extensions/TitleIcon
mediawiki/extensions/TwoColConflict
mediawiki/extensions/UnifiedTaskOverview
mediawiki/extensions/UnlinkedWikibase
mediawiki/extensions/UploadWizard
mediawiki/extensions/UrlShortener
mediawiki/extensions/VueTest
mediawiki/extensions/WebAuthn
mediawiki/extensions/Wikibase
- Hoo man (only commits where at least one of the changed files match /
^client/resources/|^client/includes/DataAccess/|^(client|lib|repo)/includes/UpdateRepo.*
/)
mediawiki/extensions/WikibaseMediaInfo
mediawiki/extensions/WikiEditor
mediawiki/extensions/WikiForum
mediawiki/extensions/WikimediaApiPortalOAuth
mediawiki/extensions/WikimediaCampaignEvents
mediawiki/extensions/WikimediaIncubator
mediawiki/extensions/Wikisource
mediawiki/extensions/PreToClip
mediawiki/extensions/ProofreadPage
- Sohom Datta (only commits where at least one of the changed files match /
^(modules/|tests/selenium|tests/qunit)
/)
mediawiki/extensions/Wikispeech
mediawiki/extensions/WikispeechSpeechDataCollector
mediawiki/extensions/Workflows
mediawiki/extensions/TableTools
mediawiki/extensions/VueJsPlus
mediawiki/extensions/BlueSpiceWikiFarm
mediawiki/extensions/AIEditingAssistant
mediawiki/extensions/CollabPads
mediawiki/libs/IPAValidator
mediawiki/libs/phpstorm-stubs
mediawiki/php/luasandbox
mediawiki/php/wikidiff2
mediawiki/services/citoid
mediawiki/services/citoid/deploy
mediawiki/services/mathoid
mediawiki/services/mobileapps
mediawiki/services/ocg-collection
mediawiki/services/trending-edits
mediawiki/services/wikifeeds
mediawiki/services/eventstreams
mediawiki/services/eventstreams/deploy
mediawiki/skins
mediawiki/skins/BlueSpiceSkin
mediawiki/skins/Foreground
mediawiki/skins/Metrolook
mediawiki/skins/MinervaNeue
mediawiki/skins/Vector
mediawiki/skins/WikimediaApiPortal
mediawiki/ruby/api
mediawiki/selenium
mediawiki/tools/cli
mediawiki/tools/codesniffer
mediawiki/vagrant
- Dduvall
- Gergő Tisza
- ejegg (only commits where at least one of the changed files match /
^puppet/modules/(crm|payments|smashpig)
/) - XenoRyet (only commits where at least one of the changed files match /
^puppet/modules/(crm|payments|smashpig)
/) - jgleeson (only commits where at least one of the changed files match /
^puppet/modules/(crm|payments|smashpig)
/) - cstone (only commits where at least one of the changed files match /
^puppet/modules/(crm|payments|smashpig)
/) - Xcollazo (only commits where at least one of the changed files match /
^puppet/modules/dumps
/) - jebe (only commits where at least one of the changed files match /
^puppet/modules/dumps
/) - milimetric (only commits where at least one of the changed files match /
^puppet/modules/dumps
/)
mediawiki/vendor
- Gergő Tisza (only commits where at least one of the changed files match /
^psy/psysh/
/)
wikimedia/discovery/relevanceForge
wikimedia/discovery/discernatron
wikimedia/fundraising/crm
wikimedia/fundraising/crm/civicrm
wikimedia/fundraising/crm/drupal
wikimedia/fundraising/dash
wikimedia/fundraising/FRUEC
wikimedia/fundraising/php-queue
wikimedia/fundraising/process-control
wikimedia/fundraising/SmashPig
wikimedia/fundraising/stats
wikimedia/fundraising/tools
wikimedia/fundraising/tools/DjangoBannerStats
operations/cookbooks
operations/debs/wmf-certificates
operations/debs/debdeploy
operations/debs/pybal
operations/deployment-charts
- bd808 (only commits where at least one of the changed files match /
^(helmfile\.d/services|charts)/(developer-portal|toolhub)
/) - Urbanecm (only commits where at least one of the changed files match /
^(helmfile\.d/services|charts)/linkrecommendation/
/)
operations/dns
operations/docker-images/docker-pkg
operations/homer/public
operations/puppet
- bd808 (only commits where at least one of the changed files match /
^modules/toollabs/|^hieradata/labs/tools/
/) - Filippo Giunchedi (only commits where at least one of the changed files match /
^.*icinga.*
/) - bblack (only commits where at least one of the changed files match /
^modules/(authdns|pybal|lvs|nginx|tlsproxy|varnish|sslcert)/|^modules/role/manifests/(cache|lvs)/|^manifests/role/(authdns|lvs|tlsproxy)\.pp|^files/ssl/|^templates/varnish/
/) - Volans (only commits where at least one of the changed files match /
(\.py(\.erb)?$|cumin|failoid|debmonitor|spicerack|cookbook|netbox|homer|puppetboard|reimage)
/) - Giuseppe Lavagetto (only commits where at least one of the changed files match /
^hieradata/regex.yaml|^modules/(mediawiki|service|httpd|php|etcd)
/) - Muehlenhoff (only commits where at least one of the changed files match /
^modules/admin/
/) - Jbond (only commits where at least one of the changed files match /
modules/admin|apereo_cas|apt|wmflib|modules/base|cumin|cfssl|debian|debdeploy|debmonitor|kerberos|yubiauth|puppet|pki|ssh|sudo|sslcert|sysctl|modules/systemd?|ulogd|ferm|modules/security|standard|wikidough|\.rb$|(Gem|Rake)file|CONTRIBUTORS|^vendor_modules/
/) - Slyngshede (only commits where at least one of the changed files match /
modules/admin|apereo_cas/
/) - Alexandros Kosiaris (only commits where at least one of the changed files match /
^modules/(calico|docker|k8s|profile/kubernetes|etherpad|ferm|ganeti|lvs|network|ores|otrs|package_builder|service)
/) - paladox (only commits where at least one of the changed files match /
^modules/(gerrit|phabricator)
/) - Xcollazo (only commits where at least one of the changed files match /
^modules/(dumps|snapshot)/|^modules/(profile|role)/manifests/dumps/
/) - jebe (only commits where at least one of the changed files match /
^modules/(dumps|snapshot)/|^modules/(profile|role)/manifests/dumps/
/) - Ssingh (only commits where at least one of the changed files match /
^modules/(auditd|dnsdist|dnsrecursor)|^modules/(profile|role)/*/(wikidough|durum|dnsbox)
/) - Legoktm (only commits where at least one of the changed files match /
^modules/(extdist|codesearch|libraryupgrader|mailman|mailman3)/
/) - Cwhite (only commits where at least one of the changed files match /
(opensearch|logstash)
/) - dcaro (only commits where at least one of the changed files match /
^modules/(toollabs|openstack|ceph)/|^hieradata/labs/tools/|^modules/(profile|role)/*/(toolforge|openstack|toollabs|labs)|modules/base/*/standard_packages/
/) - Hoo man (only commits where at least one of the changed files match /
^modules/snapshot/(files/systemdjobs/wikibase|manifests/systemdjobs/(wiki(base|data).*\.pp|wikidatadumps/))
/) - Dr0ptp4kt (only commits where at least one of the changed files match /
(filtered_tables\.txt|realm\.pp|index-conf\.yaml|maintain-views\.yaml)$
/) - Dzahn (only commits where at least one of the changed files match /
/^modules/(gerrit|phabricator|wikistats|planet|vrts|etherpad|gitlab|requesttracker|releases|contint|)/|^modules/(profile|role)/manifests/(gerrit|phabricator|planet|wikistats|vrts|etherpad|gitlab|requesttracker|releases|ci|miscweb|microsites|stewards|collaboration_services|aphlict)
/)
operations/puppet/cdh
operations/puppet/cdh4
operations/puppet/kafka
operations/puppet/zookeeper
operations/mediawiki-config
- Hoo man (only commits where at least one of the changed files match /
^wmf-config/Wikibase\.php
/)
operations/software
operations/software/conftool
operations/software/cumin
operations/software/debmonitor
operations/software/debmonitor/deploy
operations/software/debmonitor-client
operations/software/ecs
operations/software/external-monitoring
operations/software/homer
operations/software/keyholder
operations/software/netbox
operations/software/netbox-deploy
operations/software/netbox-extras
operations/software/pywmflib
operations/software/spicerack
operations/software/tools-webservice
operations/software/varnish/varnishkafka
operations/switchdc
labs/codesearch
labs/icinga2
labs/libraryupgrader
labs/toollabs
labs/tools/awmd-stats
labs/tools/Commons-twitter-bot
labs/tools/extjsonuploader
labs/tools/watch-translations
labs/tools/wikibugs2
labs/tools/wikisource-ocr
labs/tools/map-of-monuments
labs/tools/massmailer
labs/tools/meetingtimes
labs/tools/wikinity
labs/tools/weapon-of-mass-description
labs/tools/commons-mass-description
labs/tools/harvesting-data-refinery
labs/tools/heritage
labs/tools/sonarqubebot
labs/tools/urbanecmbot
labs/tools/train-blockers
labs/tools/github-pr-closer
labs/tools/majavah-bot
maps/kartotherian/package
maps/kartotherian/deploy
maps/tilerator/package
maps/tilerator/deploy
sink_nova_ldap
sink_nova_fixed_multi
apps/android/java-mwapi
apps/android/wikipedia
pywikibot/core
- D3r1ck01 (only commits where at least one of the changed files match /
^scripts
/)
pywikibot/bots/FLOSSbot
pywikibot/spelling
pywikibot/compat
analytics/aqs
analytics/gobblin-wmf
analytics/quarry/web
analytics/refinery
analytics/refinery/source
analytics/wikihadoop
analytics/limn-mobile-data
wikidata/query/rdf
wikidata/query/deploy
wikidata/query/gui
wikidata/query/gui-deploy
wikimedia/css-sanitizer
wikimedia/normalized-exception
wikimedia/textcat
integration/commit-message-validator
wikimedia/portals
wikimedia-cz/tracker
wikimedia-event-utilities
labs/tools/stewardbots
labs/tools/stewardbots-ui
labs/tools/ZppixBot
eventlogging
wmf-utils
wikimedia/security/tooling
research/mwaddlink
wikimedia/toolhub
design/codex
wikimedia/developer-portal
mediawiki/extensions/Chart
mediawiki/extensions/Wikistories
cloud/toolforge/toolforge-cli
cloud/toolforge/toolforge-build-cli
cloud/toolforge/toolforge-build-api
cloud/toolforge/buildpacks
releng/phatality
phabricator/antivandalism
phabricator/translations
research/recommendation-api
Listen to GitLab repository groups
Projects are matched based on unix filename matching as implemented in the fnmatch module. The idea is to set a file_regexp, which filters changesets by changed files instead of repository.
*
- thcipriani (only commits where at least one of the changed files match /
scap/scap\.cfg
/)