← Back to plugins index

🏅 Repository contributors

This plugin display repositories contributors from a commit range along with additional stats.

Supported features
→ Full specification
📘 Repository template
📓 Repositories
🔑 (scopeless) read:org (optional) read:user (optional) read:packages (optional) repo (optional)
By contribution types
By number of contributions
## âžĄī¸ Available options
OptionDescription

plugin_contributors

Enable contributors plugin

type: boolean
default: no

plugin_contributors_base

Base reference

Can be a commit, tag, branch, etc.

type: string

plugin_contributors_head

Head reference

Can be a commit, tag, branch, etc.

type: string
default: master

plugin_contributors_ignored

Ignored users

Can be used to ignore bots activity

⏊ Inherits users_ignored
type: array (comma-separated)

plugin_contributors_contributions

Contributions count

type: boolean
default: no

plugin_contributors_sections

Displayed sections

  • contributors: all contributors
  • categories: contributors sorted by contributions categories (must be configured with plugin_contributors_categories)
type: array (comma-separated)
default: contributors
allowed values:
  • contributors
  • categories

plugin_contributors_categories

Contribution categories

This option requires plugin_contributors_sections to have categories in it to be effective. Pass a JSON object mapping category with fileglobs

🌐 Web instances must configure settings.json:
  • metrics.run.tempdir
  • metrics.run.git
type: json
default:
→ Click to expand
{
  "📚 Documentation": ["README.md", "docs/**"],
  "đŸ’ģ Code": ["source/**", "src/**"],
  "#ī¸âƒŖ Others": ["*"]
}

## đŸ—‚ī¸ Setting up contribution categories Pass a JSON object to `plugin_contributors_categories` with categories names as keys and arrays of fileglobs as values to configure contributions categories. Each modified file by a contributor matching a fileglob will add them in said category. > 💡 File matching respect keys order > 💡 Use `|` YAML multiline operator for better readability *Example: * ```yaml - uses: lowlighter/metrics@latest with: plugin_contributors: yes plugin_contributors_categories: | { "📚 Documentation": ["README.md", "docs/**"], "đŸ’ģ Code": ["source/**", "src/**"], "#ī¸âƒŖ Others": ["*"] } ``` ## â„šī¸ Examples workflows ```yaml name: Contributors with contributions count uses: lowlighter/metrics@latest with: filename: metrics.plugin.contributors.contributions.svg token: ${{ secrets.METRICS_TOKEN }} base: "" template: repository repo: metrics plugin_contributors: yes plugin_contributors_contributions: yes ``` ```yaml name: Contributors by categories uses: lowlighter/metrics@latest with: filename: metrics.plugin.contributors.categories.svg token: ${{ secrets.METRICS_TOKEN }} base: "" template: repository repo: metrics plugin_contributors: yes plugin_contributors_sections: categories plugin_contributors_categories: | { "🧩 Plugins / đŸ–ŧī¸ templates":["source/plugins/**", "source/templates/**"], "📚 Documentation":["README.md", "**/README.md", "**/metadata.yml"], "đŸ’ģ Code (other)":["source/**", "Dockerfile"] } ```