Skip to main content

Comment

Struct Comment 

Source
pub struct Comment {
Show 45 fields pub id: Option<String>, pub created_at: Option<DateTime<Utc>>, pub updated_at: Option<DateTime<Utc>>, pub archived_at: Option<DateTime<Utc>>, pub body: Option<String>, pub issue: Option<Box<Issue>>, pub issue_id: Option<String>, pub document_content: Option<Box<DocumentContent>>, pub document_content_id: Option<String>, pub project_update: Option<Box<ProjectUpdate>>, pub project_update_id: Option<String>, pub initiative_update: Option<Box<InitiativeUpdate>>, pub initiative_update_id: Option<String>, pub post: Option<Box<Post>>, pub project: Option<Box<Project>>, pub project_id: Option<String>, pub initiative: Option<Box<Initiative>>, pub initiative_id: Option<String>, pub parent: Option<Box<Comment>>, pub parent_id: Option<String>, pub resolving_user: Option<Box<User>>, pub resolved_at: Option<DateTime<Utc>>, pub resolving_comment: Option<Box<Comment>>, pub resolving_comment_id: Option<String>, pub user: Option<Box<User>>, pub external_user: Option<Box<ExternalUser>>, pub edited_at: Option<DateTime<Utc>>, pub body_data: Option<String>, pub quoted_text: Option<String>, pub reaction_data: Option<Value>, pub thread_summary: Option<Value>, pub is_artificial_agent_session_root: Option<bool>, pub url: Option<String>, pub children: Option<CommentConnection>, pub agent_session: Option<Box<AgentSession>>, pub agent_sessions: Option<AgentSessionConnection>, pub spawned_agent_sessions: Option<AgentSessionConnection>, pub ai_prompt_progresses: Option<AiPromptProgressConnection>, pub created_issues: Option<IssueConnection>, pub bot_actor: Option<ActorBot>, pub on_behalf_of: Option<Box<User>>, pub external_thread: Option<SyncedExternalThread>, pub hide_in_linear: Option<bool>, pub reactions: Option<Vec<Reaction>>, pub synced_with: Option<Vec<ExternalEntityInfo>>,
}
Expand description

A comment associated with an issue, project update, initiative update, document content, post, project, or initiative. Comments support rich text (ProseMirror), emoji reactions, and threaded replies via parentId. Comments can be created by workspace users or by external users through integrations (e.g., Slack, Intercom). Each comment belongs to exactly one parent entity.

Fields§

§id: Option<String>

The unique identifier of the entity.

§created_at: Option<DateTime<Utc>>

The time at which the entity was created.

§updated_at: Option<DateTime<Utc>>

The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn’t been updated after creation.

§archived_at: Option<DateTime<Utc>>

The time at which the entity was archived. Null if the entity has not been archived.

§body: Option<String>

The comment content in markdown format. This is a derived representation of the canonical bodyData ProseMirror content.

§issue: Option<Box<Issue>>

The issue that the comment is associated with. Null if the comment belongs to a different parent entity type.

§issue_id: Option<String>

The ID of the issue that the comment is associated with. Null if the comment belongs to a different parent entity type.

§document_content: Option<Box<DocumentContent>>

The document content that the comment is associated with. Null if the comment belongs to a different parent entity type. Used for inline comments on documents.

§document_content_id: Option<String>

The ID of the document content that the comment is associated with. Null if the comment belongs to a different parent entity type.

§project_update: Option<Box<ProjectUpdate>>

The project update that the comment is associated with. Null if the comment belongs to a different parent entity type.

§project_update_id: Option<String>

The ID of the project update that the comment is associated with. Null if the comment belongs to a different parent entity type.

§initiative_update: Option<Box<InitiativeUpdate>>

The initiative update that the comment is associated with. Null if the comment belongs to a different parent entity type.

§initiative_update_id: Option<String>

The ID of the initiative update that the comment is associated with. Null if the comment belongs to a different parent entity type.

§post: Option<Box<Post>>

The post that the comment is associated with. Null if the comment belongs to a different parent entity type.

