Skip to content

A GitHub app which runs checks for flagged terminology in GitHub repos

License

Notifications You must be signed in to change notification settings

zendesk/term-check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

70c028e Β· Jan 19, 2024

History

97 Commits
Dec 1, 2021
Sep 13, 2019
Sep 17, 2019
Nov 30, 2023
Jan 21, 2021
Oct 2, 2020
Mar 14, 2019
Mar 14, 2019
Feb 26, 2019
Jan 31, 2019
Jan 19, 2024
Nov 23, 2021
Nov 30, 2023
Nov 30, 2023

Repository files navigation

Term Check GoDoc GolangCI

This bot is for our Inclusive Language initiative inside Zendesk Engineering.

Screen Shot 2020-08-19 at 11 00 23 AM

Configuration

Bot Configuration

Configuration for the bot's behavior is contained in config.yaml, e.x.

# Any shared configuration between fields
shared:
  # ID of the GitHub application
  appID: &appID 123456
botConfig:
  appID: *appID
  # List of terms to look for and flag in code
  termList:
    - slave
  # Name of the check. Will appear in the status list and as the title on the 'details' page
  checkName: Inclusive Language Check
  # Check summary to set when no terms are found
  checkSuccessSummary: Looks good! πŸ˜‡
  # Check summary to set when terms are found
  checkFailureSummary: πŸ‘‹ exclusive language
  # Generic check details text
  checkDetails: "Language check results:"
  # Text for the title of check annotations created for each flagged term in the code
  annotationTitle: Exclusive Language
  # Text for the body of each annotation. Supports one format string [%s] which will be replaced by the flagged terms
  # found on that line
  annotationBody: |
    Hi there! πŸ‘‹ I see you used the term(s) [%s] here. This language is exclusionary for members of our community,
    please consider changing it.
clientConfig:
  appID: *appID
  # Path to the private key generated for the GitHub application
  privateKeyPath: /secrets/PRIVATE_KEY

Repo-Specific Configuration

Certain behaviors are configurable on a per repository basis. Add a .github/term-check.yaml file to your repository based off of the following template:

# An array of patterns following .gitignore rules (http://git-scm.com/docs/gitignore) specifying which files and
# directories should be ignored by the app
ignore:
  - foo
  - bar/

Deploying Your Own Instance

See docs/deploy.md for instructions to deploy your own term-check instance.

Copyright and License

Copyright 2019 Zendesk, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.