Use Case

Enforce Monday.com Links in Every GitHub PR

PRs without task links break traceability. Over time, your board stops reflecting reality. monday2github enforces task linking at two levels so nothing ships unlinked.

The Problem: Broken Traceability

The honor system does not scale. You tell developers to link their PRs to monday.com tasks. Most do, sometimes. But under deadline pressure, it gets skipped. A hotfix goes out without a link. A refactoring PR has no task. A new developer does not know the convention yet.

Within weeks, 20 to 30% of PRs have no task link. Your board shows some tasks as "Working on it" that shipped weeks ago. Sprint planning becomes guesswork. Audit trails have gaps.

The native GitHub integration does not help here. It connects PRs that have links, but does nothing to prevent PRs without them.

Two-Level Enforcement

Catch unlinked work at two points in your workflow.

Level 1

Local Git Hook

A pre-commit hook that runs locally on the developer's machine. It checks the commit message for a monday.com URL and warns if none is found.

.githooks/pre-commit

#!/bin/bash
# Check for monday.com URL in commit message
MSG=$(cat "$1")
if ! echo "$MSG" | grep -qE \
  "monday\.com/boards/[0-9]+/pulses/[0-9]+"; then
  if ! echo "$MSG" | grep -q "\[skip-monday\]"; then
    echo "Warning: No monday.com task URL found"
    echo "Add a task URL or [skip-monday] to bypass"
    exit 1
  fi
fi
Instant feedback before pushing
Distributed via .githooks directory
Works offline
Level 2

CI Check (GitHub Actions)

A GitHub Actions workflow that runs on every PR. It scans the PR body and commit messages for a monday.com URL. If none is found, the check fails and the PR cannot merge.

.github/workflows/monday-check.yml

name: Monday.com Task Link Check
on: [pull_request]
jobs:
  check-task-link:
    runs-on: ubuntu-latest
    steps:
      - name: Check for monday.com URL
        run: |
          BODY="${{ github.event.pull_request.body }}"
          TITLE="${{ github.event.pull_request.title }}"
          if echo "$TITLE" | grep -q "\[skip-monday\]"; then
            echo "Skipped via [skip-monday]"
            exit 0
          fi
          if echo "$BODY" | grep -qE \
            "monday\.com/boards/[0-9]+"; then
            echo "monday.com task link found"
          else
            echo "No monday.com task link in PR body"
            exit 1
          fi
Cannot be bypassed by accident
Required status check blocks merge
Works for all contributors

Emergency Bypass: [skip-monday]

Hotfixes happen. When speed matters more than traceability, add [skip-monday] to the commit message or PR title. Both the git hook and CI check will pass without a task link.

git commit -m "Fix critical login bug [skip-monday]"

Bypasses are logged. Review them periodically to ensure they are only used for genuine emergencies.

Why Enforcement Matters

100%

PR-to-task traceability

Audit

Complete trail for compliance

Trust

Board always reflects reality

Habit

Becomes automatic in days

Frequently Asked Questions

The CI check blocks the merge. The PR shows a failing status check with a clear message explaining that a monday.com task URL is required. The developer adds the URL, pushes, and the check passes.

Every PR linked to a task. Automatically.

Set up enforcement in minutes. Free for up to 3 repositories.