Interface IssuesAPI

Thin interface describing the public surface exposed as jml.issues. This keeps the docs focused on what consumers can call without surfacing every internal helper on IssueOperations.

interface IssuesAPI {
    create(input, options?): Promise<Issue | BulkResult>;
    search(criteria): Promise<Issue[]>;
}

Methods

Methods

  • Create one or more issues using human-readable payloads.

    • Accepts either a single row, an array of rows, or ParseInputOptions pointing at CSV/JSON/YAML data.
    • Automatically batches hierarchies level-by-level (story E4-S13) so a full Program → Epic → Story → Sub-task tree can be passed in a single payload.
    • Stores a manifest for every bulk run that can be retried via the retry option without recreating successful rows.

    Parameters

    Returns Promise<Issue | BulkResult>

    The created Issue for single rows or a BulkResult.

  • Search for issues using human-readable field names and values.

    • Leverages existing field resolution and value conversion logic.
    • Generates optimized JQL queries automatically.
    • Supports fuzzy matching, custom fields, and complex criteria.

    Parameters

    • criteria: Record<string, unknown>

      Search criteria with human-readable field names.

    Returns Promise<Issue[]>

    Array of matching issues.

    Example

    const issues = await jml.issues.search({
    project: "Engineering",
    assignee: "John Smith",
    status: "In Progress",
    "Risk Level": "High",
    labels: ["backend", "urgent"],
    createdSince: "2025-02-12"
    });