§project: Option<Box<Project>>

Internal The project that the comment is associated with. Used for project-level discussion threads. Null if the comment belongs to a different parent entity type.

§project_id: Option<String>

Internal The ID of the project that the comment is associated with. Null if the comment belongs to a different parent entity type.

§initiative: Option<Box<Initiative>>

Internal The initiative that the comment is associated with. Null if the comment belongs to a different parent entity type.

§initiative_id: Option<String>

Internal The ID of the initiative that the comment is associated with. Null if the comment belongs to a different parent entity type.

§parent: Option<Box<Comment>>

The parent comment under which the current comment is nested. Null for top-level comments that are not replies.

§parent_id: Option<String>

The ID of the parent comment under which the current comment is nested. Null for top-level comments.

§resolving_user: Option<Box<User>>

The user that resolved the comment thread. Null if the thread has not been resolved or if this is not a top-level comment.

§resolved_at: Option<DateTime<Utc>>

The time when the comment thread was resolved. Null if the thread is unresolved.

§resolving_comment: Option<Box<Comment>>

The child comment that resolved this thread. Only set on top-level (parent) comments. Null if the thread is unresolved.

§resolving_comment_id: Option<String>

The ID of the child comment that resolved this thread. Null if the thread is unresolved.

§user: Option<Box<User>>

The user who wrote the comment. Null for comments created by integrations or bots without a user association.

§external_user: Option<Box<ExternalUser>>

The external user who wrote the comment, when the comment was created through an integration such as Slack or Intercom. Null for comments created by workspace users.

§edited_at: Option<DateTime<Utc>>

The time the comment was last edited by its author. Null if the comment has not been edited since creation.

§body_data: Option<String>

Internal The comment content as a ProseMirror document. This is the canonical rich-text representation of the comment body.

§quoted_text: Option<String>

The text that this comment references, used for inline comments on documents or issue descriptions. Null for standard comments that do not quote specific text.

§reaction_data: Option<Value>

Emoji reaction summary for this comment, grouped by emoji type. Each entry contains the emoji name, count, and the IDs of users who reacted.

§thread_summary: Option<Value>

Internal An AI-generated summary of the comment thread. Null if no summary has been generated or if this is not a top-level comment.

§is_artificial_agent_session_root: Option<bool>

Internal Whether the comment is an artificial placeholder for an agent session thread created without a comment mention.

§url: Option<String>

Comment’s URL.

§children: Option<CommentConnection>

The children of the comment.

§agent_session: Option<Box<AgentSession>>

Agent session associated with this comment.

§agent_sessions: Option<AgentSessionConnection>

Internal Agent sessions associated with this comment.

§spawned_agent_sessions: Option<AgentSessionConnection>

Internal Agent sessions spawned from this comment.

§ai_prompt_progresses: Option<AiPromptProgressConnection>

Internal AI prompt progresses associated with this comment.

§created_issues: Option<IssueConnection>

Issues created from this comment.

§bot_actor: Option<ActorBot>

The bot that created the comment.

§on_behalf_of: Option<Box<User>>

Internal The user on whose behalf the comment was created, e.g. when the Linear assistant creates a comment for a user.

§external_thread: Option<SyncedExternalThread>

The external thread that the comment is synced with.

§hide_in_linear: Option<bool>

Internal Whether the comment should be hidden from Linear clients. This is typically used for bot comments that provide redundant information (e.g., Slack Asks confirmation messages).

§reactions: Option<Vec<Reaction>>

Reactions associated with the comment.

§synced_with: Option<Vec<ExternalEntityInfo>>

The external services the comment is synced with.

Trait Implementations§

Source§

impl Clone for Comment

Source§

fn clone(&self) -> Comment

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Comment

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Comment

Source§

fn default() -> Comment

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Comment

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl GraphQLFields for Comment

Source§

type FullType = Comment

The full generated type this implementation validates against.
Source§

fn selection() -> String

Return the GraphQL field selection string for this type. Read more
Source§

impl Serialize for Comment

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> FieldCompatible<T> for T