> ## Documentation Index
> Fetch the complete documentation index at: https://docs.janet.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ticket Evaluation

> Set custom ticket quality requirements

<div className="img-showcase">
  <div className="eval-mock">
    <div style={{ height: '16px' }} />

    <div>
      <div className="eval-mock-section-header">Properties</div>

      <div className="eval-mock-section-group">
        <div className="eval-mock-row">
          <span className="eval-mock-label">Issue Type</span>

          <div className="eval-mock-value">
            <span className="eval-mock-prop-value" style={{ display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }}>
              <span className="eval-mock-type-icon" style={{ background: 'linear-gradient(135deg, #ef4444, #dc2626)' }}>
                <svg width="10" height="10" viewBox="0 0 24 24" fill="white">
                  <path d="M12 2C9.24 2 7 4.24 7 7h10c0-2.76-2.24-5-5-5zM5 9v2h2v2H5v2h2c0 2.76 2.24 5 5 5s5-2.24 5-5h2v-2h-2v-2h2V9H5zm7 10c-1.66 0-3-1.34-3-3v-4h6v4c0 1.66-1.34 3-3 3z" />
                </svg>
              </span>

              Bug
            </span>
          </div>
        </div>

        <div className="eval-mock-row">
          <span className="eval-mock-label">Status</span>

          <div className="eval-mock-value">
            <span className="eval-mock-prop-value" style={{ display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }}>
              <span className="eval-mock-status-dot" style={{ background: '#3b82f6' }} />

              In Progress
            </span>
          </div>
        </div>

        <div className="eval-mock-row">
          <span className="eval-mock-label">Priority</span>

          <div className="eval-mock-value">
            <span className="eval-mock-prop-value" style={{ display: 'flex', alignItems: 'center', justifyContent: 'flex-end', gap: '4px' }}>
              <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
                <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

                <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

                <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
              </svg>

              High
            </span>
          </div>
        </div>
      </div>
    </div>

    <div className="eval-mock-divider" />

    <div>
      <div className="eval-mock-section-header">AI Insights</div>

      <div className="eval-mock-section-group">
        {/* Ticket Evaluation row */}

        <div className="eval-mock-row">
          <span className="eval-mock-label" style={{ whiteSpace: 'nowrap' }}>Ticket Evaluation</span>

          <div className="eval-mock-value">
            <span className="eval-mock-badge eval-mock-badge-fail">
              Fail

              <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
                <path d="M18 6L6 18" />

                <path d="M6 6L18 18" />
              </svg>
            </span>
          </div>
        </div>
      </div>

      {/* Tooltip showing explanation (always visible in mock) */}

      <div className="eval-mock-tooltip">
        <div className="eval-mock-tooltip-title">Ticket Rubric Failed</div>

        <div className="eval-mock-tooltip-body">
          Missing steps to reproduce. The rubric requires bug tickets to include explicit reproduction steps in the description.
        </div>
      </div>
    </div>
  </div>
</div>

## How it works

Define quality standards for tickets with natural language. Each ticket is evaluated against your requirements and results are displayed on the ticket page.

## Set-up

Click the **Gear** icon in the header of your **Project Board** to access **Project Settings**, select the **Configure** tab, then add a **Ticket Rubric**.

<div className="img-showcase ticket-eval-setup-mock">
  <div className="psm-mock">
    <div className="psm-mock-inner">
      <div className="psm-mock-sidebar">
        <div className="psm-mock-sidebar-title">PROJECT SETTINGS</div>

        <div className="psm-mock-nav">
          <div className="psm-mock-nav-btn">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
              <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" />

              <path d="M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z" />

              <path d="M23 21v-2a4 4 0 0 0-3-3.87" />

              <path d="M16 3.13a4 4 0 0 1 0 7.75" />
            </svg>

            Members
          </div>

          <div className="psm-mock-nav-btn psm-mock-nav-active">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
              <path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z" />

              <path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.6 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.6a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" />
            </svg>

            Configure

            <svg className="psm-mock-chevron" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5">
              <path d="M9 6l6 6-6 6" />
            </svg>
          </div>

          <div className="psm-mock-subtabs">
            <div className="psm-mock-subtab">Kanban Columns</div>
            <div className="psm-mock-subtab">Resolved Filter</div>
            <div className="psm-mock-subtab">Ticket Style</div>
            <div className="psm-mock-subtab">Auto-Tagging</div>
            <div className="psm-mock-subtab psm-mock-subtab-active">Ticket Rubric</div>
            <div className="psm-mock-subtab">Recurring Actions</div>
          </div>

          <div className="psm-mock-nav-btn">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
              <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" />

              <path d="M12 9v4" />

              <path d="M12 17h.01" />
            </svg>

            Danger Zone
          </div>
        </div>
      </div>

      <div className="psm-mock-content">
        <div className="psm-mock-hero">
          <div className="psm-mock-hero-icon">A</div>

          <div className="psm-mock-hero-text">
            <span className="psm-mock-hero-name-row">
              <span className="psm-mock-hero-name">Acme <span className="psm-mock-hero-name-extra">Project</span></span>
              <code className="psm-mock-hero-badge">ACME</code>
            </span>

            <div className="psm-mock-hero-meta">
              <svg width="9" height="9" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                <rect x="3" y="4" width="18" height="18" rx="2" ry="2" />

                <path d="M16 2v4M8 2v4M3 10h18" />
              </svg>

              <span><span className="psm-mock-hero-meta-prefix">Created </span>Jan 15, 2025</span>
            </div>
          </div>
        </div>

        <div className="psm-mock-content-body">
          <div className="psm-mock-content-title">Ticket Rubric</div>
          <div className="psm-mock-content-desc">Define quality standards. Janet AI will evaluate each ticket against this rubric and show results on the ticket page.</div>

          <div style={{marginTop: '10px'}}>
            <div className="rubric-mock-charcount">96/1000 characters</div>
            <div className="rubric-mock-textarea">Tickets must always have a description. If the ticket describes a bug, the description must explicitly include steps to reproduce.</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
