Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Current »

Table of Contents

Overview

This document provides an overview of the GraphQL API for managing reminders within a issue or user. It includes the available queries and mutations, as well as the types used in the API.

Query

reminders

Retrieves reminders based on the provided parameters. If an issueId is specified, it returns reminders associated with that issue. Otherwise, it fetches reminders for the current user. The showArchived flag determines whether archived reminders should be included in the response. It’s default true.

Arguments:

  • issueId: String - The unique identifier of the bundle.

  • showArchived: Boolean – Whether to include archived reminders (default: true).

Returns:

Example:

query {
  reminders(issueId: "10001") {
    id
    issueId
    private
    subject
    recipientGoogleChats
    message
    recipientUsers
    cancelWhenResolved
    recipientGroups
    recipientChannels
    addIssueComment
    ownerAccountId
    autoDelete
    period
    dateTimeOfReminder
    interval
    sentDateTime
    afterRelativeDate
    relativeDateInterval
    relativeDateFieldId
  }
}

Mutation

saveReminder

Saves a new reminder or updates an existing one.

Overview

The saveReminder mutation is used to create or update a reminder.

  • If an id is provided, the corresponding reminder in storage is updated.

  • If no id is provided, a new reminder is created and assigned an ID in the format:

    • REMI-<issueId>-<random-UUID> (for issue-based reminders)

    • REMU-<accountId>-<random-UUID> (for user-based reminders)

ID Generation Rules

  • Issue-based reminders: REMI-<issueId>-<randId>

  • User-based reminders: REMU-<accountId>-<randId>

  • Archived issue-based reminders: REMIA-<issueId>-<randId>

  • Archived user-based reminders: REMUA-<accountId>-<randId>

 

If an ID is provided in the request, it must match one of these formats.


Validation Rules

The saveReminder mutation enforces strict validation rules:

Relative Date Mode

If any of the relative date fields are set, then:

  • relativeDateFieldId, afterRelativeDate, and relativeDateInterval must all be provided.

  • dateTimeOfReminder, period, and interval must NOT be provided.

Fixed Date Mode

If dateTimeOfReminder is provided, then:

  • dateTimeOfReminder must be in format YYYY-MM-DDThh:mm:ss+hh:mm (ISO 8601).

  • relativeDateFieldId, afterRelativeDate, and relativeDateInterval must NOT be provided.

  • If period is set, interval must also be provided.

Other Constraints

  • issueId is required.

  • subject is required.

  • recipientUsers, recipientGroups, recipientChannels, recipientGoogleChats default to empty arrays.

  • Default values:

    • private: false (Reminders are public by default

    • cancelWhenResolved: true (Reminder is automatically canceled if the issue is resolved

    • autoDelete: true (Reminder is deleted after being sent

    • addIssueComment: false (Does not add a comment to the issue by default

  • Any unknown fields will result in a validation error.


Arguments


Returns

  • A Reminder object containing the saved reminder's details.


Example Mutation

mutation {
  saveReminder(input: {
    id: "REMI-10001-f6468ded-cd8e-4a35-95da-43ec58efb4a8"
    issueId: "10001"
    private: false 
    subject: "Reminder Subject"
    message: "This is a reminder message" 
    recipientUsers: ["assignee"] 
    recipientGroups: ["group-456"]
    recipientChannels: ["channel-1"]
    recipientGoogleChats: ["googleChat-1"]
    cancelWhenResolved: true 
    autoDelete: true 
    addIssueComment: false 
    period: "Daily"
    interval: 1 
    dateTimeOfReminder: "2025-03-10T15:00:00+03:00" 
    afterRelativeDate: null 
    relativeDateInterval: null 
    relativeDateFieldId: null
  }) {
    id
    subject
  }
}

Types

Reminder

Represents a reminder within a project.

Fields:

  • id: String! - The unique identifier of the reminder.

  • issueId: String! - The issue ID related to the reminder.

  • private: Boolean - Whether the reminder is private.

  • subject: String! - The title/subject of the reminder.

  • message: String - The message content.

  • recipientUsers: [String!] - The users who will receive the reminder.

  • recipientGroups: [String!] - The groups that will receive the reminder.

  • recipientChannels: [String!] - The Slack/MS Teams channels that will receive the reminder.

  • recipientGoogleChats: [String!] - The Google Chat spaces that will receive the reminder.

  • cancelWhenResolved: Boolean - Whether the reminder should be canceled when the issue is resolved.

  • autoDelete: Boolean - Whether the reminder should be automatically deleted after being sent.

  • addIssueComment: Boolean - Whether a comment should be added when the reminder is sent.

  • period: String - The recurrence period.

  • interval: Int - The recurrence interval.

  • dateTimeOfReminder: String - The exact date and time when the reminder should trigger.

  • afterRelativeDate: Boolean - Whether the reminder is based on a relative date.

  • relativeDateInterval: Int - The interval for relative date-based reminders.

  • relativeDateFieldId: String - The field ID for relative date-based reminders.

  • sentDateTime: String - The timestamp when the reminder was last sent.

  • ownerAccountId: String! - The account ID of the user who created the reminder.


InputReminder

Input type for saving or updating a reminder.

Fields:

  • id: String - The unique identifier of the reminder.

  • issueId: String! - The issue ID related to the reminder.

  • private: Boolean - Whether the reminder is private.

  • subject: String! - The title/subject of the reminder.

  • message: String - The message content.

  • recipientUsers: [String!] - The users who will receive the reminder.

  • recipientGroups: [String!] - The groups that will receive the reminder.

  • recipientChannels: [String!] - The Slack/MS Teams channels that will receive the reminder.

  • recipientGoogleChats: [String!] - The Google Chat spaces that will receive the reminder.

  • cancelWhenResolved: Boolean - Whether the reminder should be canceled when the issue is resolved.

  • autoDelete: Boolean - Whether the reminder should be automatically deleted after being sent.

  • addIssueComment: Boolean - Whether a comment should be added when the reminder is sent.

  • period: String - The recurrence period.

  • interval: Int - The recurrence interval.

  • dateTimeOfReminder: String - The exact date and time when the reminder should trigger.

  • afterRelativeDate: Boolean - Whether the reminder is based on a relative date.

  • relativeDateInterval: Int - The interval for relative date-based reminders.

  • relativeDateFieldId: String - The field ID for relative date-based reminders.

  • No labels