Skip to main content

CustomerNeed

Struct CustomerNeed 

Source
pub struct CustomerNeed {
Show 16 fields pub id: Option<String>, pub created_at: Option<DateTime<Utc>>, pub updated_at: Option<DateTime<Utc>>, pub archived_at: Option<DateTime<Utc>>, pub customer: Option<Customer>, pub issue: Option<Issue>, pub project: Option<Project>, pub comment: Option<Comment>, pub attachment: Option<Attachment>, pub project_attachment: Option<ProjectAttachment>, pub priority: Option<f64>, pub body: Option<String>, pub body_data: Option<String>, pub creator: Option<User>, pub original_issue: Option<Issue>, pub url: Option<String>,
}
Expand description

A customer need represents a specific product request or piece of feedback from a customer. Customer needs serve as the bridge between customer feedback and engineering work by linking a customer to an issue or project, optionally with a comment or attachment providing additional context. Needs can be created manually, from integrations, or from intake sources like email.

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.

§customer: Option<Customer>

The customer organization this need belongs to. Null if the need has not yet been associated with a customer.

§issue: Option<Issue>

The issue this need is linked to. Either issueId or projectId must be set. When set, the need’s projectId is denormalized from the issue’s project.

§project: Option<Project>

The project this need is linked to. For issue-based needs, this is denormalized from the issue’s project. For project-only needs, this is set directly.

§comment: Option<Comment>

An optional comment providing additional context for this need. Null if the need was not created from or associated with a specific comment.

§attachment: Option<Attachment>

The issue attachment linked to this need. Populated when the need originates from an intake source (e.g., Slack, Intercom) or when a URL is manually provided. Provides a link back to the original source of the customer feedback. Mutually exclusive with projectAttachment.

§project_attachment: Option<ProjectAttachment>

The project attachment linked to this need. Populated when the need originates from an intake source or when a URL is manually provided for a project-level need. Provides a link back to the original source of the customer feedback. Mutually exclusive with attachment.

§priority: Option<f64>

Whether the customer need is important or not. 0 = Not important, 1 = Important.

§body: Option<String>

The body content of the need in Markdown format. Used to capture manual input about needs that cannot be directly tied to an attachment. Null if the need’s content comes from an attached source.

§body_data: Option<String>

Internal The body content of the need as a Prosemirror document JSON string. This is the structured representation of the body field, used for rich text rendering in the editor.

§creator: Option<User>

The user who manually created this customer need. Null for needs created automatically by integrations or intake sources.

§original_issue: Option<Issue>

The issue this customer need was originally created on, before being moved to a different issue or project. Null if the customer need has not been moved from its original location.

§url: Option<String>

The URL of the source attachment linked to this need, if any. Returns the URL from either the issue attachment or project attachment. Null if the need has no attached source.

Trait Implementations§

Source§

impl Clone for CustomerNeed

Source§

fn clone(&self) -> CustomerNeed

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 CustomerNeed

Source§

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

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

impl Default for CustomerNeed

Source§

fn default() -> CustomerNeed

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

impl<'de> Deserialize<'de> for CustomerNeed

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 CustomerNeed

Source§

type FullType = CustomerNeed

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 CustomerNeed

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