jira.js
    Preparing search index...

    Interface CommentWebhookPayload

    A comment was added, edited or removed.

    Undocumented as a payload of its own — comment and issue are named after the entities the event concerns. Note that a comment on an issue also raises jira:issue_updated, which is documented and carries the comment.

    interface CommentWebhookPayload {
        comment?: {
            author?: {
                accountId?: string;
                accountType?: string;
                active?: boolean;
                avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                    [key: string]: unknown;
                };
                displayName?: string;
                emailAddress?: string;
                self?: string;
                timeZone?: string;
                [key: string]: unknown;
            };
            body?: {
                content: Record<string, any>[];
                type: string & {} | "doc";
                version: number;
                [key: string]: unknown;
            };
            created?: Date;
            id?: string;
            jsdAuthorCanSeeRequest?: boolean;
            jsdPublic?: boolean;
            properties?: { key?: string; value?: unknown; [key: string]: unknown }[];
            renderedBody?: string;
            self?: string;
            updateAuthor?: {
                accountId?: string;
                accountType?: string;
                active?: boolean;
                avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                    [key: string]: unknown;
                };
                displayName?: string;
                emailAddress?: string;
                self?: string;
                timeZone?: string;
                [key: string]: unknown;
            };
            updated?: Date;
            visibility?: {
                identifier?: string
                | null;
                type?: "role" | "group" | string & {};
                value?: string;
                [key: string]: unknown;
            };
            [key: string]: unknown;
        };
        issue?: {
            changelog?: {
                histories?: {
                    author?: {
                        accountId?: string;
                        accountType?: string;
                        active?: boolean;
                        avatarUrls?: {
                            "16x16"?: ...;
                            "24x24"?: ...;
                            "32x32"?: ...;
                            "48x48"?: ...;
                            [key: ...]: ...;
                        };
                        displayName?: string;
                        emailAddress?: string;
                        self?: string;
                        timeZone?: string;
                        [key: string]: unknown;
                    };
                    created?: Date;
                    historyMetadata?: {
                        activityDescription?: string;
                        activityDescriptionKey?: string;
                        actor?: {
                            avatarUrl?: ...;
                            displayName?: ...;
                            displayNameKey?: ...;
                            id?: ...;
                            type?: ...;
                            url?: ...;
                            [key: ...]: ...;
                        };
                        cause?: {
                            avatarUrl?: ...;
                            displayName?: ...;
                            displayNameKey?: ...;
                            id?: ...;
                            type?: ...;
                            url?: ...;
                            [key: ...]: ...;
                        };
                        description?: string;
                        descriptionKey?: string;
                        emailDescription?: string;
                        emailDescriptionKey?: string;
                        extraData?: Record<(...), (...)>;
                        generator?: {
                            avatarUrl?: ...;
                            displayName?: ...;
                            displayNameKey?: ...;
                            id?: ...;
                            type?: ...;
                            url?: ...;
                            [key: ...]: ...;
                        };
                        type?: string;
                        [key: string]: unknown;
                    };
                    id?: string;
                    items?: {
                        field?: (...)
                        | (...);
                        fieldId?: (...) | (...);
                        fieldtype?: (...) | (...);
                        from?: (...) | (...) | (...);
                        fromString?: (...) | (...) | (...);
                        to?: (...) | (...) | (...);
                        toString?: (...) | (...) | (...);
                        [key: string]: unknown;
                    }[];
                    [key: string]: unknown;
                }[];
                maxResults?: number;
                startAt?: number;
                total?: number;
                [key: string]: unknown;
            };
            editmeta?: { fields?: Record<string, any>; [key: string]: unknown };
            expand?: string;
            fields?: Record<string, any>;
            fieldsToInclude?: {
                actuallyIncluded?: string[];
                excluded?: string[];
                included?: string[];
                [key: string]: unknown;
            };
            id?: string;
            key?: string;
            names?: Record<string, any>;
            operations?: { linkGroups?: LinkGroup[]; [key: string]: unknown };
            properties?: Record<string, any>;
            renderedFields?: Record<string, any>;
            schema?: Record<string, any>;
            self?: string;
            transitions?: {
                expand?: string;
                fields?: Record<string, any>;
                hasScreen?: boolean;
                id?: string;
                isAvailable?: boolean;
                isConditional?: boolean;
                isGlobal?: boolean;
                isInitial?: boolean;
                looped?: boolean;
                name?: string;
                to?: {
                    description?: string;
                    iconUrl?: string;
                    id?: string;
                    name?: string;
                    scope?: {
                        project?: {
                            avatarUrls?: ...;
                            id?: ...;
                            key?: ...;
                            name?: ...;
                            projectCategory?: ...;
                            projectTypeKey?: ...;
                            self?: ...;
                            simplified?: ...;
                            [key: ...]: ...;
                        };
                        type?: (...) & (...)
                        | "PROJECT"
                        | "TEMPLATE";
                        [key: string]: unknown;
                    };
                    self?: string;
                    statusCategory?: {
                        colorName?: string;
                        id?: number;
                        key?: string;
                        name?: string;
                        self?: string;
                        [key: string]: unknown;
                    };
                    untranslatedName?: string;
                    [key: string]: unknown;
                };
                [key: string]: unknown;
            }[];
            versionedRepresentations?: Record<string, any>;
            [key: string]: unknown;
        };
        matchedWebhookIds?: number[];
        timestamp: number;
        webhookEvent: CommentWebhookEvent;
    }

    Hierarchy (View Summary)

    Index
    comment?: {
        author?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
                [key: string]: unknown;
            };
            displayName?: string;
            emailAddress?: string;
            self?: string;
            timeZone?: string;
            [key: string]: unknown;
        };
        body?: {
            content: Record<string, any>[];
            type: string & {} | "doc";
            version: number;
            [key: string]: unknown;
        };
        created?: Date;
        id?: string;
        jsdAuthorCanSeeRequest?: boolean;
        jsdPublic?: boolean;
        properties?: { key?: string; value?: unknown; [key: string]: unknown }[];
        renderedBody?: string;
        self?: string;
        updateAuthor?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
                [key: string]: unknown;
            };
            displayName?: string;
            emailAddress?: string;
            self?: string;
            timeZone?: string;
            [key: string]: unknown;
        };
        updated?: Date;
        visibility?: {
            identifier?: string
            | null;
            type?: "role" | "group" | string & {};
            value?: string;
            [key: string]: unknown;
        };
        [key: string]: unknown;
    }

    Type Declaration

    • [key: string]: unknown
    • Optionalauthor?: {
          accountId?: string;
          accountType?: string;
          active?: boolean;
          avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
              [key: string]: unknown;
          };
          displayName?: string;
          emailAddress?: string;
          self?: string;
          timeZone?: string;
          [key: string]: unknown;
      }
      • OptionalaccountId?: string

        The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, 5b10ac8d82e05b22cc7d4ef5.

      • OptionalaccountType?: string

        The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)

      • Optionalactive?: boolean

        Whether the user is active.

      • OptionalavatarUrls?: {
            "16x16"?: string;
            "24x24"?: string;
            "32x32"?: string;
            "48x48"?: string;
            [key: string]: unknown;
        }
        • Optional16x16?: string

          The URL of the item's 16x16 pixel avatar.

        • Optional24x24?: string

          The URL of the item's 24x24 pixel avatar.

        • Optional32x32?: string

          The URL of the item's 32x32 pixel avatar.

        • Optional48x48?: string

          The URL of the item's 48x48 pixel avatar.

      • OptionaldisplayName?: string

        The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.

      • OptionalemailAddress?: string

        The email address of the user. Depending on the user’s privacy settings, this may be returned as null.

      • Optionalself?: string

        The URL of the user.

      • OptionaltimeZone?: string

        The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.

    • Optionalbody?: {
          content: Record<string, any>[];
          type: string & {} | "doc";
          version: number;
          [key: string]: unknown;
      }

      The comment text in Atlassian Document Format.

    • Optionalcreated?: Date

      The date and time at which the comment was created.

    • Optionalid?: string

      The ID of the comment.

    • OptionaljsdAuthorCanSeeRequest?: boolean

      Whether the comment was added from an email sent by a person who is not part of the issue. See Allow external emails to be added as comments on issuesfor information on setting up this feature.

    • OptionaljsdPublic?: boolean

      Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API Create request comment operation.

    • Optionalproperties?: { key?: string; value?: unknown; [key: string]: unknown }[]

      A list of comment properties. Optional on create and update.

    • OptionalrenderedBody?: string

      The rendered version of the comment.

    • Optionalself?: string

      The URL of the comment.

    • OptionalupdateAuthor?: {
          accountId?: string;
          accountType?: string;
          active?: boolean;
          avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
              [key: string]: unknown;
          };
          displayName?: string;
          emailAddress?: string;
          self?: string;
          timeZone?: string;
          [key: string]: unknown;
      }
      • OptionalaccountId?: string

        The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, 5b10ac8d82e05b22cc7d4ef5.

      • OptionalaccountType?: string

        The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)

      • Optionalactive?: boolean

        Whether the user is active.

      • OptionalavatarUrls?: {
            "16x16"?: string;
            "24x24"?: string;
            "32x32"?: string;
            "48x48"?: string;
            [key: string]: unknown;
        }
        • Optional16x16?: string

          The URL of the item's 16x16 pixel avatar.

        • Optional24x24?: string

          The URL of the item's 24x24 pixel avatar.

        • Optional32x32?: string

          The URL of the item's 32x32 pixel avatar.

        • Optional48x48?: string

          The URL of the item's 48x48 pixel avatar.

      • OptionaldisplayName?: string

        The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.

      • OptionalemailAddress?: string

        The email address of the user. Depending on the user’s privacy settings, this may be returned as null.

      • Optionalself?: string

        The URL of the user.

      • OptionaltimeZone?: string

        The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.

    • Optionalupdated?: Date

      The date and time at which the comment was updated last.

    • Optionalvisibility?: {
          identifier?: string | null;
          type?: "role" | "group" | string & {};
          value?: string;
          [key: string]: unknown;
      }
      • Optionalidentifier?: string | null

        The ID of the group or the name of the role that visibility of this item is restricted to.

      • Optionaltype?: "role" | "group" | string & {}

        Whether visibility of this item is restricted to a group or role.

      • Optionalvalue?: string

        The name of the group or role that visibility of this item is restricted to. Please note that the name of a group is mutable, to reliably identify a group use identifier.

    issue?: {
        changelog?: {
            histories?: {
                author?: {
                    accountId?: string;
                    accountType?: string;
                    active?: boolean;
                    avatarUrls?: {
                        "16x16"?: ...;
                        "24x24"?: ...;
                        "32x32"?: ...;
                        "48x48"?: ...;
                        [key: ...]: ...;
                    };
                    displayName?: string;
                    emailAddress?: string;
                    self?: string;
                    timeZone?: string;
                    [key: string]: unknown;
                };
                created?: Date;
                historyMetadata?: {
                    activityDescription?: string;
                    activityDescriptionKey?: string;
                    actor?: {
                        avatarUrl?: ...;
                        displayName?: ...;
                        displayNameKey?: ...;
                        id?: ...;
                        type?: ...;
                        url?: ...;
                        [key: ...]: ...;
                    };
                    cause?: {
                        avatarUrl?: ...;
                        displayName?: ...;
                        displayNameKey?: ...;
                        id?: ...;
                        type?: ...;
                        url?: ...;
                        [key: ...]: ...;
                    };
                    description?: string;
                    descriptionKey?: string;
                    emailDescription?: string;
                    emailDescriptionKey?: string;
                    extraData?: Record<(...), (...)>;
                    generator?: {
                        avatarUrl?: ...;
                        displayName?: ...;
                        displayNameKey?: ...;
                        id?: ...;
                        type?: ...;
                        url?: ...;
                        [key: ...]: ...;
                    };
                    type?: string;
                    [key: string]: unknown;
                };
                id?: string;
                items?: {
                    field?: (...)
                    | (...);
                    fieldId?: (...) | (...);
                    fieldtype?: (...) | (...);
                    from?: (...) | (...) | (...);
                    fromString?: (...) | (...) | (...);
                    to?: (...) | (...) | (...);
                    toString?: (...) | (...) | (...);
                    [key: string]: unknown;
                }[];
                [key: string]: unknown;
            }[];
            maxResults?: number;
            startAt?: number;
            total?: number;
            [key: string]: unknown;
        };
        editmeta?: { fields?: Record<string, any>; [key: string]: unknown };
        expand?: string;
        fields?: Record<string, any>;
        fieldsToInclude?: {
            actuallyIncluded?: string[];
            excluded?: string[];
            included?: string[];
            [key: string]: unknown;
        };
        id?: string;
        key?: string;
        names?: Record<string, any>;
        operations?: { linkGroups?: LinkGroup[]; [key: string]: unknown };
        properties?: Record<string, any>;
        renderedFields?: Record<string, any>;
        schema?: Record<string, any>;
        self?: string;
        transitions?: {
            expand?: string;
            fields?: Record<string, any>;
            hasScreen?: boolean;
            id?: string;
            isAvailable?: boolean;
            isConditional?: boolean;
            isGlobal?: boolean;
            isInitial?: boolean;
            looped?: boolean;
            name?: string;
            to?: {
                description?: string;
                iconUrl?: string;
                id?: string;
                name?: string;
                scope?: {
                    project?: {
                        avatarUrls?: ...;
                        id?: ...;
                        key?: ...;
                        name?: ...;
                        projectCategory?: ...;
                        projectTypeKey?: ...;
                        self?: ...;
                        simplified?: ...;
                        [key: ...]: ...;
                    };
                    type?: (...) & (...)
                    | "PROJECT"
                    | "TEMPLATE";
                    [key: string]: unknown;
                };
                self?: string;
                statusCategory?: {
                    colorName?: string;
                    id?: number;
                    key?: string;
                    name?: string;
                    self?: string;
                    [key: string]: unknown;
                };
                untranslatedName?: string;
                [key: string]: unknown;
            };
            [key: string]: unknown;
        }[];
        versionedRepresentations?: Record<string, any>;
        [key: string]: unknown;
    }

    Type Declaration

    • [key: string]: unknown
    • Optionalchangelog?: {
          histories?: {
              author?: {
                  accountId?: string;
                  accountType?: string;
                  active?: boolean;
                  avatarUrls?: {
                      "16x16"?: ...;
                      "24x24"?: ...;
                      "32x32"?: ...;
                      "48x48"?: ...;
                      [key: ...]: ...;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  self?: string;
                  timeZone?: string;
                  [key: string]: unknown;
              };
              created?: Date;
              historyMetadata?: {
                  activityDescription?: string;
                  activityDescriptionKey?: string;
                  actor?: {
                      avatarUrl?: ...;
                      displayName?: ...;
                      displayNameKey?: ...;
                      id?: ...;
                      type?: ...;
                      url?: ...;
                      [key: ...]: ...;
                  };
                  cause?: {
                      avatarUrl?: ...;
                      displayName?: ...;
                      displayNameKey?: ...;
                      id?: ...;
                      type?: ...;
                      url?: ...;
                      [key: ...]: ...;
                  };
                  description?: string;
                  descriptionKey?: string;
                  emailDescription?: string;
                  emailDescriptionKey?: string;
                  extraData?: Record<(...), (...)>;
                  generator?: {
                      avatarUrl?: ...;
                      displayName?: ...;
                      displayNameKey?: ...;
                      id?: ...;
                      type?: ...;
                      url?: ...;
                      [key: ...]: ...;
                  };
                  type?: string;
                  [key: string]: unknown;
              };
              id?: string;
              items?: {
                  field?: (...)
                  | (...);
                  fieldId?: (...) | (...);
                  fieldtype?: (...) | (...);
                  from?: (...) | (...) | (...);
                  fromString?: (...) | (...) | (...);
                  to?: (...) | (...) | (...);
                  toString?: (...) | (...) | (...);
                  [key: string]: unknown;
              }[];
              [key: string]: unknown;
          }[];
          maxResults?: number;
          startAt?: number;
          total?: number;
          [key: string]: unknown;
      }
      • Optionalhistories?: {
            author?: {
                accountId?: string;
                accountType?: string;
                active?: boolean;
                avatarUrls?: {
                    "16x16"?: ...;
                    "24x24"?: ...;
                    "32x32"?: ...;
                    "48x48"?: ...;
                    [key: ...]: ...;
                };
                displayName?: string;
                emailAddress?: string;
                self?: string;
                timeZone?: string;
                [key: string]: unknown;
            };
            created?: Date;
            historyMetadata?: {
                activityDescription?: string;
                activityDescriptionKey?: string;
                actor?: {
                    avatarUrl?: ...;
                    displayName?: ...;
                    displayNameKey?: ...;
                    id?: ...;
                    type?: ...;
                    url?: ...;
                    [key: ...]: ...;
                };
                cause?: {
                    avatarUrl?: ...;
                    displayName?: ...;
                    displayNameKey?: ...;
                    id?: ...;
                    type?: ...;
                    url?: ...;
                    [key: ...]: ...;
                };
                description?: string;
                descriptionKey?: string;
                emailDescription?: string;
                emailDescriptionKey?: string;
                extraData?: Record<(...), (...)>;
                generator?: {
                    avatarUrl?: ...;
                    displayName?: ...;
                    displayNameKey?: ...;
                    id?: ...;
                    type?: ...;
                    url?: ...;
                    [key: ...]: ...;
                };
                type?: string;
                [key: string]: unknown;
            };
            id?: string;
            items?: {
                field?: (...)
                | (...);
                fieldId?: (...) | (...);
                fieldtype?: (...) | (...);
                from?: (...) | (...) | (...);
                fromString?: (...) | (...) | (...);
                to?: (...) | (...) | (...);
                toString?: (...) | (...) | (...);
                [key: string]: unknown;
            }[];
            [key: string]: unknown;
        }[]

        The list of changelogs.

      • OptionalmaxResults?: number

        The maximum number of results that could be on the page.

      • OptionalstartAt?: number

        The index of the first item returned on the page.

      • Optionaltotal?: number

        The number of results on the page.

    • Optionaleditmeta?: { fields?: Record<string, any>; [key: string]: unknown }
    • Optionalexpand?: string

      Expand options that include additional issue details in the response.

    • Optionalfields?: Record<string, any>
    • OptionalfieldsToInclude?: {
          actuallyIncluded?: string[];
          excluded?: string[];
          included?: string[];
          [key: string]: unknown;
      }
    • Optionalid?: string

      The ID of the issue.

    • Optionalkey?: string

      The key of the issue.

    • Optionalnames?: Record<string, any>

      The ID and name of each field present on the issue.

    • Optionaloperations?: { linkGroups?: LinkGroup[]; [key: string]: unknown }
      • OptionallinkGroups?: LinkGroup[]

        Details of the link groups defining issue operations.

    • Optionalproperties?: Record<string, any>

      Details of the issue properties identified in the request.

    • OptionalrenderedFields?: Record<string, any>

      The rendered value of each field present on the issue.

    • Optionalschema?: Record<string, any>

      The schema describing each field present on the issue.

    • Optionalself?: string

      The URL of the issue details.

    • Optionaltransitions?: {
          expand?: string;
          fields?: Record<string, any>;
          hasScreen?: boolean;
          id?: string;
          isAvailable?: boolean;
          isConditional?: boolean;
          isGlobal?: boolean;
          isInitial?: boolean;
          looped?: boolean;
          name?: string;
          to?: {
              description?: string;
              iconUrl?: string;
              id?: string;
              name?: string;
              scope?: {
                  project?: {
                      avatarUrls?: ...;
                      id?: ...;
                      key?: ...;
                      name?: ...;
                      projectCategory?: ...;
                      projectTypeKey?: ...;
                      self?: ...;
                      simplified?: ...;
                      [key: ...]: ...;
                  };
                  type?: (...) & (...)
                  | "PROJECT"
                  | "TEMPLATE";
                  [key: string]: unknown;
              };
              self?: string;
              statusCategory?: {
                  colorName?: string;
                  id?: number;
                  key?: string;
                  name?: string;
                  self?: string;
                  [key: string]: unknown;
              };
              untranslatedName?: string;
              [key: string]: unknown;
          };
          [key: string]: unknown;
      }[]

      The transitions that can be performed on the issue.

    • OptionalversionedRepresentations?: Record<string, any>

      The versions of each field on the issue.

    matchedWebhookIds?: number[]

    The registrations this delivery answered. Present only on a webhook registered through the REST API, where one event can match several of them at once.

    timestamp: number

    When Jira raised the event, in milliseconds since the epoch.

    webhookEvent: CommentWebhookEvent

    The event, and the field to switch on.