lineark_sdk/generated/types.rs
1//! GraphQL object types.
2//!
3//! Generated by lineark-codegen — do not edit.
4use super::enums::*;
5use serde::{Deserialize, Serialize};
6/// A bot actor is an actor that is not a user, but an application or integration.
7#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase", default)]
9pub struct ActorBot {
10 pub id: Option<String>,
11 /// The type of bot.
12 pub r#type: Option<String>,
13 /// The sub type of the bot.
14 pub sub_type: Option<String>,
15 /// The display name of the bot.
16 pub name: Option<String>,
17 /// The display name of the external user on behalf of which the bot acted.
18 pub user_display_name: Option<String>,
19 /// A url pointing to the avatar representing this bot.
20 pub avatar_url: Option<String>,
21}
22/// An activity within an agent context.
23#[derive(Debug, Clone, Default, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase", default)]
25pub struct AgentActivity {
26 /// The unique identifier of the entity.
27 pub id: Option<String>,
28 /// The time at which the entity was created.
29 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
30 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
31 /// been updated after creation.
32 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
33 /// The time at which the entity was archived. Null if the entity has not been archived.
34 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
35 /// The agent session this activity belongs to.
36 pub agent_session: Option<Box<AgentSession>>,
37 /// The comment this activity is linked to.
38 pub source_comment: Option<Box<Comment>>,
39 /// The user who created this agent activity.
40 pub user: Option<Box<User>>,
41 /// Metadata about the external source that created this agent activity.
42 pub source_metadata: Option<serde_json::Value>,
43 /// An optional modifier that provides additional instructions on how the activity should be interpreted.
44 pub signal: Option<AgentActivitySignal>,
45 /// Metadata about this agent activity's signal.
46 pub signal_metadata: Option<serde_json::Value>,
47 /// Whether the activity is ephemeral, and should disappear after the next agent activity.
48 pub ephemeral: Option<bool>,
49 /// `Internal` Metadata about user-provided contextual information for this agent activity.
50 pub contextual_metadata: Option<serde_json::Value>,
51}
52/// Content for an action activity (tool call or action).
53#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54#[serde(rename_all = "camelCase", default)]
55pub struct AgentActivityActionContent {
56 /// The type of activity.
57 pub r#type: Option<AgentActivityType>,
58 /// The action being performed.
59 pub action: Option<String>,
60 /// The parameters for the action, e.g. a file path, a keyword, etc.
61 pub parameter: Option<String>,
62 /// The result of the action in Markdown format.
63 pub result: Option<String>,
64 /// `Internal` The result content as ProseMirror document.
65 pub result_data: Option<serde_json::Value>,
66}
67#[derive(Debug, Clone, Default, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase", default)]
69pub struct AgentActivityConnection {
70 pub edges: Option<Box<Vec<AgentActivityEdge>>>,
71 pub nodes: Option<Box<Vec<AgentActivity>>>,
72 pub page_info: Option<Box<PageInfo>>,
73}
74#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75#[serde(rename_all = "camelCase", default)]
76pub struct AgentActivityEdge {
77 pub node: Option<Box<AgentActivity>>,
78 /// Used in `before` and `after` args
79 pub cursor: Option<String>,
80}
81/// Content for an elicitation activity.
82#[derive(Debug, Clone, Default, Serialize, Deserialize)]
83#[serde(rename_all = "camelCase", default)]
84pub struct AgentActivityElicitationContent {
85 /// The type of activity.
86 pub r#type: Option<AgentActivityType>,
87 /// The elicitation message in Markdown format.
88 pub body: Option<String>,
89 /// `Internal` The elicitation content as ProseMirror document.
90 pub body_data: Option<serde_json::Value>,
91}
92/// Content for an error activity.
93#[derive(Debug, Clone, Default, Serialize, Deserialize)]
94#[serde(rename_all = "camelCase", default)]
95pub struct AgentActivityErrorContent {
96 /// The type of activity.
97 pub r#type: Option<AgentActivityType>,
98 /// The error message in Markdown format.
99 pub body: Option<String>,
100 /// `Internal` The error content as ProseMirror document.
101 pub body_data: Option<serde_json::Value>,
102}
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104#[serde(rename_all = "camelCase", default)]
105pub struct AgentActivityPayload {
106 /// The identifier of the last sync operation.
107 pub last_sync_id: Option<f64>,
108 /// The agent activity that was created or updated.
109 pub agent_activity: Option<Box<AgentActivity>>,
110 /// Whether the operation was successful.
111 pub success: Option<bool>,
112}
113/// Content for a prompt activity.
114#[derive(Debug, Clone, Default, Serialize, Deserialize)]
115#[serde(rename_all = "camelCase", default)]
116pub struct AgentActivityPromptContent {
117 /// The type of activity.
118 pub r#type: Option<AgentActivityType>,
119 /// A message requesting additional information or action from user.
120 pub body: Option<String>,
121 /// `Internal` The prompt content as ProseMirror document.
122 pub body_data: Option<serde_json::Value>,
123}
124/// Content for a response activity.
125#[derive(Debug, Clone, Default, Serialize, Deserialize)]
126#[serde(rename_all = "camelCase", default)]
127pub struct AgentActivityResponseContent {
128 /// The type of activity.
129 pub r#type: Option<AgentActivityType>,
130 /// The response content in Markdown format.
131 pub body: Option<String>,
132 /// `Internal` The response content as ProseMirror document.
133 pub body_data: Option<serde_json::Value>,
134}
135/// Content for a thought activity.
136#[derive(Debug, Clone, Default, Serialize, Deserialize)]
137#[serde(rename_all = "camelCase", default)]
138pub struct AgentActivityThoughtContent {
139 /// The type of activity.
140 pub r#type: Option<AgentActivityType>,
141 /// The thought content in Markdown format.
142 pub body: Option<String>,
143 /// `Internal` The thought content as ProseMirror document.
144 pub body_data: Option<serde_json::Value>,
145}
146/// A session for agent activities and state management.
147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
148#[serde(rename_all = "camelCase", default)]
149pub struct AgentSession {
150 /// The unique identifier of the entity.
151 pub id: Option<String>,
152 /// The time at which the entity was created.
153 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
154 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
155 /// been updated after creation.
156 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
157 /// The time at which the entity was archived. Null if the entity has not been archived.
158 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
159 /// The human user responsible for the agent session. Null if the session was initiated via automation or by an agent user, with no responsible human user.
160 pub creator: Option<Box<User>>,
161 /// The agent user that is associated with this agent session.
162 pub app_user: Option<Box<User>>,
163 /// The comment this agent session is associated with.
164 pub comment: Option<Box<Comment>>,
165 /// The comment that this agent session was spawned from, if from a different thread.
166 pub source_comment: Option<Box<Comment>>,
167 /// The issue this agent session is associated with.
168 pub issue: Option<Box<Issue>>,
169 /// The current status of the agent session.
170 pub status: Option<AgentSessionStatus>,
171 /// The time the agent session started.
172 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
173 /// The time the agent session ended.
174 pub ended_at: Option<chrono::DateTime<chrono::Utc>>,
175 /// The time the agent session was dismissed.
176 pub dismissed_at: Option<chrono::DateTime<chrono::Utc>>,
177 /// The user who dismissed the agent session.
178 pub dismissed_by: Option<Box<User>>,
179 /// Activities associated with this agent session.
180 pub activities: Option<Box<AgentActivityConnection>>,
181 /// The URL of an external agent-hosted page associated with this session.
182 pub external_link: Option<String>,
183 /// A summary of the activities in this session.
184 pub summary: Option<String>,
185 /// Metadata about the external source that created this agent session.
186 pub source_metadata: Option<serde_json::Value>,
187 /// A dynamically updated list of the agent's execution strategy.
188 pub plan: Option<serde_json::Value>,
189 /// Serialized JSON representing the contexts this session is related to, for direct chat sessions.
190 pub context: Option<serde_json::Value>,
191 /// `DEPRECATED` The type of the agent session.
192 pub r#type: Option<AgentSessionType>,
193 /// Agent session URL.
194 pub url: Option<String>,
195 /// `Internal` Pull requests associated with this agent session.
196 pub pull_requests: Option<Box<AgentSessionToPullRequestConnection>>,
197 /// External links associated with this session.
198 pub external_links: Option<Box<Vec<AgentSessionExternalLink>>>,
199 /// URLs of external resources associated with this session.
200 pub external_urls: Option<serde_json::Value>,
201}
202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
203#[serde(rename_all = "camelCase", default)]
204pub struct AgentSessionConnection {
205 pub edges: Option<Box<Vec<AgentSessionEdge>>>,
206 pub nodes: Option<Box<Vec<AgentSession>>>,
207 pub page_info: Option<Box<PageInfo>>,
208}
209#[derive(Debug, Clone, Default, Serialize, Deserialize)]
210#[serde(rename_all = "camelCase", default)]
211pub struct AgentSessionEdge {
212 pub node: Option<Box<AgentSession>>,
213 /// Used in `before` and `after` args
214 pub cursor: Option<String>,
215}
216/// An external link associated with an agent session.
217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
218#[serde(rename_all = "camelCase", default)]
219pub struct AgentSessionExternalLink {
220 /// The URL of the external resource.
221 pub url: Option<String>,
222 /// Label for the link.
223 pub label: Option<String>,
224}
225#[derive(Debug, Clone, Default, Serialize, Deserialize)]
226#[serde(rename_all = "camelCase", default)]
227pub struct AgentSessionPayload {
228 /// The identifier of the last sync operation.
229 pub last_sync_id: Option<f64>,
230 /// Whether the operation was successful.
231 pub success: Option<bool>,
232 /// The agent session that was created or updated.
233 pub agent_session: Option<Box<AgentSession>>,
234}
235/// Join table between agent sessions and pull requests.
236#[derive(Debug, Clone, Default, Serialize, Deserialize)]
237#[serde(rename_all = "camelCase", default)]
238pub struct AgentSessionToPullRequest {
239 /// The unique identifier of the entity.
240 pub id: Option<String>,
241 /// The time at which the entity was created.
242 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
243 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
244 /// been updated after creation.
245 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
246 /// The time at which the entity was archived. Null if the entity has not been archived.
247 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
248 /// The pull request that the agent session is associated with.
249 pub pull_request: Option<Box<PullRequest>>,
250 /// The agent session that the pull request is associated with.
251 pub agent_session: Option<Box<AgentSession>>,
252}
253#[derive(Debug, Clone, Default, Serialize, Deserialize)]
254#[serde(rename_all = "camelCase", default)]
255pub struct AgentSessionToPullRequestConnection {
256 pub edges: Option<Box<Vec<AgentSessionToPullRequestEdge>>>,
257 pub nodes: Option<Box<Vec<AgentSessionToPullRequest>>>,
258 pub page_info: Option<Box<PageInfo>>,
259}
260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
261#[serde(rename_all = "camelCase", default)]
262pub struct AgentSessionToPullRequestEdge {
263 pub node: Option<Box<AgentSessionToPullRequest>>,
264 /// Used in `before` and `after` args
265 pub cursor: Option<String>,
266}
267/// AI prompt rules for a team.
268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
269#[serde(rename_all = "camelCase", default)]
270pub struct AiPromptRules {
271 /// The unique identifier of the entity.
272 pub id: Option<String>,
273 /// The time at which the entity was created.
274 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
275 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
276 /// been updated after creation.
277 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
278 /// The time at which the entity was archived. Null if the entity has not been archived.
279 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
280 /// The user who last updated the AI prompt rules.
281 pub updated_by: Option<Box<User>>,
282}
283/// Public information of the OAuth application.
284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
285#[serde(rename_all = "camelCase", default)]
286pub struct Application {
287 /// OAuth application's ID.
288 pub id: Option<String>,
289 /// OAuth application's client ID.
290 pub client_id: Option<String>,
291 /// Application name.
292 pub name: Option<String>,
293 /// Information about the application.
294 pub description: Option<String>,
295 /// Name of the developer.
296 pub developer: Option<String>,
297 /// Url of the developer (homepage or docs).
298 pub developer_url: Option<String>,
299 /// Image of the application.
300 pub image_url: Option<String>,
301}
302/// Contains requested archived model objects.
303#[derive(Debug, Clone, Default, Serialize, Deserialize)]
304#[serde(rename_all = "camelCase", default)]
305pub struct ArchiveResponse {
306 /// A JSON serialized collection of model objects loaded from the archive
307 pub archive: Option<String>,
308 /// The total number of entities in the archive.
309 pub total_count: Option<f64>,
310 /// The version of the remote database. Incremented by 1 for each migration run on the database.
311 pub database_version: Option<f64>,
312 /// Whether the dependencies for the model objects are included in the archive.
313 pub includes_dependencies: Option<Vec<String>>,
314}
315#[derive(Debug, Clone, Default, Serialize, Deserialize)]
316#[serde(rename_all = "camelCase", default)]
317pub struct AsksChannelConnectPayload {
318 /// The identifier of the last sync operation.
319 pub last_sync_id: Option<f64>,
320 /// The integration that was created or updated.
321 pub integration: Option<Box<Integration>>,
322 /// Whether the operation was successful.
323 pub success: Option<bool>,
324 /// The new Asks Slack channel mapping for the connected channel.
325 pub mapping: Option<Box<SlackChannelNameMapping>>,
326 /// Whether the bot needs to be manually added to the channel.
327 pub add_bot: Option<bool>,
328}
329/// A web page for an Asks web form.
330#[derive(Debug, Clone, Default, Serialize, Deserialize)]
331#[serde(rename_all = "camelCase", default)]
332pub struct AsksWebPage {
333 /// The unique identifier of the entity.
334 pub id: Option<String>,
335 /// The time at which the entity was created.
336 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
337 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
338 /// been updated after creation.
339 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
340 /// The time at which the entity was archived. Null if the entity has not been archived.
341 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
342 /// The organization that the Asks web page belongs to.
343 pub organization: Option<Box<Organization>>,
344 /// The Asks web settings this page belongs to.
345 pub asks_web_settings: Option<Box<AsksWebSettings>>,
346 /// The user who created the Asks web page.
347 pub creator: Option<Box<User>>,
348 /// The title of the page.
349 pub title: Option<String>,
350 /// The description of the page.
351 pub description: Option<String>,
352 /// The page's unique URL slug.
353 pub slug_id: Option<String>,
354 /// The auto-reply message for issue created. If not set, the default reply will be used.
355 pub issue_created_auto_reply: Option<String>,
356 /// Whether the auto-reply for issue created is enabled.
357 pub issue_created_auto_reply_enabled: Option<bool>,
358 /// The auto-reply message for issue completed. If not set, the default reply will be used.
359 pub issue_completed_auto_reply: Option<String>,
360 /// Whether the auto-reply for issue completed is enabled.
361 pub issue_completed_auto_reply_enabled: Option<bool>,
362 /// The auto-reply message for issue canceled. If not set, the default reply will be used.
363 pub issue_canceled_auto_reply: Option<String>,
364 /// Whether the auto-reply for issue canceled is enabled.
365 pub issue_canceled_auto_reply_enabled: Option<bool>,
366}
367#[derive(Debug, Clone, Default, Serialize, Deserialize)]
368#[serde(rename_all = "camelCase", default)]
369pub struct AsksWebPagePayload {
370 /// The identifier of the last sync operation.
371 pub last_sync_id: Option<f64>,
372 /// The Asks web page that was created or updated.
373 pub asks_web_page: Option<Box<AsksWebPage>>,
374 /// Whether the operation was successful.
375 pub success: Option<bool>,
376}
377/// Settings for an Asks web form.
378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
379#[serde(rename_all = "camelCase", default)]
380pub struct AsksWebSettings {
381 /// The unique identifier of the entity.
382 pub id: Option<String>,
383 /// The time at which the entity was created.
384 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
385 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
386 /// been updated after creation.
387 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
388 /// The time at which the entity was archived. Null if the entity has not been archived.
389 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
390 /// The organization that the Asks web settings are associated with.
391 pub organization: Option<Box<Organization>>,
392 /// The user who created the Asks web settings.
393 pub creator: Option<Box<User>>,
394 /// The custom domain for the Asks web form. If null, the default Linear-hosted domain will be used.
395 pub domain: Option<String>,
396 /// The email intake address associated with these Asks web settings.
397 pub email_intake_address: Option<Box<EmailIntakeAddress>>,
398 /// The identity provider for SAML authentication on this Asks web form.
399 pub identity_provider: Option<Box<IdentityProvider>>,
400}
401#[derive(Debug, Clone, Default, Serialize, Deserialize)]
402#[serde(rename_all = "camelCase", default)]
403pub struct AsksWebSettingsPayload {
404 /// The identifier of the last sync operation.
405 pub last_sync_id: Option<f64>,
406 /// The Asks web settings that were created or updated.
407 pub asks_web_settings: Option<Box<AsksWebSettings>>,
408 /// Whether the operation was successful.
409 pub success: Option<bool>,
410}
411/// Issue attachment (e.g. support ticket, pull request).
412#[derive(Debug, Clone, Default, Serialize, Deserialize)]
413#[serde(rename_all = "camelCase", default)]
414pub struct Attachment {
415 /// The unique identifier of the entity.
416 pub id: Option<String>,
417 /// The time at which the entity was created.
418 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
419 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
420 /// been updated after creation.
421 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
422 /// The time at which the entity was archived. Null if the entity has not been archived.
423 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
424 /// Content for the title line in the Linear attachment widget.
425 pub title: Option<String>,
426 /// Content for the subtitle line in the Linear attachment widget.
427 pub subtitle: Option<String>,
428 /// Location of the attachment which is also used as an identifier.
429 pub url: Option<String>,
430 /// The creator of the attachment.
431 pub creator: Option<Box<User>>,
432 /// The non-Linear user who created the attachment.
433 pub external_user_creator: Option<Box<ExternalUser>>,
434 /// Custom metadata related to the attachment.
435 pub metadata: Option<serde_json::Value>,
436 /// Information about the source which created the attachment.
437 pub source: Option<serde_json::Value>,
438 /// An accessor helper to source.type, defines the source type of the attachment.
439 pub source_type: Option<String>,
440 /// Indicates if attachments for the same source application should be grouped in the Linear UI.
441 pub group_by_source: Option<bool>,
442 /// The issue this attachment was originally created on. Will be undefined if the attachment hasn't been moved.
443 pub original_issue: Option<Box<Issue>>,
444 /// The issue this attachment belongs to.
445 pub issue: Option<Box<Issue>>,
446 /// The body data of the attachment, if any.
447 pub body_data: Option<String>,
448}
449#[derive(Debug, Clone, Default, Serialize, Deserialize)]
450#[serde(rename_all = "camelCase", default)]
451pub struct AttachmentConnection {
452 pub edges: Option<Box<Vec<AttachmentEdge>>>,
453 pub nodes: Option<Box<Vec<Attachment>>>,
454 pub page_info: Option<Box<PageInfo>>,
455}
456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
457#[serde(rename_all = "camelCase", default)]
458pub struct AttachmentEdge {
459 pub node: Option<Box<Attachment>>,
460 /// Used in `before` and `after` args
461 pub cursor: Option<String>,
462}
463#[derive(Debug, Clone, Default, Serialize, Deserialize)]
464#[serde(rename_all = "camelCase", default)]
465pub struct AttachmentPayload {
466 /// The identifier of the last sync operation.
467 pub last_sync_id: Option<f64>,
468 /// The issue attachment that was created.
469 pub attachment: Option<Box<Attachment>>,
470 /// Whether the operation was successful.
471 pub success: Option<bool>,
472}
473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
474#[serde(rename_all = "camelCase", default)]
475pub struct AttachmentSourcesPayload {
476 /// A unique list of all source types used in this workspace.
477 pub sources: Option<serde_json::Value>,
478}
479/// Workspace audit log entry object.
480#[derive(Debug, Clone, Default, Serialize, Deserialize)]
481#[serde(rename_all = "camelCase", default)]
482pub struct AuditEntry {
483 /// The unique identifier of the entity.
484 pub id: Option<String>,
485 /// The time at which the entity was created.
486 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
487 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
488 /// been updated after creation.
489 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
490 /// The time at which the entity was archived. Null if the entity has not been archived.
491 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
492 pub r#type: Option<String>,
493 /// The organization the audit log belongs to.
494 pub organization: Option<Box<Organization>>,
495 /// The user that caused the audit entry to be created.
496 pub actor: Option<Box<User>>,
497 /// The ID of the user that caused the audit entry to be created.
498 pub actor_id: Option<String>,
499 /// IP from actor when entry was recorded.
500 pub ip: Option<String>,
501 /// Country code of request resulting to audit entry.
502 pub country_code: Option<String>,
503 /// Additional metadata related to the audit entry.
504 pub metadata: Option<serde_json::Value>,
505 /// Additional information related to the request which performed the action.
506 pub request_information: Option<serde_json::Value>,
507}
508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
509#[serde(rename_all = "camelCase", default)]
510pub struct AuditEntryConnection {
511 pub edges: Option<Box<Vec<AuditEntryEdge>>>,
512 pub nodes: Option<Box<Vec<AuditEntry>>>,
513 pub page_info: Option<Box<PageInfo>>,
514}
515#[derive(Debug, Clone, Default, Serialize, Deserialize)]
516#[serde(rename_all = "camelCase", default)]
517pub struct AuditEntryEdge {
518 pub node: Option<Box<AuditEntry>>,
519 /// Used in `before` and `after` args
520 pub cursor: Option<String>,
521}
522#[derive(Debug, Clone, Default, Serialize, Deserialize)]
523#[serde(rename_all = "camelCase", default)]
524pub struct AuditEntryType {
525 /// The audit entry type.
526 pub r#type: Option<String>,
527 /// Description of the audit entry type.
528 pub description: Option<String>,
529}
530/// An identity provider.
531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
532#[serde(rename_all = "camelCase", default)]
533pub struct AuthIdentityProvider {
534 /// The time at which the entity was created.
535 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
536 /// The unique identifier of the entity.
537 pub id: Option<String>,
538 /// Whether the identity provider is the default identity provider migrated from organization level settings.
539 pub default_migrated: Option<bool>,
540 /// The type of identity provider.
541 pub r#type: Option<IdentityProviderType>,
542 /// Whether SAML authentication is enabled for organization.
543 pub saml_enabled: Option<bool>,
544 /// Sign in endpoint URL for the identity provider.
545 pub sso_endpoint: Option<String>,
546 /// Binding method for authentication call. Can be either `post` (default) or `redirect`.
547 pub sso_binding: Option<String>,
548 /// The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`.
549 pub sso_sign_algo: Option<String>,
550 /// The issuer's custom entity ID.
551 pub issuer_entity_id: Option<String>,
552 /// The service provider (Linear) custom entity ID. Defaults to <https://auth.linear.app/sso>
553 pub sp_entity_id: Option<String>,
554 /// X.509 Signing Certificate in string form.
555 pub sso_signing_cert: Option<String>,
556 /// The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference.
557 pub priority: Option<f64>,
558 /// Whether SCIM provisioning is enabled for organization.
559 pub scim_enabled: Option<bool>,
560}
561/// An organization. Organizations are root-level objects that contain users and teams.
562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
563#[serde(rename_all = "camelCase", default)]
564pub struct AuthOrganization {
565 /// The time at which the entity was created.
566 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
567 /// The unique identifier of the entity.
568 pub id: Option<String>,
569 /// The organization's name.
570 pub name: Option<String>,
571 /// Whether the organization is enabled. Used as a superuser tool to lock down the org.
572 pub enabled: Option<bool>,
573 /// The organization's unique URL key.
574 pub url_key: Option<String>,
575 /// Previously used URL keys for the organization (last 3 are kept and redirected).
576 pub previous_url_keys: Option<Vec<String>>,
577 /// The organization's logo URL.
578 pub logo_url: Option<String>,
579 /// The time at which deletion of the organization was requested.
580 pub deletion_requested_at: Option<chrono::DateTime<chrono::Utc>>,
581 /// The feature release channel the organization belongs to.
582 pub release_channel: Option<ReleaseChannel>,
583 /// Whether SAML authentication is enabled for organization.
584 pub saml_enabled: Option<bool>,
585 /// `INTERNAL` SAML settings
586 pub saml_settings: Option<serde_json::Value>,
587 /// Allowed authentication providers, empty array means all are allowed
588 pub allowed_auth_services: Option<Vec<String>>,
589 /// Whether SCIM provisioning is enabled for organization.
590 pub scim_enabled: Option<bool>,
591 /// The email domain or URL key for the organization.
592 pub service_id: Option<String>,
593 /// The region the organization is hosted in.
594 pub region: Option<String>,
595 /// Whether to hide other organizations for new users signing up with email domains claimed by this organization.
596 pub hide_non_primary_organizations: Option<bool>,
597 pub user_count: Option<f64>,
598}
599#[derive(Debug, Clone, Default, Serialize, Deserialize)]
600#[serde(rename_all = "camelCase", default)]
601pub struct AuthResolverResponse {
602 /// User account ID.
603 pub id: Option<String>,
604 /// Email for the authenticated account.
605 pub email: Option<String>,
606 /// Should the signup flow allow access for the domain.
607 pub allow_domain_access: Option<bool>,
608 /// List of active users that belong to the user account.
609 pub users: Option<Box<Vec<AuthUser>>>,
610 /// List of locked users that are locked by login restrictions
611 pub locked_users: Option<Box<Vec<AuthUser>>>,
612 /// List of organizations allowing this user account to join automatically.
613 pub available_organizations: Option<Box<Vec<AuthOrganization>>>,
614 /// List of organization available to this user account but locked due to the current auth method.
615 pub locked_organizations: Option<Box<Vec<AuthOrganization>>>,
616 /// ID of the organization last accessed by the user.
617 pub last_used_organization_id: Option<String>,
618 /// The authentication service used for the current session (e.g., google, email, saml).
619 pub service: Option<String>,
620 /// Application token.
621 pub token: Option<String>,
622}
623/// A user that has access to the the resources of an organization.
624#[derive(Debug, Clone, Default, Serialize, Deserialize)]
625#[serde(rename_all = "camelCase", default)]
626pub struct AuthUser {
627 /// The time at which the entity was created.
628 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
629 pub id: Option<String>,
630 /// The user's full name.
631 pub name: Option<String>,
632 /// The user's display (nick) name. Unique within each organization.
633 pub display_name: Option<String>,
634 /// The user's email address.
635 pub email: Option<String>,
636 /// An URL to the user's avatar image.
637 pub avatar_url: Option<String>,
638 /// Whether the user is an organization admin or guest on a database level.
639 pub role: Option<UserRoleType>,
640 /// Whether the user is active.
641 pub active: Option<bool>,
642 /// User account ID the user belongs to.
643 pub user_account_id: Option<String>,
644 /// Organization the user belongs to.
645 pub organization: Option<Box<AuthOrganization>>,
646 /// `INTERNAL` Identity provider the user is managed by.
647 pub identity_provider: Option<Box<AuthIdentityProvider>>,
648}
649/// Authentication session information.
650#[derive(Debug, Clone, Default, Serialize, Deserialize)]
651#[serde(rename_all = "camelCase", default)]
652pub struct AuthenticationSessionResponse {
653 /// The time at which the entity was created.
654 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
655 pub id: Option<String>,
656 /// Type of application used to authenticate.
657 pub r#type: Option<AuthenticationSessionType>,
658 /// IP address.
659 pub ip: Option<String>,
660 /// Location country name.
661 pub location_country: Option<String>,
662 /// Location country code.
663 pub location_country_code: Option<String>,
664 /// Country codes of all seen locations.
665 pub country_codes: Option<Vec<String>>,
666 /// Location region code.
667 pub location_region_code: Option<String>,
668 /// Location city name.
669 pub location_city: Option<String>,
670 /// Session's user-agent.
671 pub user_agent: Option<String>,
672 /// Used web browser.
673 pub browser_type: Option<String>,
674 /// Service used for logging in.
675 pub service: Option<String>,
676 /// When was the session last seen
677 pub last_active_at: Option<chrono::DateTime<chrono::Utc>>,
678 /// Date when the session was last updated.
679 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
680 /// Human readable location
681 pub location: Option<String>,
682 /// Operating system used for the session
683 pub operating_system: Option<String>,
684 /// Client used for the session
685 pub client: Option<String>,
686 /// Name of the session, derived from the client and operating system
687 pub name: Option<String>,
688 /// Identifies the session used to make the request.
689 pub is_current_session: Option<bool>,
690}
691/// A comment associated with an issue.
692#[derive(Debug, Clone, Default, Serialize, Deserialize)]
693#[serde(rename_all = "camelCase", default)]
694pub struct Comment {
695 /// The unique identifier of the entity.
696 pub id: Option<String>,
697 /// The time at which the entity was created.
698 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
699 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
700 /// been updated after creation.
701 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
702 /// The time at which the entity was archived. Null if the entity has not been archived.
703 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
704 /// The comment content in markdown format.
705 pub body: Option<String>,
706 /// The issue that the comment is associated with.
707 pub issue: Option<Box<Issue>>,
708 /// The ID of the issue that the comment is associated with.
709 pub issue_id: Option<String>,
710 /// The document content that the comment is associated with.
711 pub document_content: Option<Box<DocumentContent>>,
712 /// The ID of the document content that the comment is associated with.
713 pub document_content_id: Option<String>,
714 /// The project update that the comment is associated with.
715 pub project_update: Option<Box<ProjectUpdate>>,
716 /// The ID of the project update that the comment is associated with.
717 pub project_update_id: Option<String>,
718 /// The initiative update that the comment is associated with.
719 pub initiative_update: Option<Box<InitiativeUpdate>>,
720 /// The ID of the initiative update that the comment is associated with.
721 pub initiative_update_id: Option<String>,
722 /// The post that the comment is associated with.
723 pub post: Option<Box<Post>>,
724 /// The parent comment under which the current comment is nested.
725 pub parent: Option<Box<Comment>>,
726 /// The ID of the parent comment under which the current comment is nested.
727 pub parent_id: Option<String>,
728 /// The user that resolved the thread.
729 pub resolving_user: Option<Box<User>>,
730 /// The time the resolvingUser resolved the thread.
731 pub resolved_at: Option<chrono::DateTime<chrono::Utc>>,
732 /// The comment that resolved the thread.
733 pub resolving_comment: Option<Box<Comment>>,
734 /// The ID of the comment that resolved the thread.
735 pub resolving_comment_id: Option<String>,
736 /// The user who wrote the comment.
737 pub user: Option<Box<User>>,
738 /// The external user who wrote the comment.
739 pub external_user: Option<Box<ExternalUser>>,
740 /// The time user edited the comment.
741 pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
742 /// `Internal` The comment content as a Prosemirror document.
743 pub body_data: Option<String>,
744 /// The text that this comment references. Only defined for inline comments.
745 pub quoted_text: Option<String>,
746 /// Emoji reaction summary, grouped by emoji type.
747 pub reaction_data: Option<serde_json::Value>,
748 /// `Internal` A generated summary of the comment thread.
749 pub thread_summary: Option<serde_json::Value>,
750 /// `Internal` Whether the comment is an artificial placeholder for an agent session thread created without a comment mention.
751 pub is_artificial_agent_session_root: Option<bool>,
752 /// Comment's URL.
753 pub url: Option<String>,
754 /// The children of the comment.
755 pub children: Option<Box<CommentConnection>>,
756 /// Agent session associated with this comment.
757 pub agent_session: Option<Box<AgentSession>>,
758 /// `Internal` Agent sessions associated with this comment.
759 pub agent_sessions: Option<Box<AgentSessionConnection>>,
760 /// Issues created from this comment.
761 pub created_issues: Option<Box<IssueConnection>>,
762 /// The bot that created the comment.
763 pub bot_actor: Option<Box<ActorBot>>,
764 /// `Internal` The user on whose behalf the comment was created, e.g. when the Linear assistant creates a comment for a user.
765 pub on_behalf_of: Option<Box<User>>,
766 /// The external thread that the comment is synced with.
767 pub external_thread: Option<Box<SyncedExternalThread>>,
768 /// `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).
769 pub hide_in_linear: Option<bool>,
770 /// Reactions associated with the comment.
771 pub reactions: Option<Box<Vec<Reaction>>>,
772 /// The external services the comment is synced with.
773 pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
774}
775#[derive(Debug, Clone, Default, Serialize, Deserialize)]
776#[serde(rename_all = "camelCase", default)]
777pub struct CommentConnection {
778 pub edges: Option<Box<Vec<CommentEdge>>>,
779 pub nodes: Option<Box<Vec<Comment>>>,
780 pub page_info: Option<Box<PageInfo>>,
781}
782#[derive(Debug, Clone, Default, Serialize, Deserialize)]
783#[serde(rename_all = "camelCase", default)]
784pub struct CommentEdge {
785 pub node: Option<Box<Comment>>,
786 /// Used in `before` and `after` args
787 pub cursor: Option<String>,
788}
789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
790#[serde(rename_all = "camelCase", default)]
791pub struct CommentPayload {
792 /// The identifier of the last sync operation.
793 pub last_sync_id: Option<f64>,
794 /// The comment that was created or updated.
795 pub comment: Option<Box<Comment>>,
796 /// Whether the operation was successful.
797 pub success: Option<bool>,
798}
799#[derive(Debug, Clone, Default, Serialize, Deserialize)]
800#[serde(rename_all = "camelCase", default)]
801pub struct ContactPayload {
802 /// Whether the operation was successful.
803 pub success: Option<bool>,
804}
805#[derive(Debug, Clone, Default, Serialize, Deserialize)]
806#[serde(rename_all = "camelCase", default)]
807pub struct CreateCsvExportReportPayload {
808 /// Whether the operation was successful.
809 pub success: Option<bool>,
810}
811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
812#[serde(rename_all = "camelCase", default)]
813pub struct CreateOrJoinOrganizationResponse {
814 pub organization: Option<Box<AuthOrganization>>,
815 pub user: Option<Box<AuthUser>>,
816}
817/// A custom view that has been saved by a user.
818#[derive(Debug, Clone, Default, Serialize, Deserialize)]
819#[serde(rename_all = "camelCase", default)]
820pub struct CustomView {
821 /// The unique identifier of the entity.
822 pub id: Option<String>,
823 /// The time at which the entity was created.
824 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
825 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
826 /// been updated after creation.
827 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
828 /// The time at which the entity was archived. Null if the entity has not been archived.
829 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
830 /// The name of the custom view.
831 pub name: Option<String>,
832 /// The description of the custom view.
833 pub description: Option<String>,
834 /// The icon of the custom view.
835 pub icon: Option<String>,
836 /// The color of the icon of the custom view.
837 pub color: Option<String>,
838 /// The organization of the custom view.
839 pub organization: Option<Box<Organization>>,
840 /// The user who created the custom view.
841 pub creator: Option<Box<User>>,
842 /// The user who owns the custom view.
843 pub owner: Option<Box<User>>,
844 /// The user who last updated the custom view.
845 pub updated_by: Option<Box<User>>,
846 /// The filters applied to issues in the custom view.
847 pub filters: Option<serde_json::Value>,
848 /// The filter applied to issues in the custom view.
849 pub filter_data: Option<serde_json::Value>,
850 /// The filter applied to projects in the custom view.
851 pub project_filter_data: Option<serde_json::Value>,
852 /// The filter applied to initiatives in the custom view.
853 pub initiative_filter_data: Option<serde_json::Value>,
854 /// The filter applied to feed items in the custom view.
855 pub feed_item_filter_data: Option<serde_json::Value>,
856 /// Whether the custom view is shared with everyone in the organization.
857 pub shared: Option<bool>,
858 /// The custom view's unique URL slug.
859 pub slug_id: Option<String>,
860 /// The model name of the custom view.
861 pub model_name: Option<String>,
862 /// `INTERNAL` The facet associated with the custom view.
863 pub facet: Option<Box<Facet>>,
864 /// The team associated with the custom view.
865 pub team: Option<Box<Team>>,
866 /// Projects associated with the custom view.
867 pub projects: Option<Box<ProjectConnection>>,
868 /// Issues associated with the custom view.
869 pub issues: Option<Box<IssueConnection>>,
870 /// Feed items associated with the custom view.
871 pub updates: Option<Box<FeedItemConnection>>,
872 /// The current users view preferences for this custom view.
873 pub user_view_preferences: Option<Box<ViewPreferences>>,
874 /// The organizations default view preferences for this custom view.
875 pub organization_view_preferences: Option<Box<ViewPreferences>>,
876 /// The calculated view preferences values for this custom view.
877 pub view_preferences_values: Option<Box<ViewPreferencesValues>>,
878 /// Initiatives associated with the custom view.
879 pub initiatives: Option<Box<InitiativeConnection>>,
880}
881#[derive(Debug, Clone, Default, Serialize, Deserialize)]
882#[serde(rename_all = "camelCase", default)]
883pub struct CustomViewConnection {
884 pub edges: Option<Box<Vec<CustomViewEdge>>>,
885 pub nodes: Option<Box<Vec<CustomView>>>,
886 pub page_info: Option<Box<PageInfo>>,
887}
888#[derive(Debug, Clone, Default, Serialize, Deserialize)]
889#[serde(rename_all = "camelCase", default)]
890pub struct CustomViewEdge {
891 pub node: Option<Box<CustomView>>,
892 /// Used in `before` and `after` args
893 pub cursor: Option<String>,
894}
895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
896#[serde(rename_all = "camelCase", default)]
897pub struct CustomViewHasSubscribersPayload {
898 /// Whether the custom view has subscribers.
899 pub has_subscribers: Option<bool>,
900}
901/// A custom view notification subscription.
902#[derive(Debug, Clone, Default, Serialize, Deserialize)]
903#[serde(rename_all = "camelCase", default)]
904pub struct CustomViewNotificationSubscription {
905 /// The unique identifier of the entity.
906 pub id: Option<String>,
907 /// The time at which the entity was created.
908 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
909 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
910 /// been updated after creation.
911 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
912 /// The time at which the entity was archived. Null if the entity has not been archived.
913 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
914 /// The user that subscribed to receive notifications.
915 pub subscriber: Option<Box<User>>,
916 /// The customer associated with the notification subscription.
917 pub customer: Option<Box<Customer>>,
918 /// The custom view subscribed to.
919 pub custom_view: Option<Box<CustomView>>,
920 /// The contextual cycle view associated with the notification subscription.
921 pub cycle: Option<Box<Cycle>>,
922 /// The contextual label view associated with the notification subscription.
923 pub label: Option<Box<IssueLabel>>,
924 /// The contextual project view associated with the notification subscription.
925 pub project: Option<Box<Project>>,
926 /// The contextual initiative view associated with the notification subscription.
927 pub initiative: Option<Box<Initiative>>,
928 /// The team associated with the notification subscription.
929 pub team: Option<Box<Team>>,
930 /// The user view associated with the notification subscription.
931 pub user: Option<Box<User>>,
932 /// The type of view to which the notification subscription context is associated with.
933 pub context_view_type: Option<ContextViewType>,
934 /// The type of user view to which the notification subscription context is associated with.
935 pub user_context_view_type: Option<UserContextViewType>,
936 /// Whether the subscription is active or not.
937 pub active: Option<bool>,
938 /// The type of subscription.
939 pub notification_subscription_types: Option<Vec<String>>,
940}
941#[derive(Debug, Clone, Default, Serialize, Deserialize)]
942#[serde(rename_all = "camelCase", default)]
943pub struct CustomViewPayload {
944 /// The identifier of the last sync operation.
945 pub last_sync_id: Option<f64>,
946 /// The custom view that was created or updated.
947 pub custom_view: Option<Box<CustomView>>,
948 /// Whether the operation was successful.
949 pub success: Option<bool>,
950}
951#[derive(Debug, Clone, Default, Serialize, Deserialize)]
952#[serde(rename_all = "camelCase", default)]
953pub struct CustomViewSuggestionPayload {
954 /// The suggested view name.
955 pub name: Option<String>,
956 /// The suggested view description.
957 pub description: Option<String>,
958 /// The suggested view icon.
959 pub icon: Option<String>,
960}
961/// A customer whose needs will be tied to issues or projects.
962#[derive(Debug, Clone, Default, Serialize, Deserialize)]
963#[serde(rename_all = "camelCase", default)]
964pub struct Customer {
965 /// The unique identifier of the entity.
966 pub id: Option<String>,
967 /// The time at which the entity was created.
968 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
969 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
970 /// been updated after creation.
971 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
972 /// The time at which the entity was archived. Null if the entity has not been archived.
973 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
974 /// The customer's name.
975 pub name: Option<String>,
976 /// The customer's logo URL.
977 pub logo_url: Option<String>,
978 /// The domains associated with this customer.
979 pub domains: Option<Vec<String>>,
980 /// The ids of the customers in external systems.
981 pub external_ids: Option<Vec<String>>,
982 /// The ID of the Slack channel used to interact with the customer.
983 pub slack_channel_id: Option<String>,
984 /// The user who owns the customer.
985 pub owner: Option<Box<User>>,
986 /// The current status of the customer.
987 pub status: Option<Box<CustomerStatus>>,
988 /// The annual revenue generated by the customer.
989 pub revenue: Option<i64>,
990 /// The size of the customer.
991 pub size: Option<f64>,
992 /// The tier of the customer.
993 pub tier: Option<Box<CustomerTier>>,
994 /// The approximate number of needs of the customer.
995 pub approximate_need_count: Option<f64>,
996 /// The customer's unique URL slug.
997 pub slug_id: Option<String>,
998 /// The ID of the main source, when a customer has multiple sources. Must be one of externalIds.
999 pub main_source_id: Option<String>,
1000 /// The integration that manages the Customer.
1001 pub integration: Option<Box<Integration>>,
1002 /// URL of the customer in Linear.
1003 pub url: Option<String>,
1004}
1005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1006#[serde(rename_all = "camelCase", default)]
1007pub struct CustomerConnection {
1008 pub edges: Option<Box<Vec<CustomerEdge>>>,
1009 pub nodes: Option<Box<Vec<Customer>>>,
1010 pub page_info: Option<Box<PageInfo>>,
1011}
1012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1013#[serde(rename_all = "camelCase", default)]
1014pub struct CustomerEdge {
1015 pub node: Option<Box<Customer>>,
1016 /// Used in `before` and `after` args
1017 pub cursor: Option<String>,
1018}
1019/// A customer need, expressed through a reference to an issue, project, or comment.
1020#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1021#[serde(rename_all = "camelCase", default)]
1022pub struct CustomerNeed {
1023 /// The unique identifier of the entity.
1024 pub id: Option<String>,
1025 /// The time at which the entity was created.
1026 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1027 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1028 /// been updated after creation.
1029 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1030 /// The time at which the entity was archived. Null if the entity has not been archived.
1031 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1032 /// The customer that this need is attached to.
1033 pub customer: Option<Box<Customer>>,
1034 /// The issue this need is referencing.
1035 pub issue: Option<Box<Issue>>,
1036 /// The project this need is referencing.
1037 pub project: Option<Box<Project>>,
1038 /// The comment this need is referencing.
1039 pub comment: Option<Box<Comment>>,
1040 /// The attachment this need is referencing.
1041 pub attachment: Option<Box<Attachment>>,
1042 /// The project attachment this need is referencing.
1043 pub project_attachment: Option<Box<ProjectAttachment>>,
1044 /// Whether the customer need is important or not. 0 = Not important, 1 = Important.
1045 pub priority: Option<f64>,
1046 /// The need content in markdown format.
1047 pub body: Option<String>,
1048 /// `Internal` The content of the need as a Prosemirror document.
1049 pub body_data: Option<String>,
1050 /// The creator of the customer need.
1051 pub creator: Option<Box<User>>,
1052 /// The issue this customer need was originally created on. Will be undefined if the customer need hasn't been moved.
1053 pub original_issue: Option<Box<Issue>>,
1054 /// The URL of the underlying attachment, if any
1055 pub url: Option<String>,
1056}
1057/// A generic payload return from entity archive mutations.
1058#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1059#[serde(rename_all = "camelCase", default)]
1060pub struct CustomerNeedArchivePayload {
1061 /// The identifier of the last sync operation.
1062 pub last_sync_id: Option<f64>,
1063 /// Whether the operation was successful.
1064 pub success: Option<bool>,
1065 /// The archived/unarchived entity. Null if entity was deleted.
1066 pub entity: Option<Box<CustomerNeed>>,
1067}
1068#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1069#[serde(rename_all = "camelCase", default)]
1070pub struct CustomerNeedConnection {
1071 pub edges: Option<Box<Vec<CustomerNeedEdge>>>,
1072 pub nodes: Option<Box<Vec<CustomerNeed>>>,
1073 pub page_info: Option<Box<PageInfo>>,
1074}
1075#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1076#[serde(rename_all = "camelCase", default)]
1077pub struct CustomerNeedEdge {
1078 pub node: Option<Box<CustomerNeed>>,
1079 /// Used in `before` and `after` args
1080 pub cursor: Option<String>,
1081}
1082/// A customer need related notification.
1083#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1084#[serde(rename_all = "camelCase", default)]
1085pub struct CustomerNeedNotification {
1086 /// The unique identifier of the entity.
1087 pub id: Option<String>,
1088 /// The time at which the entity was created.
1089 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1090 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1091 /// been updated after creation.
1092 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1093 /// The time at which the entity was archived. Null if the entity has not been archived.
1094 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1095 /// Notification type.
1096 pub r#type: Option<String>,
1097 /// The user that caused the notification.
1098 pub actor: Option<Box<User>>,
1099 /// The external user that caused the notification.
1100 pub external_user_actor: Option<Box<ExternalUser>>,
1101 /// The user that received the notification.
1102 pub user: Option<Box<User>>,
1103 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1104 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1105 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1106 /// reminder has been sent.
1107 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1108 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1109 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1110 /// The time at which a notification was unsnoozed..
1111 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1112 /// The category of the notification.
1113 pub category: Option<NotificationCategory>,
1114 /// `Internal` URL to the target of the notification.
1115 pub url: Option<String>,
1116 /// `Internal` Inbox URL for the notification.
1117 pub inbox_url: Option<String>,
1118 /// `Internal` Notification title.
1119 pub title: Option<String>,
1120 /// `Internal` Notification subtitle.
1121 pub subtitle: Option<String>,
1122 /// `Internal` If notification actor was Linear.
1123 pub is_linear_actor: Option<bool>,
1124 /// `Internal` Notification avatar URL.
1125 pub actor_avatar_url: Option<String>,
1126 /// `Internal` Notification actor initials if avatar is not available.
1127 pub actor_initials: Option<String>,
1128 /// `Internal` Notification actor initials if avatar is not available.
1129 pub actor_avatar_color: Option<String>,
1130 /// `Internal` Issue's status type for issue notifications.
1131 pub issue_status_type: Option<String>,
1132 /// `Internal` Project update health for new updates.
1133 pub project_update_health: Option<String>,
1134 /// `Internal` Initiative update health for new updates.
1135 pub initiative_update_health: Option<String>,
1136 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1137 pub grouping_key: Option<String>,
1138 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1139 pub grouping_priority: Option<f64>,
1140 /// The bot that caused the notification.
1141 pub bot_actor: Option<Box<ActorBot>>,
1142 /// Related customer need.
1143 pub customer_need_id: Option<String>,
1144 /// The issue related to the notification.
1145 pub related_issue: Option<Box<Issue>>,
1146 /// The project related to the notification.
1147 pub related_project: Option<Box<Project>>,
1148 /// The customer need related to the notification.
1149 pub customer_need: Option<Box<CustomerNeed>>,
1150}
1151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1152#[serde(rename_all = "camelCase", default)]
1153pub struct CustomerNeedPayload {
1154 /// The identifier of the last sync operation.
1155 pub last_sync_id: Option<f64>,
1156 /// The customer need that was created or updated.
1157 pub need: Option<Box<CustomerNeed>>,
1158 /// Whether the operation was successful.
1159 pub success: Option<bool>,
1160}
1161#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1162#[serde(rename_all = "camelCase", default)]
1163pub struct CustomerNeedUpdatePayload {
1164 /// The identifier of the last sync operation.
1165 pub last_sync_id: Option<f64>,
1166 /// The customer need that was created or updated.
1167 pub need: Option<Box<CustomerNeed>>,
1168 /// Whether the operation was successful.
1169 pub success: Option<bool>,
1170 /// The related customer needs that were updated.
1171 pub updated_related_needs: Option<Box<Vec<CustomerNeed>>>,
1172}
1173/// A customer related notification.
1174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1175#[serde(rename_all = "camelCase", default)]
1176pub struct CustomerNotification {
1177 /// The unique identifier of the entity.
1178 pub id: Option<String>,
1179 /// The time at which the entity was created.
1180 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1181 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1182 /// been updated after creation.
1183 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1184 /// The time at which the entity was archived. Null if the entity has not been archived.
1185 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1186 /// Notification type.
1187 pub r#type: Option<String>,
1188 /// The user that caused the notification.
1189 pub actor: Option<Box<User>>,
1190 /// The external user that caused the notification.
1191 pub external_user_actor: Option<Box<ExternalUser>>,
1192 /// The user that received the notification.
1193 pub user: Option<Box<User>>,
1194 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1195 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1196 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1197 /// reminder has been sent.
1198 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1199 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1200 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1201 /// The time at which a notification was unsnoozed..
1202 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1203 /// The category of the notification.
1204 pub category: Option<NotificationCategory>,
1205 /// `Internal` URL to the target of the notification.
1206 pub url: Option<String>,
1207 /// `Internal` Inbox URL for the notification.
1208 pub inbox_url: Option<String>,
1209 /// `Internal` Notification title.
1210 pub title: Option<String>,
1211 /// `Internal` Notification subtitle.
1212 pub subtitle: Option<String>,
1213 /// `Internal` If notification actor was Linear.
1214 pub is_linear_actor: Option<bool>,
1215 /// `Internal` Notification avatar URL.
1216 pub actor_avatar_url: Option<String>,
1217 /// `Internal` Notification actor initials if avatar is not available.
1218 pub actor_initials: Option<String>,
1219 /// `Internal` Notification actor initials if avatar is not available.
1220 pub actor_avatar_color: Option<String>,
1221 /// `Internal` Issue's status type for issue notifications.
1222 pub issue_status_type: Option<String>,
1223 /// `Internal` Project update health for new updates.
1224 pub project_update_health: Option<String>,
1225 /// `Internal` Initiative update health for new updates.
1226 pub initiative_update_health: Option<String>,
1227 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1228 pub grouping_key: Option<String>,
1229 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1230 pub grouping_priority: Option<f64>,
1231 /// The bot that caused the notification.
1232 pub bot_actor: Option<Box<ActorBot>>,
1233 /// Related customer.
1234 pub customer_id: Option<String>,
1235 /// The customer related to the notification.
1236 pub customer: Option<Box<Customer>>,
1237}
1238/// A customer notification subscription.
1239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1240#[serde(rename_all = "camelCase", default)]
1241pub struct CustomerNotificationSubscription {
1242 /// The unique identifier of the entity.
1243 pub id: Option<String>,
1244 /// The time at which the entity was created.
1245 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1246 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1247 /// been updated after creation.
1248 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1249 /// The time at which the entity was archived. Null if the entity has not been archived.
1250 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1251 /// The user that subscribed to receive notifications.
1252 pub subscriber: Option<Box<User>>,
1253 /// The customer subscribed to.
1254 pub customer: Option<Box<Customer>>,
1255 /// The contextual custom view associated with the notification subscription.
1256 pub custom_view: Option<Box<CustomView>>,
1257 /// The contextual cycle view associated with the notification subscription.
1258 pub cycle: Option<Box<Cycle>>,
1259 /// The contextual label view associated with the notification subscription.
1260 pub label: Option<Box<IssueLabel>>,
1261 /// The contextual project view associated with the notification subscription.
1262 pub project: Option<Box<Project>>,
1263 /// The contextual initiative view associated with the notification subscription.
1264 pub initiative: Option<Box<Initiative>>,
1265 /// The team associated with the notification subscription.
1266 pub team: Option<Box<Team>>,
1267 /// The user view associated with the notification subscription.
1268 pub user: Option<Box<User>>,
1269 /// The type of view to which the notification subscription context is associated with.
1270 pub context_view_type: Option<ContextViewType>,
1271 /// The type of user view to which the notification subscription context is associated with.
1272 pub user_context_view_type: Option<UserContextViewType>,
1273 /// Whether the subscription is active or not.
1274 pub active: Option<bool>,
1275 /// The type of subscription.
1276 pub notification_subscription_types: Option<Vec<String>>,
1277}
1278#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1279#[serde(rename_all = "camelCase", default)]
1280pub struct CustomerPayload {
1281 /// The identifier of the last sync operation.
1282 pub last_sync_id: Option<f64>,
1283 /// The customer that was created or updated.
1284 pub customer: Option<Box<Customer>>,
1285 /// Whether the operation was successful.
1286 pub success: Option<bool>,
1287}
1288/// A customer status.
1289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1290#[serde(rename_all = "camelCase", default)]
1291pub struct CustomerStatus {
1292 /// The unique identifier of the entity.
1293 pub id: Option<String>,
1294 /// The time at which the entity was created.
1295 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1296 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1297 /// been updated after creation.
1298 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1299 /// The time at which the entity was archived. Null if the entity has not been archived.
1300 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1301 /// The name of the status.
1302 pub name: Option<String>,
1303 /// The UI color of the status as a HEX string.
1304 pub color: Option<String>,
1305 /// Description of the status.
1306 pub description: Option<String>,
1307 /// The position of the status in the workspace's customers flow.
1308 pub position: Option<f64>,
1309 /// The display name of the status.
1310 pub display_name: Option<String>,
1311 /// The type of the customer status.
1312 pub r#type: Option<CustomerStatusType>,
1313}
1314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1315#[serde(rename_all = "camelCase", default)]
1316pub struct CustomerStatusConnection {
1317 pub edges: Option<Box<Vec<CustomerStatusEdge>>>,
1318 pub nodes: Option<Box<Vec<CustomerStatus>>>,
1319 pub page_info: Option<Box<PageInfo>>,
1320}
1321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1322#[serde(rename_all = "camelCase", default)]
1323pub struct CustomerStatusEdge {
1324 pub node: Option<Box<CustomerStatus>>,
1325 /// Used in `before` and `after` args
1326 pub cursor: Option<String>,
1327}
1328#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1329#[serde(rename_all = "camelCase", default)]
1330pub struct CustomerStatusPayload {
1331 /// The identifier of the last sync operation.
1332 pub last_sync_id: Option<f64>,
1333 /// The customer status that was created or updated.
1334 pub status: Option<Box<CustomerStatus>>,
1335 /// Whether the operation was successful.
1336 pub success: Option<bool>,
1337}
1338/// A customer tier.
1339#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1340#[serde(rename_all = "camelCase", default)]
1341pub struct CustomerTier {
1342 /// The unique identifier of the entity.
1343 pub id: Option<String>,
1344 /// The time at which the entity was created.
1345 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1346 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1347 /// been updated after creation.
1348 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1349 /// The time at which the entity was archived. Null if the entity has not been archived.
1350 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1351 /// The name of the tier.
1352 pub name: Option<String>,
1353 /// The UI color of the tier as a HEX string.
1354 pub color: Option<String>,
1355 /// Description of the tier.
1356 pub description: Option<String>,
1357 /// The position of the tier in the workspace's customers flow.
1358 pub position: Option<f64>,
1359 /// The display name of the tier.
1360 pub display_name: Option<String>,
1361}
1362#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1363#[serde(rename_all = "camelCase", default)]
1364pub struct CustomerTierConnection {
1365 pub edges: Option<Box<Vec<CustomerTierEdge>>>,
1366 pub nodes: Option<Box<Vec<CustomerTier>>>,
1367 pub page_info: Option<Box<PageInfo>>,
1368}
1369#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1370#[serde(rename_all = "camelCase", default)]
1371pub struct CustomerTierEdge {
1372 pub node: Option<Box<CustomerTier>>,
1373 /// Used in `before` and `after` args
1374 pub cursor: Option<String>,
1375}
1376#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1377#[serde(rename_all = "camelCase", default)]
1378pub struct CustomerTierPayload {
1379 /// The identifier of the last sync operation.
1380 pub last_sync_id: Option<f64>,
1381 /// The customer tier that was created or updated.
1382 pub tier: Option<Box<CustomerTier>>,
1383 /// Whether the operation was successful.
1384 pub success: Option<bool>,
1385}
1386/// A set of issues to be resolved in a specified amount of time.
1387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1388#[serde(rename_all = "camelCase", default)]
1389pub struct Cycle {
1390 /// The unique identifier of the entity.
1391 pub id: Option<String>,
1392 /// The time at which the entity was created.
1393 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1394 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1395 /// been updated after creation.
1396 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1397 /// The time at which the entity was archived. Null if the entity has not been archived.
1398 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1399 /// The number of the cycle.
1400 pub number: Option<f64>,
1401 /// The custom name of the cycle.
1402 pub name: Option<String>,
1403 /// The cycle's description.
1404 pub description: Option<String>,
1405 /// The start time of the cycle.
1406 pub starts_at: Option<chrono::DateTime<chrono::Utc>>,
1407 /// The end time of the cycle.
1408 pub ends_at: Option<chrono::DateTime<chrono::Utc>>,
1409 /// The completion time of the cycle. If null, the cycle hasn't been completed.
1410 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
1411 /// The time at which the cycle was automatically archived by the auto pruning process.
1412 pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
1413 /// The total number of issues in the cycle after each day.
1414 pub issue_count_history: Option<Vec<f64>>,
1415 /// The number of completed issues in the cycle after each day.
1416 pub completed_issue_count_history: Option<Vec<f64>>,
1417 /// The total number of estimation points after each day.
1418 pub scope_history: Option<Vec<f64>>,
1419 /// The number of completed estimation points after each day.
1420 pub completed_scope_history: Option<Vec<f64>>,
1421 /// The number of in progress estimation points after each day.
1422 pub in_progress_scope_history: Option<Vec<f64>>,
1423 /// The team that the cycle is associated with.
1424 pub team: Option<Box<Team>>,
1425 /// `Internal` The progress history of the cycle.
1426 pub progress_history: Option<serde_json::Value>,
1427 /// `Internal` The current progress of the cycle.
1428 pub current_progress: Option<serde_json::Value>,
1429 /// The cycle inherited from.
1430 pub inherited_from: Option<Box<Cycle>>,
1431 /// Whether the cycle is currently active.
1432 pub is_active: Option<bool>,
1433 /// Whether the cycle is in the future.
1434 pub is_future: Option<bool>,
1435 /// Whether the cycle is in the past.
1436 pub is_past: Option<bool>,
1437 /// Issues associated with the cycle.
1438 pub issues: Option<Box<IssueConnection>>,
1439 /// Issues that weren't completed when the cycle was closed.
1440 pub uncompleted_issues_upon_close: Option<Box<IssueConnection>>,
1441 /// The overall progress of the cycle. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
1442 pub progress: Option<f64>,
1443 /// Whether the cycle is the next cycle for the team.
1444 pub is_next: Option<bool>,
1445 /// Whether the cycle is the previous cycle for the team.
1446 pub is_previous: Option<bool>,
1447 /// `Internal` Documents associated with the cycle.
1448 pub documents: Option<Box<DocumentConnection>>,
1449 /// `Internal` Links associated with the cycle.
1450 pub links: Option<Box<EntityExternalLinkConnection>>,
1451}
1452/// A generic payload return from entity archive mutations.
1453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1454#[serde(rename_all = "camelCase", default)]
1455pub struct CycleArchivePayload {
1456 /// The identifier of the last sync operation.
1457 pub last_sync_id: Option<f64>,
1458 /// Whether the operation was successful.
1459 pub success: Option<bool>,
1460 /// The archived/unarchived entity. Null if entity was deleted.
1461 pub entity: Option<Box<Cycle>>,
1462}
1463#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1464#[serde(rename_all = "camelCase", default)]
1465pub struct CycleConnection {
1466 pub edges: Option<Box<Vec<CycleEdge>>>,
1467 pub nodes: Option<Box<Vec<Cycle>>>,
1468 pub page_info: Option<Box<PageInfo>>,
1469}
1470#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1471#[serde(rename_all = "camelCase", default)]
1472pub struct CycleEdge {
1473 pub node: Option<Box<Cycle>>,
1474 /// Used in `before` and `after` args
1475 pub cursor: Option<String>,
1476}
1477/// A cycle notification subscription.
1478#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1479#[serde(rename_all = "camelCase", default)]
1480pub struct CycleNotificationSubscription {
1481 /// The unique identifier of the entity.
1482 pub id: Option<String>,
1483 /// The time at which the entity was created.
1484 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1485 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1486 /// been updated after creation.
1487 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1488 /// The time at which the entity was archived. Null if the entity has not been archived.
1489 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1490 /// The user that subscribed to receive notifications.
1491 pub subscriber: Option<Box<User>>,
1492 /// The customer associated with the notification subscription.
1493 pub customer: Option<Box<Customer>>,
1494 /// The contextual custom view associated with the notification subscription.
1495 pub custom_view: Option<Box<CustomView>>,
1496 /// The cycle subscribed to.
1497 pub cycle: Option<Box<Cycle>>,
1498 /// The contextual label view associated with the notification subscription.
1499 pub label: Option<Box<IssueLabel>>,
1500 /// The contextual project view associated with the notification subscription.
1501 pub project: Option<Box<Project>>,
1502 /// The contextual initiative view associated with the notification subscription.
1503 pub initiative: Option<Box<Initiative>>,
1504 /// The team associated with the notification subscription.
1505 pub team: Option<Box<Team>>,
1506 /// The user view associated with the notification subscription.
1507 pub user: Option<Box<User>>,
1508 /// The type of view to which the notification subscription context is associated with.
1509 pub context_view_type: Option<ContextViewType>,
1510 /// The type of user view to which the notification subscription context is associated with.
1511 pub user_context_view_type: Option<UserContextViewType>,
1512 /// Whether the subscription is active or not.
1513 pub active: Option<bool>,
1514 /// The type of subscription.
1515 pub notification_subscription_types: Option<Vec<String>>,
1516}
1517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1518#[serde(rename_all = "camelCase", default)]
1519pub struct CyclePayload {
1520 /// The identifier of the last sync operation.
1521 pub last_sync_id: Option<f64>,
1522 /// The Cycle that was created or updated.
1523 pub cycle: Option<Box<Cycle>>,
1524 /// Whether the operation was successful.
1525 pub success: Option<bool>,
1526}
1527/// `Internal` A dashboard, usually a collection of widgets to display several insights at once.
1528#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1529#[serde(rename_all = "camelCase", default)]
1530pub struct Dashboard {
1531 /// The unique identifier of the entity.
1532 pub id: Option<String>,
1533 /// The time at which the entity was created.
1534 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1535 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1536 /// been updated after creation.
1537 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1538 /// The time at which the entity was archived. Null if the entity has not been archived.
1539 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1540 /// The dashboard's unique URL slug.
1541 pub slug_id: Option<String>,
1542 /// The name of the dashboard.
1543 pub name: Option<String>,
1544 /// The description of the dashboard.
1545 pub description: Option<String>,
1546 /// The icon of the dashboard.
1547 pub icon: Option<String>,
1548 /// The color of the icon of the dashboard.
1549 pub color: Option<String>,
1550 /// The sort order of the dashboard within the organization or its team.
1551 pub sort_order: Option<f64>,
1552 /// Whether the dashboard is shared with everyone in the organization.
1553 pub shared: Option<bool>,
1554 /// The organization of the dashboard.
1555 pub organization: Option<Box<Organization>>,
1556 /// The user who created the dashboard.
1557 pub creator: Option<Box<User>>,
1558 /// The user who last updated the dashboard.
1559 pub updated_by: Option<Box<User>>,
1560 /// The owner of the dashboard.
1561 pub owner: Option<Box<User>>,
1562 /// The filter applied to all dashboard widgets showing issues data.
1563 pub issue_filter: Option<serde_json::Value>,
1564 /// The filter applied to all dashboard widgets showing projects data.
1565 pub project_filter: Option<serde_json::Value>,
1566 /// The widgets on the dashboard.
1567 pub widgets: Option<serde_json::Value>,
1568}
1569/// A generic payload return from entity deletion mutations.
1570#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1571#[serde(rename_all = "camelCase", default)]
1572pub struct DeletePayload {
1573 /// The identifier of the last sync operation.
1574 pub last_sync_id: Option<f64>,
1575 /// Whether the operation was successful.
1576 pub success: Option<bool>,
1577 /// The identifier of the deleted entity.
1578 pub entity_id: Option<String>,
1579}
1580/// A document that can be attached to different entities.
1581#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1582#[serde(rename_all = "camelCase", default)]
1583pub struct Document {
1584 /// The unique identifier of the entity.
1585 pub id: Option<String>,
1586 /// The time at which the entity was created.
1587 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1588 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1589 /// been updated after creation.
1590 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1591 /// The time at which the entity was archived. Null if the entity has not been archived.
1592 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1593 /// The document title.
1594 pub title: Option<String>,
1595 /// The icon of the document.
1596 pub icon: Option<String>,
1597 /// The color of the icon.
1598 pub color: Option<String>,
1599 /// The user who created the document.
1600 pub creator: Option<Box<User>>,
1601 /// The user who last updated the document.
1602 pub updated_by: Option<Box<User>>,
1603 /// The project that the document is associated with.
1604 pub project: Option<Box<Project>>,
1605 /// The initiative that the document is associated with.
1606 pub initiative: Option<Box<Initiative>>,
1607 /// `Internal` The team that the document is associated with.
1608 pub team: Option<Box<Team>>,
1609 /// The issue that the document is associated with.
1610 pub issue: Option<Box<Issue>>,
1611 /// `Internal` The release that the document is associated with.
1612 pub release: Option<Box<Release>>,
1613 /// `Internal` The cycle that the document is associated with.
1614 pub cycle: Option<Box<Cycle>>,
1615 /// The document's unique URL slug.
1616 pub slug_id: Option<String>,
1617 /// The last template that was applied to this document.
1618 pub last_applied_template: Option<Box<Template>>,
1619 /// The time at which the document was hidden. Null if the entity has not been hidden.
1620 pub hidden_at: Option<chrono::DateTime<chrono::Utc>>,
1621 /// A flag that indicates whether the document is in the trash bin.
1622 pub trashed: Option<bool>,
1623 /// The order of the item in the resources list.
1624 pub sort_order: Option<f64>,
1625 /// Comments associated with the document.
1626 pub comments: Option<Box<CommentConnection>>,
1627 /// The documents content in markdown format.
1628 pub content: Option<String>,
1629 /// `Internal` The documents content as YJS state.
1630 pub content_state: Option<String>,
1631 /// The ID of the document content associated with the document.
1632 pub document_content_id: Option<String>,
1633 /// The canonical url for the document.
1634 pub url: Option<String>,
1635}
1636/// A generic payload return from entity archive mutations.
1637#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1638#[serde(rename_all = "camelCase", default)]
1639pub struct DocumentArchivePayload {
1640 /// The identifier of the last sync operation.
1641 pub last_sync_id: Option<f64>,
1642 /// Whether the operation was successful.
1643 pub success: Option<bool>,
1644 /// The archived/unarchived entity. Null if entity was deleted.
1645 pub entity: Option<Box<Document>>,
1646}
1647#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1648#[serde(rename_all = "camelCase", default)]
1649pub struct DocumentConnection {
1650 pub edges: Option<Box<Vec<DocumentEdge>>>,
1651 pub nodes: Option<Box<Vec<Document>>>,
1652 pub page_info: Option<Box<PageInfo>>,
1653}
1654/// A document content for a project.
1655#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1656#[serde(rename_all = "camelCase", default)]
1657pub struct DocumentContent {
1658 /// The unique identifier of the entity.
1659 pub id: Option<String>,
1660 /// The time at which the entity was created.
1661 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1662 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1663 /// been updated after creation.
1664 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1665 /// The time at which the entity was archived. Null if the entity has not been archived.
1666 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1667 /// The document content in markdown format.
1668 pub content: Option<String>,
1669 /// The document content state as a base64 encoded string.
1670 pub content_state: Option<String>,
1671 /// The issue that the content is associated with.
1672 pub issue: Option<Box<Issue>>,
1673 /// `Internal` The pull request that the content is associated with.
1674 pub pull_request: Option<Box<PullRequest>>,
1675 /// The project that the content is associated with.
1676 pub project: Option<Box<Project>>,
1677 /// The initiative that the content is associated with.
1678 pub initiative: Option<Box<Initiative>>,
1679 /// The project milestone that the content is associated with.
1680 pub project_milestone: Option<Box<ProjectMilestone>>,
1681 /// The document that the content is associated with.
1682 pub document: Option<Box<Document>>,
1683 /// The AI prompt rules that the content is associated with.
1684 pub ai_prompt_rules: Option<Box<AiPromptRules>>,
1685 /// The welcome message that the content is associated with.
1686 pub welcome_message: Option<Box<WelcomeMessage>>,
1687 /// The time at which the document content was restored from a previous version.
1688 pub restored_at: Option<chrono::DateTime<chrono::Utc>>,
1689}
1690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1691#[serde(rename_all = "camelCase", default)]
1692pub struct DocumentContentHistoryPayload {
1693 /// The document content history entries.
1694 pub history: Option<Box<Vec<DocumentContentHistoryType>>>,
1695 /// Whether the operation was successful.
1696 pub success: Option<bool>,
1697}
1698#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1699#[serde(rename_all = "camelCase", default)]
1700pub struct DocumentContentHistoryType {
1701 /// The UUID of the document content history entry.
1702 pub id: Option<String>,
1703 /// The date when the document content history entry was created.
1704 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1705 /// The date when the document content history snapshot was taken. This can be different than createdAt since the content is captured from its state at the previously known updatedAt timestamp in the case of an update. On document create, these timestamps can be the same.
1706 pub content_data_snapshot_at: Option<chrono::DateTime<chrono::Utc>>,
1707 /// `Internal` The document content as Prosemirror document.
1708 pub content_data: Option<serde_json::Value>,
1709 /// The ID of the author of the change.
1710 pub actor_ids: Option<Vec<String>>,
1711}
1712#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1713#[serde(rename_all = "camelCase", default)]
1714pub struct DocumentEdge {
1715 pub node: Option<Box<Document>>,
1716 /// Used in `before` and `after` args
1717 pub cursor: Option<String>,
1718}
1719/// A document related notification.
1720#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1721#[serde(rename_all = "camelCase", default)]
1722pub struct DocumentNotification {
1723 /// Related comment ID. Null if the notification is not related to a comment.
1724 pub comment_id: Option<String>,
1725 /// Related parent comment ID. Null if the notification is not related to a comment.
1726 pub parent_comment_id: Option<String>,
1727 /// Name of the reaction emoji related to the notification.
1728 pub reaction_emoji: Option<String>,
1729 /// The unique identifier of the entity.
1730 pub id: Option<String>,
1731 /// The time at which the entity was created.
1732 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1733 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1734 /// been updated after creation.
1735 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1736 /// The time at which the entity was archived. Null if the entity has not been archived.
1737 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1738 /// Notification type.
1739 pub r#type: Option<String>,
1740 /// The user that caused the notification.
1741 pub actor: Option<Box<User>>,
1742 /// The external user that caused the notification.
1743 pub external_user_actor: Option<Box<ExternalUser>>,
1744 /// The user that received the notification.
1745 pub user: Option<Box<User>>,
1746 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1747 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1748 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1749 /// reminder has been sent.
1750 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1751 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1752 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1753 /// The time at which a notification was unsnoozed..
1754 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1755 /// The category of the notification.
1756 pub category: Option<NotificationCategory>,
1757 /// `Internal` URL to the target of the notification.
1758 pub url: Option<String>,
1759 /// `Internal` Inbox URL for the notification.
1760 pub inbox_url: Option<String>,
1761 /// `Internal` Notification title.
1762 pub title: Option<String>,
1763 /// `Internal` Notification subtitle.
1764 pub subtitle: Option<String>,
1765 /// `Internal` If notification actor was Linear.
1766 pub is_linear_actor: Option<bool>,
1767 /// `Internal` Notification avatar URL.
1768 pub actor_avatar_url: Option<String>,
1769 /// `Internal` Notification actor initials if avatar is not available.
1770 pub actor_initials: Option<String>,
1771 /// `Internal` Notification actor initials if avatar is not available.
1772 pub actor_avatar_color: Option<String>,
1773 /// `Internal` Issue's status type for issue notifications.
1774 pub issue_status_type: Option<String>,
1775 /// `Internal` Project update health for new updates.
1776 pub project_update_health: Option<String>,
1777 /// `Internal` Initiative update health for new updates.
1778 pub initiative_update_health: Option<String>,
1779 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1780 pub grouping_key: Option<String>,
1781 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1782 pub grouping_priority: Option<f64>,
1783 /// The bot that caused the notification.
1784 pub bot_actor: Option<Box<ActorBot>>,
1785 /// Related document ID.
1786 pub document_id: Option<String>,
1787}
1788#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1789#[serde(rename_all = "camelCase", default)]
1790pub struct DocumentPayload {
1791 /// The identifier of the last sync operation.
1792 pub last_sync_id: Option<f64>,
1793 /// The document that was created or updated.
1794 pub document: Option<Box<Document>>,
1795 /// Whether the operation was successful.
1796 pub success: Option<bool>,
1797}
1798#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1799#[serde(rename_all = "camelCase", default)]
1800pub struct DocumentSearchPayload {
1801 pub edges: Option<Box<Vec<DocumentSearchResultEdge>>>,
1802 pub nodes: Option<Box<Vec<DocumentSearchResult>>>,
1803 pub page_info: Option<Box<PageInfo>>,
1804 /// Archived entities matching the search term along with all their dependencies.
1805 pub archive_payload: Option<Box<ArchiveResponse>>,
1806 /// Total number of results for query without filters applied.
1807 pub total_count: Option<f64>,
1808}
1809#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1810#[serde(rename_all = "camelCase", default)]
1811pub struct DocumentSearchResult {
1812 /// The unique identifier of the entity.
1813 pub id: Option<String>,
1814 /// The time at which the entity was created.
1815 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1816 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1817 /// been updated after creation.
1818 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1819 /// The time at which the entity was archived. Null if the entity has not been archived.
1820 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1821 /// The document title.
1822 pub title: Option<String>,
1823 /// The icon of the document.
1824 pub icon: Option<String>,
1825 /// The color of the icon.
1826 pub color: Option<String>,
1827 /// The user who created the document.
1828 pub creator: Option<Box<User>>,
1829 /// The user who last updated the document.
1830 pub updated_by: Option<Box<User>>,
1831 /// The project that the document is associated with.
1832 pub project: Option<Box<Project>>,
1833 /// The initiative that the document is associated with.
1834 pub initiative: Option<Box<Initiative>>,
1835 /// `Internal` The team that the document is associated with.
1836 pub team: Option<Box<Team>>,
1837 /// The issue that the document is associated with.
1838 pub issue: Option<Box<Issue>>,
1839 /// `Internal` The release that the document is associated with.
1840 pub release: Option<Box<Release>>,
1841 /// `Internal` The cycle that the document is associated with.
1842 pub cycle: Option<Box<Cycle>>,
1843 /// The document's unique URL slug.
1844 pub slug_id: Option<String>,
1845 /// The last template that was applied to this document.
1846 pub last_applied_template: Option<Box<Template>>,
1847 /// The time at which the document was hidden. Null if the entity has not been hidden.
1848 pub hidden_at: Option<chrono::DateTime<chrono::Utc>>,
1849 /// A flag that indicates whether the document is in the trash bin.
1850 pub trashed: Option<bool>,
1851 /// The order of the item in the resources list.
1852 pub sort_order: Option<f64>,
1853 /// Comments associated with the document.
1854 pub comments: Option<Box<CommentConnection>>,
1855 /// The documents content in markdown format.
1856 pub content: Option<String>,
1857 /// `Internal` The documents content as YJS state.
1858 pub content_state: Option<String>,
1859 /// The ID of the document content associated with the document.
1860 pub document_content_id: Option<String>,
1861 /// The canonical url for the document.
1862 pub url: Option<String>,
1863 /// Metadata related to search result.
1864 pub metadata: Option<serde_json::Value>,
1865}
1866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1867#[serde(rename_all = "camelCase", default)]
1868pub struct DocumentSearchResultEdge {
1869 pub node: Option<Box<DocumentSearchResult>>,
1870 /// Used in `before` and `after` args
1871 pub cursor: Option<String>,
1872}
1873/// A general purpose draft. Used for comments, project updates, etc.
1874#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1875#[serde(rename_all = "camelCase", default)]
1876pub struct Draft {
1877 /// The unique identifier of the entity.
1878 pub id: Option<String>,
1879 /// The time at which the entity was created.
1880 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1881 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1882 /// been updated after creation.
1883 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1884 /// The time at which the entity was archived. Null if the entity has not been archived.
1885 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1886 /// The text content as a Prosemirror document.
1887 pub body_data: Option<serde_json::Value>,
1888 /// Additional properties for the draft.
1889 pub data: Option<serde_json::Value>,
1890 /// Whether the draft was autogenerated for the user.
1891 pub is_autogenerated: Option<bool>,
1892 /// `INTERNAL` Whether the draft was ported from a local draft.
1893 pub was_local_draft: Option<bool>,
1894 /// The user who created the draft.
1895 pub user: Option<Box<User>>,
1896 /// The issue for which this is a draft comment.
1897 pub issue: Option<Box<Issue>>,
1898 /// The project for which this is a draft project update.
1899 pub project: Option<Box<Project>>,
1900 /// The project update for which this is a draft comment.
1901 pub project_update: Option<Box<ProjectUpdate>>,
1902 /// The initiative for which this is a draft initiative update.
1903 pub initiative: Option<Box<Initiative>>,
1904 /// The initiative update for which this is a draft comment.
1905 pub initiative_update: Option<Box<InitiativeUpdate>>,
1906 /// The post for which this is a draft comment.
1907 pub post: Option<Box<Post>>,
1908 /// The comment for which this is a draft comment reply.
1909 pub parent_comment: Option<Box<Comment>>,
1910 /// The customer need that this draft is referencing.
1911 pub customer_need: Option<Box<CustomerNeed>>,
1912 /// `INTERNAL` Allows for multiple drafts per entity (currently constrained to Pull Requests).
1913 pub anchor: Option<String>,
1914 /// The team for which this is a draft post.
1915 pub team: Option<Box<Team>>,
1916}
1917#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1918#[serde(rename_all = "camelCase", default)]
1919pub struct DraftConnection {
1920 pub edges: Option<Box<Vec<DraftEdge>>>,
1921 pub nodes: Option<Box<Vec<Draft>>>,
1922 pub page_info: Option<Box<PageInfo>>,
1923}
1924#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1925#[serde(rename_all = "camelCase", default)]
1926pub struct DraftEdge {
1927 pub node: Option<Box<Draft>>,
1928 /// Used in `before` and `after` args
1929 pub cursor: Option<String>,
1930}
1931/// An email address that can be used for submitting issues.
1932#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1933#[serde(rename_all = "camelCase", default)]
1934pub struct EmailIntakeAddress {
1935 /// The unique identifier of the entity.
1936 pub id: Option<String>,
1937 /// The time at which the entity was created.
1938 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1939 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1940 /// been updated after creation.
1941 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1942 /// The time at which the entity was archived. Null if the entity has not been archived.
1943 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1944 /// Unique email address user name (before @) used for incoming email.
1945 pub address: Option<String>,
1946 /// The type of the email address.
1947 pub r#type: Option<EmailIntakeAddressType>,
1948 /// The email address used to forward emails to the intake address.
1949 pub forwarding_email_address: Option<String>,
1950 /// The name to be used for outgoing emails.
1951 pub sender_name: Option<String>,
1952 /// Whether the email address is enabled.
1953 pub enabled: Option<bool>,
1954 /// Whether email replies are enabled.
1955 pub replies_enabled: Option<bool>,
1956 /// Whether the commenter's name is included in the email replies.
1957 pub use_user_names_in_replies: Option<bool>,
1958 /// The template that the email address is associated with.
1959 pub template: Option<Box<Template>>,
1960 /// The team that the email address is associated with.
1961 pub team: Option<Box<Team>>,
1962 /// The organization that the email address is associated with.
1963 pub organization: Option<Box<Organization>>,
1964 /// The SES domain identity that the email address is associated with.
1965 pub ses_domain_identity: Option<Box<SesDomainIdentity>>,
1966 /// The user who created the email intake address.
1967 pub creator: Option<Box<User>>,
1968 /// Whether issues created from that email address will be turned into customer requests.
1969 pub customer_requests_enabled: Option<bool>,
1970 /// The auto-reply message for issue created. If not set, the default reply will be used.
1971 pub issue_created_auto_reply: Option<String>,
1972 /// Whether the auto-reply for issue created is enabled.
1973 pub issue_created_auto_reply_enabled: Option<bool>,
1974 /// Whether the auto-reply for issue completed is enabled.
1975 pub issue_completed_auto_reply_enabled: Option<bool>,
1976 /// The auto-reply message for issue completed. If not set, the default reply will be used.
1977 pub issue_completed_auto_reply: Option<String>,
1978 /// Whether the auto-reply for issue canceled is enabled.
1979 pub issue_canceled_auto_reply_enabled: Option<bool>,
1980 /// The auto-reply message for issue canceled. If not set, the default reply will be used.
1981 pub issue_canceled_auto_reply: Option<String>,
1982}
1983#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1984#[serde(rename_all = "camelCase", default)]
1985pub struct EmailIntakeAddressPayload {
1986 /// The identifier of the last sync operation.
1987 pub last_sync_id: Option<f64>,
1988 /// The email address that was created or updated.
1989 pub email_intake_address: Option<Box<EmailIntakeAddress>>,
1990 /// Whether the operation was successful.
1991 pub success: Option<bool>,
1992}
1993#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1994#[serde(rename_all = "camelCase", default)]
1995pub struct EmailUnsubscribePayload {
1996 /// Whether the operation was successful.
1997 pub success: Option<bool>,
1998}
1999#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2000#[serde(rename_all = "camelCase", default)]
2001pub struct EmailUserAccountAuthChallengeResponse {
2002 /// Whether the operation was successful.
2003 pub success: Option<bool>,
2004 /// Supported challenge for this user account. Can be either verificationCode or password.
2005 pub auth_type: Option<String>,
2006}
2007/// A custom emoji.
2008#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2009#[serde(rename_all = "camelCase", default)]
2010pub struct Emoji {
2011 /// The unique identifier of the entity.
2012 pub id: Option<String>,
2013 /// The time at which the entity was created.
2014 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2015 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2016 /// been updated after creation.
2017 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2018 /// The time at which the entity was archived. Null if the entity has not been archived.
2019 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2020 /// The emoji's name.
2021 pub name: Option<String>,
2022 /// The emoji image URL.
2023 pub url: Option<String>,
2024 /// The source of the emoji.
2025 pub source: Option<String>,
2026 /// The user who created the emoji.
2027 pub creator: Option<Box<User>>,
2028 /// The organization that the emoji belongs to.
2029 pub organization: Option<Box<Organization>>,
2030}
2031#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2032#[serde(rename_all = "camelCase", default)]
2033pub struct EmojiConnection {
2034 pub edges: Option<Box<Vec<EmojiEdge>>>,
2035 pub nodes: Option<Box<Vec<Emoji>>>,
2036 pub page_info: Option<Box<PageInfo>>,
2037}
2038#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2039#[serde(rename_all = "camelCase", default)]
2040pub struct EmojiEdge {
2041 pub node: Option<Box<Emoji>>,
2042 /// Used in `before` and `after` args
2043 pub cursor: Option<String>,
2044}
2045#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2046#[serde(rename_all = "camelCase", default)]
2047pub struct EmojiPayload {
2048 /// The identifier of the last sync operation.
2049 pub last_sync_id: Option<f64>,
2050 /// The emoji that was created.
2051 pub emoji: Option<Box<Emoji>>,
2052 /// Whether the operation was successful.
2053 pub success: Option<bool>,
2054}
2055/// An external link for an entity like initiative, etc...
2056#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2057#[serde(rename_all = "camelCase", default)]
2058pub struct EntityExternalLink {
2059 /// The unique identifier of the entity.
2060 pub id: Option<String>,
2061 /// The time at which the entity was created.
2062 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2063 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2064 /// been updated after creation.
2065 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2066 /// The time at which the entity was archived. Null if the entity has not been archived.
2067 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2068 /// The link's URL.
2069 pub url: Option<String>,
2070 /// The link's label.
2071 pub label: Option<String>,
2072 /// The order of the item in the resources list.
2073 pub sort_order: Option<f64>,
2074 /// The user who created the link.
2075 pub creator: Option<Box<User>>,
2076 /// The initiative that the link is associated with.
2077 pub initiative: Option<Box<Initiative>>,
2078}
2079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2080#[serde(rename_all = "camelCase", default)]
2081pub struct EntityExternalLinkConnection {
2082 pub edges: Option<Box<Vec<EntityExternalLinkEdge>>>,
2083 pub nodes: Option<Box<Vec<EntityExternalLink>>>,
2084 pub page_info: Option<Box<PageInfo>>,
2085}
2086#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2087#[serde(rename_all = "camelCase", default)]
2088pub struct EntityExternalLinkEdge {
2089 pub node: Option<Box<EntityExternalLink>>,
2090 /// Used in `before` and `after` args
2091 pub cursor: Option<String>,
2092}
2093#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2094#[serde(rename_all = "camelCase", default)]
2095pub struct EntityExternalLinkPayload {
2096 /// The identifier of the last sync operation.
2097 pub last_sync_id: Option<f64>,
2098 /// The link that was created or updated.
2099 pub entity_external_link: Option<Box<EntityExternalLink>>,
2100 /// Whether the operation was successful.
2101 pub success: Option<bool>,
2102}
2103/// Information about an external entity.
2104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2105#[serde(rename_all = "camelCase", default)]
2106pub struct ExternalEntityInfo {
2107 /// The id of the external entity.
2108 pub id: Option<String>,
2109 /// The name of the service this entity is synced with.
2110 pub service: Option<ExternalSyncService>,
2111}
2112/// Metadata about the external GitHub entity.
2113#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2114#[serde(rename_all = "camelCase", default)]
2115pub struct ExternalEntityInfoGithubMetadata {
2116 /// The repository name.
2117 pub repo: Option<String>,
2118 /// The owner of the repository.
2119 pub owner: Option<String>,
2120 /// The number of the issue.
2121 pub number: Option<f64>,
2122}
2123/// Metadata about the external Jira entity.
2124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2125#[serde(rename_all = "camelCase", default)]
2126pub struct ExternalEntityInfoJiraMetadata {
2127 /// The key of the Jira issue.
2128 pub issue_key: Option<String>,
2129 /// The id of the Jira project.
2130 pub project_id: Option<String>,
2131 /// The id of the Jira issue type.
2132 pub issue_type_id: Option<String>,
2133}
2134/// Metadata about the external Slack entity.
2135#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2136#[serde(rename_all = "camelCase", default)]
2137pub struct ExternalEntitySlackMetadata {
2138 /// Whether the entity originated from Slack (not Linear).
2139 pub is_from_slack: Option<bool>,
2140 /// The id of the Slack channel.
2141 pub channel_id: Option<String>,
2142 /// The name of the Slack channel.
2143 pub channel_name: Option<String>,
2144 /// The URL of the Slack message.
2145 pub message_url: Option<String>,
2146}
2147/// An external authenticated (e.g., through Slack) user which doesn't have a Linear account, but can create and update entities in Linear from the external system that authenticated them.
2148#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2149#[serde(rename_all = "camelCase", default)]
2150pub struct ExternalUser {
2151 /// The unique identifier of the entity.
2152 pub id: Option<String>,
2153 /// The time at which the entity was created.
2154 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2155 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2156 /// been updated after creation.
2157 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2158 /// The time at which the entity was archived. Null if the entity has not been archived.
2159 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2160 /// The external user's full name.
2161 pub name: Option<String>,
2162 /// The external user's display name. Unique within each organization. Can match the display name of an actual user.
2163 pub display_name: Option<String>,
2164 /// The external user's email address.
2165 pub email: Option<String>,
2166 /// An URL to the external user's avatar image.
2167 pub avatar_url: Option<String>,
2168 /// Organization the external user belongs to.
2169 pub organization: Option<Box<Organization>>,
2170 /// The last time the external user was seen interacting with Linear.
2171 pub last_seen: Option<chrono::DateTime<chrono::Utc>>,
2172}
2173#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2174#[serde(rename_all = "camelCase", default)]
2175pub struct ExternalUserConnection {
2176 pub edges: Option<Box<Vec<ExternalUserEdge>>>,
2177 pub nodes: Option<Box<Vec<ExternalUser>>>,
2178 pub page_info: Option<Box<PageInfo>>,
2179}
2180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2181#[serde(rename_all = "camelCase", default)]
2182pub struct ExternalUserEdge {
2183 pub node: Option<Box<ExternalUser>>,
2184 /// Used in `before` and `after` args
2185 pub cursor: Option<String>,
2186}
2187/// A facet. Facets are joins between entities. A facet can tie a custom view to a project, or a a project to a roadmap for example.
2188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2189#[serde(rename_all = "camelCase", default)]
2190pub struct Facet {
2191 /// The unique identifier of the entity.
2192 pub id: Option<String>,
2193 /// The time at which the entity was created.
2194 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2195 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2196 /// been updated after creation.
2197 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2198 /// The time at which the entity was archived. Null if the entity has not been archived.
2199 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2200 /// The sort order of the facet.
2201 pub sort_order: Option<f64>,
2202 /// The owning organization.
2203 pub source_organization: Option<Box<Organization>>,
2204 /// The owning team.
2205 pub source_team: Option<Box<Team>>,
2206 /// The owning project.
2207 pub source_project: Option<Box<Project>>,
2208 /// The owning initiative.
2209 pub source_initiative: Option<Box<Initiative>>,
2210 /// The owning feed user.
2211 pub source_feed_user: Option<Box<User>>,
2212 /// The owning page.
2213 pub source_page: Option<FacetPageSource>,
2214 /// The targeted custom view.
2215 pub target_custom_view: Option<Box<CustomView>>,
2216}
2217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2218#[serde(rename_all = "camelCase", default)]
2219pub struct FacetConnection {
2220 pub edges: Option<Box<Vec<FacetEdge>>>,
2221 pub nodes: Option<Box<Vec<Facet>>>,
2222 pub page_info: Option<Box<PageInfo>>,
2223}
2224#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2225#[serde(rename_all = "camelCase", default)]
2226pub struct FacetEdge {
2227 pub node: Option<Box<Facet>>,
2228 /// Used in `before` and `after` args
2229 pub cursor: Option<String>,
2230}
2231/// User favorites presented in the sidebar.
2232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2233#[serde(rename_all = "camelCase", default)]
2234pub struct Favorite {
2235 /// The unique identifier of the entity.
2236 pub id: Option<String>,
2237 /// The time at which the entity was created.
2238 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2239 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2240 /// been updated after creation.
2241 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2242 /// The time at which the entity was archived. Null if the entity has not been archived.
2243 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2244 /// The type of the favorite.
2245 pub r#type: Option<String>,
2246 /// The parent folder of the favorite.
2247 pub parent: Option<Box<Favorite>>,
2248 /// The name of the folder. Only applies to favorites of type folder.
2249 pub folder_name: Option<String>,
2250 /// The targeted tab of the project.
2251 pub project_tab: Option<ProjectTab>,
2252 /// The type of favorited predefined view.
2253 pub predefined_view_type: Option<String>,
2254 /// The targeted tab of the initiative.
2255 pub initiative_tab: Option<InitiativeTab>,
2256 /// The owner of the favorite.
2257 pub owner: Option<Box<User>>,
2258 /// The order of the item in the favorites list.
2259 pub sort_order: Option<f64>,
2260 /// Children of the favorite. Only applies to favorites of type folder.
2261 pub children: Option<Box<FavoriteConnection>>,
2262 /// The favorited issue.
2263 pub issue: Option<Box<Issue>>,
2264 /// The favorited project.
2265 pub project: Option<Box<Project>>,
2266 /// `INTERNAL` The favorited facet.
2267 pub facet: Option<Box<Facet>>,
2268 /// `DEPRECATED` The favorited team of the project.
2269 pub project_team: Option<Box<Team>>,
2270 /// The favorited cycle.
2271 pub cycle: Option<Box<Cycle>>,
2272 /// The favorited custom view.
2273 pub custom_view: Option<Box<CustomView>>,
2274 /// The team of the favorited predefined view.
2275 pub predefined_view_team: Option<Box<Team>>,
2276 /// The favorited document.
2277 pub document: Option<Box<Document>>,
2278 /// The favorited initiative.
2279 pub initiative: Option<Box<Initiative>>,
2280 /// The favorited label.
2281 pub label: Option<Box<IssueLabel>>,
2282 /// The favorited project label.
2283 pub project_label: Option<Box<ProjectLabel>>,
2284 /// The favorited user.
2285 pub user: Option<Box<User>>,
2286 /// The favorited customer.
2287 pub customer: Option<Box<Customer>>,
2288 /// The favorited dashboard.
2289 pub dashboard: Option<Box<Dashboard>>,
2290 /// The favorited pull request.
2291 pub pull_request: Option<Box<PullRequest>>,
2292 /// `ALPHA` The favorited release.
2293 pub release: Option<Box<Release>>,
2294 /// `ALPHA` The favorited release pipeline.
2295 pub release_pipeline: Option<Box<ReleasePipeline>>,
2296 /// URL of the favorited entity. Folders return 'null' value.
2297 pub url: Option<String>,
2298 /// `Internal` Favorite's title text (name of the favorite'd object or folder).
2299 pub title: Option<String>,
2300 /// `Internal` Detail text for favorite's `title` (e.g. team's name for a project).
2301 pub detail: Option<String>,
2302 /// `Internal` Returns the color of the favorite's icon. Unavailable for avatars and views with fixed icons (e.g. cycle).
2303 pub color: Option<String>,
2304 /// `Internal` Name of the favorite's icon. Unavailable for standard views, issues, and avatars
2305 pub icon: Option<String>,
2306}
2307#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2308#[serde(rename_all = "camelCase", default)]
2309pub struct FavoriteConnection {
2310 pub edges: Option<Box<Vec<FavoriteEdge>>>,
2311 pub nodes: Option<Box<Vec<Favorite>>>,
2312 pub page_info: Option<Box<PageInfo>>,
2313}
2314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2315#[serde(rename_all = "camelCase", default)]
2316pub struct FavoriteEdge {
2317 pub node: Option<Box<Favorite>>,
2318 /// Used in `before` and `after` args
2319 pub cursor: Option<String>,
2320}
2321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2322#[serde(rename_all = "camelCase", default)]
2323pub struct FavoritePayload {
2324 /// The identifier of the last sync operation.
2325 pub last_sync_id: Option<f64>,
2326 /// The object that was added as a favorite.
2327 pub favorite: Option<Box<Favorite>>,
2328 /// Whether the operation was successful.
2329 pub success: Option<bool>,
2330}
2331/// `Internal` An item in a users feed.
2332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2333#[serde(rename_all = "camelCase", default)]
2334pub struct FeedItem {
2335 /// The unique identifier of the entity.
2336 pub id: Option<String>,
2337 /// The time at which the entity was created.
2338 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2339 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2340 /// been updated after creation.
2341 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2342 /// The time at which the entity was archived. Null if the entity has not been archived.
2343 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2344 /// The organization that will see this feed item.
2345 pub organization: Option<Box<Organization>>,
2346 /// The user that will see this feed item.
2347 pub user: Option<Box<User>>,
2348 /// The team that will see this feed item.
2349 pub team: Option<Box<Team>>,
2350 /// The project update that is in the feed.
2351 pub project_update: Option<Box<ProjectUpdate>>,
2352 /// The initiative update that is in the feed.
2353 pub initiative_update: Option<Box<InitiativeUpdate>>,
2354 /// The post that is in the feed.
2355 pub post: Option<Box<Post>>,
2356}
2357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2358#[serde(rename_all = "camelCase", default)]
2359pub struct FeedItemConnection {
2360 pub edges: Option<Box<Vec<FeedItemEdge>>>,
2361 pub nodes: Option<Box<Vec<FeedItem>>>,
2362 pub page_info: Option<Box<PageInfo>>,
2363}
2364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2365#[serde(rename_all = "camelCase", default)]
2366pub struct FeedItemEdge {
2367 pub node: Option<Box<FeedItem>>,
2368 /// Used in `before` and `after` args
2369 pub cursor: Option<String>,
2370}
2371#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2372#[serde(rename_all = "camelCase", default)]
2373pub struct FetchDataPayload {
2374 /// The fetched data based on the natural language query.
2375 pub data: Option<serde_json::Value>,
2376 /// The GraphQL query used to fetch the data.
2377 pub query: Option<String>,
2378 /// The filters used to fetch the data.
2379 pub filters: Option<serde_json::Value>,
2380 /// Whether the fetch operation was successful.
2381 pub success: Option<bool>,
2382}
2383#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2384#[serde(rename_all = "camelCase", default)]
2385pub struct FileUploadDeletePayload {
2386 /// Whether the operation was successful.
2387 pub success: Option<bool>,
2388}
2389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2390#[serde(rename_all = "camelCase", default)]
2391pub struct FrontAttachmentPayload {
2392 /// The identifier of the last sync operation.
2393 pub last_sync_id: Option<f64>,
2394 /// The issue attachment that was created.
2395 pub attachment: Option<Box<Attachment>>,
2396 /// Whether the operation was successful.
2397 pub success: Option<bool>,
2398}
2399/// A trigger that updates the issue status according to Git automations.
2400#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2401#[serde(rename_all = "camelCase", default)]
2402pub struct GitAutomationState {
2403 /// The unique identifier of the entity.
2404 pub id: Option<String>,
2405 /// The time at which the entity was created.
2406 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2407 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2408 /// been updated after creation.
2409 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2410 /// The time at which the entity was archived. Null if the entity has not been archived.
2411 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2412 /// The associated workflow state.
2413 pub state: Option<Box<WorkflowState>>,
2414 /// The team to which this automation state belongs.
2415 pub team: Option<Box<Team>>,
2416 /// The target branch associated to this automation state.
2417 pub target_branch: Option<Box<GitAutomationTargetBranch>>,
2418 /// The event that triggers the automation.
2419 pub event: Option<GitAutomationStates>,
2420 /// `DEPRECATED` The target branch, if null, the automation will be triggered on any branch.
2421 pub branch_pattern: Option<String>,
2422}
2423#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2424#[serde(rename_all = "camelCase", default)]
2425pub struct GitAutomationStateConnection {
2426 pub edges: Option<Box<Vec<GitAutomationStateEdge>>>,
2427 pub nodes: Option<Box<Vec<GitAutomationState>>>,
2428 pub page_info: Option<Box<PageInfo>>,
2429}
2430#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2431#[serde(rename_all = "camelCase", default)]
2432pub struct GitAutomationStateEdge {
2433 pub node: Option<Box<GitAutomationState>>,
2434 /// Used in `before` and `after` args
2435 pub cursor: Option<String>,
2436}
2437#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2438#[serde(rename_all = "camelCase", default)]
2439pub struct GitAutomationStatePayload {
2440 /// The identifier of the last sync operation.
2441 pub last_sync_id: Option<f64>,
2442 /// The automation state that was created or updated.
2443 pub git_automation_state: Option<Box<GitAutomationState>>,
2444 /// Whether the operation was successful.
2445 pub success: Option<bool>,
2446}
2447/// A Git target branch for which there are automations (GitAutomationState).
2448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2449#[serde(rename_all = "camelCase", default)]
2450pub struct GitAutomationTargetBranch {
2451 /// The unique identifier of the entity.
2452 pub id: Option<String>,
2453 /// The time at which the entity was created.
2454 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2455 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2456 /// been updated after creation.
2457 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2458 /// The time at which the entity was archived. Null if the entity has not been archived.
2459 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2460 /// The team to which this Git target branch automation belongs.
2461 pub team: Option<Box<Team>>,
2462 /// The target branch pattern.
2463 pub branch_pattern: Option<String>,
2464 /// Whether the branch pattern is a regular expression.
2465 pub is_regex: Option<bool>,
2466 /// Automation states associated with the target branch.
2467 pub automation_states: Option<Box<GitAutomationStateConnection>>,
2468}
2469#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2470#[serde(rename_all = "camelCase", default)]
2471pub struct GitAutomationTargetBranchPayload {
2472 /// The identifier of the last sync operation.
2473 pub last_sync_id: Option<f64>,
2474 /// The Git target branch automation that was created or updated.
2475 pub target_branch: Option<Box<GitAutomationTargetBranch>>,
2476 /// Whether the operation was successful.
2477 pub success: Option<bool>,
2478}
2479#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2480#[serde(rename_all = "camelCase", default)]
2481pub struct GitHubCommitIntegrationPayload {
2482 /// The identifier of the last sync operation.
2483 pub last_sync_id: Option<f64>,
2484 /// The integration that was created or updated.
2485 pub integration: Option<Box<Integration>>,
2486 /// Whether the operation was successful.
2487 pub success: Option<bool>,
2488 /// The webhook secret to provide to GitHub.
2489 pub webhook_secret: Option<String>,
2490}
2491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2492#[serde(rename_all = "camelCase", default)]
2493pub struct GitHubEnterpriseServerInstallVerificationPayload {
2494 /// Has the install been successful.
2495 pub success: Option<bool>,
2496}
2497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2498#[serde(rename_all = "camelCase", default)]
2499pub struct GitHubEnterpriseServerPayload {
2500 /// The identifier of the last sync operation.
2501 pub last_sync_id: Option<f64>,
2502 /// The integration that was created or updated.
2503 pub integration: Option<Box<Integration>>,
2504 /// Whether the operation was successful.
2505 pub success: Option<bool>,
2506 /// The setup address.
2507 pub setup_url: Option<String>,
2508 /// The app install address.
2509 pub install_url: Option<String>,
2510 /// The webhook secret to provide to GitHub.
2511 pub webhook_secret: Option<String>,
2512}
2513#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2514#[serde(rename_all = "camelCase", default)]
2515pub struct GitLabIntegrationCreatePayload {
2516 /// The identifier of the last sync operation.
2517 pub last_sync_id: Option<f64>,
2518 /// The integration that was created or updated.
2519 pub integration: Option<Box<Integration>>,
2520 /// Whether the operation was successful.
2521 pub success: Option<bool>,
2522 /// The webhook secret to provide to GitLab.
2523 pub webhook_secret: Option<String>,
2524 /// Error message if the connection failed.
2525 pub error: Option<String>,
2526 /// Response body from GitLab for debugging.
2527 pub error_response_body: Option<String>,
2528 /// Response headers from GitLab for debugging (JSON stringified).
2529 pub error_response_headers: Option<String>,
2530}
2531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2532#[serde(rename_all = "camelCase", default)]
2533pub struct GitLabTestConnectionPayload {
2534 /// The identifier of the last sync operation.
2535 pub last_sync_id: Option<f64>,
2536 /// The integration that was created or updated.
2537 pub integration: Option<Box<Integration>>,
2538 /// Whether the operation was successful.
2539 pub success: Option<bool>,
2540 /// Error message if the connection test failed.
2541 pub error: Option<String>,
2542 /// Response body from GitLab for debugging.
2543 pub error_response_body: Option<String>,
2544 /// Response headers from GitLab for debugging (JSON stringified).
2545 pub error_response_headers: Option<String>,
2546}
2547/// An identity provider.
2548#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2549#[serde(rename_all = "camelCase", default)]
2550pub struct IdentityProvider {
2551 /// The unique identifier of the entity.
2552 pub id: Option<String>,
2553 /// The time at which the entity was created.
2554 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2555 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2556 /// been updated after creation.
2557 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2558 /// The time at which the entity was archived. Null if the entity has not been archived.
2559 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2560 /// Whether the identity provider is the default identity provider migrated from organization level settings.
2561 pub default_migrated: Option<bool>,
2562 /// The type of identity provider.
2563 pub r#type: Option<IdentityProviderType>,
2564 /// Whether SAML authentication is enabled for organization.
2565 pub saml_enabled: Option<bool>,
2566 /// Sign in endpoint URL for the identity provider.
2567 pub sso_endpoint: Option<String>,
2568 /// Binding method for authentication call. Can be either `post` (default) or `redirect`.
2569 pub sso_binding: Option<String>,
2570 /// The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`.
2571 pub sso_sign_algo: Option<String>,
2572 /// X.509 Signing Certificate in string form.
2573 pub sso_signing_cert: Option<String>,
2574 /// The issuer's custom entity ID.
2575 pub issuer_entity_id: Option<String>,
2576 /// The service provider (Linear) custom entity ID. Defaults to <https://auth.linear.app/sso>
2577 pub sp_entity_id: Option<String>,
2578 /// The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference.
2579 pub priority: Option<f64>,
2580 /// Whether SCIM provisioning is enabled for organization.
2581 pub scim_enabled: Option<bool>,
2582 /// `INTERNAL` SCIM owners group push settings.
2583 pub owners_group_push: Option<serde_json::Value>,
2584 /// `INTERNAL` SCIM admins group push settings.
2585 pub admins_group_push: Option<serde_json::Value>,
2586 /// `INTERNAL` SCIM guests group push settings.
2587 pub guests_group_push: Option<serde_json::Value>,
2588 /// Whether users are allowed to change their name and display name even if SCIM is enabled.
2589 pub allow_name_change: Option<bool>,
2590}
2591#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2592#[serde(rename_all = "camelCase", default)]
2593pub struct ImageUploadFromUrlPayload {
2594 /// The identifier of the last sync operation.
2595 pub last_sync_id: Option<f64>,
2596 /// The URL containing the image.
2597 pub url: Option<String>,
2598 /// Whether the operation was successful.
2599 pub success: Option<bool>,
2600}
2601/// An initiative to group projects.
2602#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2603#[serde(rename_all = "camelCase", default)]
2604pub struct Initiative {
2605 /// The unique identifier of the entity.
2606 pub id: Option<String>,
2607 /// The time at which the entity was created.
2608 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2609 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2610 /// been updated after creation.
2611 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2612 /// The time at which the entity was archived. Null if the entity has not been archived.
2613 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2614 /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
2615 pub update_reminder_frequency_in_weeks: Option<f64>,
2616 /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
2617 pub update_reminder_frequency: Option<f64>,
2618 /// The resolution of the reminder frequency.
2619 pub frequency_resolution: Option<FrequencyResolutionType>,
2620 /// The day at which to prompt for updates.
2621 pub update_reminders_day: Option<Day>,
2622 /// The hour at which to prompt for updates.
2623 pub update_reminders_hour: Option<f64>,
2624 /// The name of the initiative.
2625 pub name: Option<String>,
2626 /// The description of the initiative.
2627 pub description: Option<String>,
2628 /// The organization of the initiative.
2629 pub organization: Option<Box<Organization>>,
2630 /// The user who created the initiative.
2631 pub creator: Option<Box<User>>,
2632 /// The user who owns the initiative.
2633 pub owner: Option<Box<User>>,
2634 /// The initiative's unique URL slug.
2635 pub slug_id: Option<String>,
2636 /// The sort order of the initiative within the organization.
2637 pub sort_order: Option<f64>,
2638 /// The initiative's color.
2639 pub color: Option<String>,
2640 /// The icon of the initiative.
2641 pub icon: Option<String>,
2642 /// A flag that indicates whether the initiative is in the trash bin.
2643 pub trashed: Option<bool>,
2644 /// `Internal` Facets associated with the initiative.
2645 pub facets: Option<Box<Vec<Facet>>>,
2646 /// The estimated completion date of the initiative.
2647 pub target_date: Option<chrono::NaiveDate>,
2648 /// The resolution of the initiative's estimated completion date.
2649 pub target_date_resolution: Option<DateResolutionType>,
2650 /// The status of the initiative. One of Planned, Active, Completed
2651 pub status: Option<InitiativeStatus>,
2652 /// The last initiative update posted for this initiative.
2653 pub last_update: Option<Box<InitiativeUpdate>>,
2654 /// The health of the initiative.
2655 pub health: Option<InitiativeUpdateHealthType>,
2656 /// The time at which the initiative health was updated.
2657 pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
2658 /// The time at which the initiative was moved into active status.
2659 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
2660 /// The time at which the initiative was moved into completed status.
2661 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
2662 /// Initiative URL.
2663 pub url: Option<String>,
2664 /// Projects associated with the initiative.
2665 pub projects: Option<Box<ProjectConnection>>,
2666 /// Links associated with the initiative.
2667 pub links: Option<Box<EntityExternalLinkConnection>>,
2668 /// Settings for all integrations associated with that initiative.
2669 pub integrations_settings: Option<Box<IntegrationsSettings>>,
2670 /// History entries associated with the initiative.
2671 pub history: Option<Box<InitiativeHistoryConnection>>,
2672 /// Initiative updates associated with the initiative.
2673 pub initiative_updates: Option<Box<InitiativeUpdateConnection>>,
2674 /// Sub-initiatives associated with the initiative.
2675 pub sub_initiatives: Option<Box<InitiativeConnection>>,
2676 /// Parent initiative associated with the initiative.
2677 pub parent_initiative: Option<Box<Initiative>>,
2678 /// `Internal` Parent initiatives associated with the initiative.
2679 pub parent_initiatives: Option<Box<InitiativeConnection>>,
2680 /// The initiative's content in markdown format.
2681 pub content: Option<String>,
2682 /// The content of the initiative description.
2683 pub document_content: Option<Box<DocumentContent>>,
2684 /// Documents associated with the initiative.
2685 pub documents: Option<Box<DocumentConnection>>,
2686}
2687/// A generic payload return from entity archive mutations.
2688#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2689#[serde(rename_all = "camelCase", default)]
2690pub struct InitiativeArchivePayload {
2691 /// The identifier of the last sync operation.
2692 pub last_sync_id: Option<f64>,
2693 /// Whether the operation was successful.
2694 pub success: Option<bool>,
2695 /// The archived/unarchived entity. Null if entity was deleted.
2696 pub entity: Option<Box<Initiative>>,
2697}
2698#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2699#[serde(rename_all = "camelCase", default)]
2700pub struct InitiativeConnection {
2701 pub edges: Option<Box<Vec<InitiativeEdge>>>,
2702 pub nodes: Option<Box<Vec<Initiative>>>,
2703 pub page_info: Option<Box<PageInfo>>,
2704}
2705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2706#[serde(rename_all = "camelCase", default)]
2707pub struct InitiativeEdge {
2708 pub node: Option<Box<Initiative>>,
2709 /// Used in `before` and `after` args
2710 pub cursor: Option<String>,
2711}
2712/// A initiative history containing relevant change events.
2713#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2714#[serde(rename_all = "camelCase", default)]
2715pub struct InitiativeHistory {
2716 /// The unique identifier of the entity.
2717 pub id: Option<String>,
2718 /// The time at which the entity was created.
2719 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2720 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2721 /// been updated after creation.
2722 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2723 /// The time at which the entity was archived. Null if the entity has not been archived.
2724 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2725 /// The events that happened while recording that history.
2726 pub entries: Option<serde_json::Value>,
2727 /// The initiative that the history is associated with.
2728 pub initiative: Option<Box<Initiative>>,
2729}
2730#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2731#[serde(rename_all = "camelCase", default)]
2732pub struct InitiativeHistoryConnection {
2733 pub edges: Option<Box<Vec<InitiativeHistoryEdge>>>,
2734 pub nodes: Option<Box<Vec<InitiativeHistory>>>,
2735 pub page_info: Option<Box<PageInfo>>,
2736}
2737#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2738#[serde(rename_all = "camelCase", default)]
2739pub struct InitiativeHistoryEdge {
2740 pub node: Option<Box<InitiativeHistory>>,
2741 /// Used in `before` and `after` args
2742 pub cursor: Option<String>,
2743}
2744/// An initiative related notification.
2745#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2746#[serde(rename_all = "camelCase", default)]
2747pub struct InitiativeNotification {
2748 /// Related comment ID. Null if the notification is not related to a comment.
2749 pub comment_id: Option<String>,
2750 /// Related parent comment ID. Null if the notification is not related to a comment.
2751 pub parent_comment_id: Option<String>,
2752 /// Name of the reaction emoji related to the notification.
2753 pub reaction_emoji: Option<String>,
2754 /// The unique identifier of the entity.
2755 pub id: Option<String>,
2756 /// The time at which the entity was created.
2757 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2758 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2759 /// been updated after creation.
2760 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2761 /// The time at which the entity was archived. Null if the entity has not been archived.
2762 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2763 /// Notification type.
2764 pub r#type: Option<String>,
2765 /// The user that caused the notification.
2766 pub actor: Option<Box<User>>,
2767 /// The external user that caused the notification.
2768 pub external_user_actor: Option<Box<ExternalUser>>,
2769 /// The user that received the notification.
2770 pub user: Option<Box<User>>,
2771 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
2772 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
2773 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
2774 /// reminder has been sent.
2775 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
2776 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
2777 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
2778 /// The time at which a notification was unsnoozed..
2779 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
2780 /// The category of the notification.
2781 pub category: Option<NotificationCategory>,
2782 /// `Internal` URL to the target of the notification.
2783 pub url: Option<String>,
2784 /// `Internal` Inbox URL for the notification.
2785 pub inbox_url: Option<String>,
2786 /// `Internal` Notification title.
2787 pub title: Option<String>,
2788 /// `Internal` Notification subtitle.
2789 pub subtitle: Option<String>,
2790 /// `Internal` If notification actor was Linear.
2791 pub is_linear_actor: Option<bool>,
2792 /// `Internal` Notification avatar URL.
2793 pub actor_avatar_url: Option<String>,
2794 /// `Internal` Notification actor initials if avatar is not available.
2795 pub actor_initials: Option<String>,
2796 /// `Internal` Notification actor initials if avatar is not available.
2797 pub actor_avatar_color: Option<String>,
2798 /// `Internal` Issue's status type for issue notifications.
2799 pub issue_status_type: Option<String>,
2800 /// `Internal` Project update health for new updates.
2801 pub project_update_health: Option<String>,
2802 /// `Internal` Initiative update health for new updates.
2803 pub initiative_update_health: Option<String>,
2804 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
2805 pub grouping_key: Option<String>,
2806 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
2807 pub grouping_priority: Option<f64>,
2808 /// The bot that caused the notification.
2809 pub bot_actor: Option<Box<ActorBot>>,
2810 /// Related initiative ID.
2811 pub initiative_id: Option<String>,
2812 /// Related initiative update ID.
2813 pub initiative_update_id: Option<String>,
2814 /// The initiative related to the notification.
2815 pub initiative: Option<Box<Initiative>>,
2816 /// The document related to the notification.
2817 pub document: Option<Box<Document>>,
2818 /// The initiative update related to the notification.
2819 pub initiative_update: Option<Box<InitiativeUpdate>>,
2820 /// The comment related to the notification.
2821 pub comment: Option<Box<Comment>>,
2822 /// The parent comment related to the notification, if a notification is a reply comment notification.
2823 pub parent_comment: Option<Box<Comment>>,
2824}
2825/// An initiative notification subscription.
2826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2827#[serde(rename_all = "camelCase", default)]
2828pub struct InitiativeNotificationSubscription {
2829 /// The unique identifier of the entity.
2830 pub id: Option<String>,
2831 /// The time at which the entity was created.
2832 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2833 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2834 /// been updated after creation.
2835 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2836 /// The time at which the entity was archived. Null if the entity has not been archived.
2837 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2838 /// The user that subscribed to receive notifications.
2839 pub subscriber: Option<Box<User>>,
2840 /// The customer associated with the notification subscription.
2841 pub customer: Option<Box<Customer>>,
2842 /// The contextual custom view associated with the notification subscription.
2843 pub custom_view: Option<Box<CustomView>>,
2844 /// The contextual cycle view associated with the notification subscription.
2845 pub cycle: Option<Box<Cycle>>,
2846 /// The contextual label view associated with the notification subscription.
2847 pub label: Option<Box<IssueLabel>>,
2848 /// The contextual project view associated with the notification subscription.
2849 pub project: Option<Box<Project>>,
2850 /// The initiative subscribed to.
2851 pub initiative: Option<Box<Initiative>>,
2852 /// The team associated with the notification subscription.
2853 pub team: Option<Box<Team>>,
2854 /// The user view associated with the notification subscription.
2855 pub user: Option<Box<User>>,
2856 /// The type of view to which the notification subscription context is associated with.
2857 pub context_view_type: Option<ContextViewType>,
2858 /// The type of user view to which the notification subscription context is associated with.
2859 pub user_context_view_type: Option<UserContextViewType>,
2860 /// Whether the subscription is active or not.
2861 pub active: Option<bool>,
2862 /// The type of subscription.
2863 pub notification_subscription_types: Option<Vec<String>>,
2864}
2865/// The payload returned by the initiative mutations.
2866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2867#[serde(rename_all = "camelCase", default)]
2868pub struct InitiativePayload {
2869 /// The identifier of the last sync operation.
2870 pub last_sync_id: Option<f64>,
2871 /// The initiative that was created or updated.
2872 pub initiative: Option<Box<Initiative>>,
2873 /// Whether the operation was successful.
2874 pub success: Option<bool>,
2875}
2876/// A relation representing the dependency between two initiatives.
2877#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2878#[serde(rename_all = "camelCase", default)]
2879pub struct InitiativeRelation {
2880 /// The unique identifier of the entity.
2881 pub id: Option<String>,
2882 /// The time at which the entity was created.
2883 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2884 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2885 /// been updated after creation.
2886 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2887 /// The time at which the entity was archived. Null if the entity has not been archived.
2888 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2889 /// The parent initiative.
2890 pub initiative: Option<Box<Initiative>>,
2891 /// The child initiative.
2892 pub related_initiative: Option<Box<Initiative>>,
2893 /// The last user who created or modified the relation.
2894 pub user: Option<Box<User>>,
2895 /// The sort order of the relation within the initiative.
2896 pub sort_order: Option<f64>,
2897}
2898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2899#[serde(rename_all = "camelCase", default)]
2900pub struct InitiativeRelationConnection {
2901 pub edges: Option<Box<Vec<InitiativeRelationEdge>>>,
2902 pub nodes: Option<Box<Vec<InitiativeRelation>>>,
2903 pub page_info: Option<Box<PageInfo>>,
2904}
2905#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2906#[serde(rename_all = "camelCase", default)]
2907pub struct InitiativeRelationEdge {
2908 pub node: Option<Box<InitiativeRelation>>,
2909 /// Used in `before` and `after` args
2910 pub cursor: Option<String>,
2911}
2912#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2913#[serde(rename_all = "camelCase", default)]
2914pub struct InitiativeRelationPayload {
2915 /// The identifier of the last sync operation.
2916 pub last_sync_id: Option<f64>,
2917 /// The initiative relation that was created or updated.
2918 pub initiative_relation: Option<Box<InitiativeRelation>>,
2919 /// Whether the operation was successful.
2920 pub success: Option<bool>,
2921}
2922/// Join table between projects and initiatives.
2923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2924#[serde(rename_all = "camelCase", default)]
2925pub struct InitiativeToProject {
2926 /// The unique identifier of the entity.
2927 pub id: Option<String>,
2928 /// The time at which the entity was created.
2929 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2930 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2931 /// been updated after creation.
2932 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2933 /// The time at which the entity was archived. Null if the entity has not been archived.
2934 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2935 /// The project that the initiative is associated with.
2936 pub project: Option<Box<Project>>,
2937 /// The initiative that the project is associated with.
2938 pub initiative: Option<Box<Initiative>>,
2939 /// The sort order of the project within the initiative.
2940 pub sort_order: Option<String>,
2941}
2942#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2943#[serde(rename_all = "camelCase", default)]
2944pub struct InitiativeToProjectConnection {
2945 pub edges: Option<Box<Vec<InitiativeToProjectEdge>>>,
2946 pub nodes: Option<Box<Vec<InitiativeToProject>>>,
2947 pub page_info: Option<Box<PageInfo>>,
2948}
2949#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2950#[serde(rename_all = "camelCase", default)]
2951pub struct InitiativeToProjectEdge {
2952 pub node: Option<Box<InitiativeToProject>>,
2953 /// Used in `before` and `after` args
2954 pub cursor: Option<String>,
2955}
2956/// The result of a initiativeToProject mutation.
2957#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2958#[serde(rename_all = "camelCase", default)]
2959pub struct InitiativeToProjectPayload {
2960 /// The identifier of the last sync operation.
2961 pub last_sync_id: Option<f64>,
2962 /// The initiativeToProject that was created or updated.
2963 pub initiative_to_project: Option<Box<InitiativeToProject>>,
2964 /// Whether the operation was successful.
2965 pub success: Option<bool>,
2966}
2967/// An initiative update.
2968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2969#[serde(rename_all = "camelCase", default)]
2970pub struct InitiativeUpdate {
2971 /// The unique identifier of the entity.
2972 pub id: Option<String>,
2973 /// The time at which the entity was created.
2974 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2975 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2976 /// been updated after creation.
2977 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2978 /// The time at which the entity was archived. Null if the entity has not been archived.
2979 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2980 /// The update content in markdown format.
2981 pub body: Option<String>,
2982 /// The time the update was edited.
2983 pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
2984 /// Emoji reaction summary, grouped by emoji type.
2985 pub reaction_data: Option<serde_json::Value>,
2986 /// `Internal` The content of the update as a Prosemirror document.
2987 pub body_data: Option<String>,
2988 /// The update's unique URL slug.
2989 pub slug_id: Option<String>,
2990 /// The initiative that the update is associated with.
2991 pub initiative: Option<Box<Initiative>>,
2992 /// The user who wrote the update.
2993 pub user: Option<Box<User>>,
2994 /// The health at the time of the update.
2995 pub health: Option<InitiativeUpdateHealthType>,
2996 /// `Internal` Serialized JSON representing current state of the initiative properties when posting the initiative update.
2997 pub info_snapshot: Option<serde_json::Value>,
2998 /// Whether initiative update diff should be hidden.
2999 pub is_diff_hidden: Option<bool>,
3000 /// The URL to the initiative update.
3001 pub url: Option<String>,
3002 /// Whether the initiative update is stale.
3003 pub is_stale: Option<bool>,
3004 /// The diff between the current update and the previous one.
3005 pub diff: Option<serde_json::Value>,
3006 /// The diff between the current update and the previous one, formatted as markdown.
3007 pub diff_markdown: Option<String>,
3008 /// Reactions associated with the initiative update.
3009 pub reactions: Option<Box<Vec<Reaction>>>,
3010 /// Comments associated with the initiative update.
3011 pub comments: Option<Box<CommentConnection>>,
3012 /// Number of comments associated with the initiative update.
3013 pub comment_count: Option<i64>,
3014}
3015/// A generic payload return from entity archive mutations.
3016#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3017#[serde(rename_all = "camelCase", default)]
3018pub struct InitiativeUpdateArchivePayload {
3019 /// The identifier of the last sync operation.
3020 pub last_sync_id: Option<f64>,
3021 /// Whether the operation was successful.
3022 pub success: Option<bool>,
3023 /// The archived/unarchived entity. Null if entity was deleted.
3024 pub entity: Option<Box<InitiativeUpdate>>,
3025}
3026#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3027#[serde(rename_all = "camelCase", default)]
3028pub struct InitiativeUpdateConnection {
3029 pub edges: Option<Box<Vec<InitiativeUpdateEdge>>>,
3030 pub nodes: Option<Box<Vec<InitiativeUpdate>>>,
3031 pub page_info: Option<Box<PageInfo>>,
3032}
3033#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3034#[serde(rename_all = "camelCase", default)]
3035pub struct InitiativeUpdateEdge {
3036 pub node: Option<Box<InitiativeUpdate>>,
3037 /// Used in `before` and `after` args
3038 pub cursor: Option<String>,
3039}
3040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3041#[serde(rename_all = "camelCase", default)]
3042pub struct InitiativeUpdatePayload {
3043 /// The identifier of the last sync operation.
3044 pub last_sync_id: Option<f64>,
3045 /// The initiative update that was created.
3046 pub initiative_update: Option<Box<InitiativeUpdate>>,
3047 /// Whether the operation was successful.
3048 pub success: Option<bool>,
3049}
3050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3051#[serde(rename_all = "camelCase", default)]
3052pub struct InitiativeUpdateReminderPayload {
3053 /// The identifier of the last sync operation.
3054 pub last_sync_id: Option<f64>,
3055 /// Whether the operation was successful.
3056 pub success: Option<bool>,
3057}
3058/// An integration with an external service.
3059#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3060#[serde(rename_all = "camelCase", default)]
3061pub struct Integration {
3062 /// The unique identifier of the entity.
3063 pub id: Option<String>,
3064 /// The time at which the entity was created.
3065 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3066 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3067 /// been updated after creation.
3068 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3069 /// The time at which the entity was archived. Null if the entity has not been archived.
3070 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3071 /// The integration's type.
3072 pub service: Option<String>,
3073 /// The organization that the integration is associated with.
3074 pub organization: Option<Box<Organization>>,
3075 /// The team that the integration is associated with.
3076 pub team: Option<Box<Team>>,
3077 /// The user that added the integration.
3078 pub creator: Option<Box<User>>,
3079}
3080#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3081#[serde(rename_all = "camelCase", default)]
3082pub struct IntegrationConnection {
3083 pub edges: Option<Box<Vec<IntegrationEdge>>>,
3084 pub nodes: Option<Box<Vec<Integration>>>,
3085 pub page_info: Option<Box<PageInfo>>,
3086}
3087#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3088#[serde(rename_all = "camelCase", default)]
3089pub struct IntegrationEdge {
3090 pub node: Option<Box<Integration>>,
3091 /// Used in `before` and `after` args
3092 pub cursor: Option<String>,
3093}
3094#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3095#[serde(rename_all = "camelCase", default)]
3096pub struct IntegrationHasScopesPayload {
3097 /// Whether the integration has the required scopes.
3098 pub has_all_scopes: Option<bool>,
3099 /// The missing scopes.
3100 pub missing_scopes: Option<Vec<String>>,
3101}
3102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3103#[serde(rename_all = "camelCase", default)]
3104pub struct IntegrationPayload {
3105 /// The identifier of the last sync operation.
3106 pub last_sync_id: Option<f64>,
3107 /// The integration that was created or updated.
3108 pub integration: Option<Box<Integration>>,
3109 /// Whether the operation was successful.
3110 pub success: Option<bool>,
3111}
3112#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3113#[serde(rename_all = "camelCase", default)]
3114pub struct IntegrationRequestPayload {
3115 /// Whether the operation was successful.
3116 pub success: Option<bool>,
3117}
3118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3119#[serde(rename_all = "camelCase", default)]
3120pub struct IntegrationSlackWorkspaceNamePayload {
3121 /// The current name of the Slack workspace.
3122 pub name: Option<String>,
3123 /// Whether the operation was successful.
3124 pub success: Option<bool>,
3125}
3126/// Join table between templates and integrations.
3127#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3128#[serde(rename_all = "camelCase", default)]
3129pub struct IntegrationTemplate {
3130 /// The unique identifier of the entity.
3131 pub id: Option<String>,
3132 /// The time at which the entity was created.
3133 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3134 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3135 /// been updated after creation.
3136 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3137 /// The time at which the entity was archived. Null if the entity has not been archived.
3138 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3139 /// The template that the integration is associated with.
3140 pub template: Option<Box<Template>>,
3141 /// The integration that the template is associated with.
3142 pub integration: Option<Box<Integration>>,
3143 /// ID of the foreign entity in the external integration this template is for, e.g., Slack channel ID.
3144 pub foreign_entity_id: Option<String>,
3145}
3146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3147#[serde(rename_all = "camelCase", default)]
3148pub struct IntegrationTemplateConnection {
3149 pub edges: Option<Box<Vec<IntegrationTemplateEdge>>>,
3150 pub nodes: Option<Box<Vec<IntegrationTemplate>>>,
3151 pub page_info: Option<Box<PageInfo>>,
3152}
3153#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3154#[serde(rename_all = "camelCase", default)]
3155pub struct IntegrationTemplateEdge {
3156 pub node: Option<Box<IntegrationTemplate>>,
3157 /// Used in `before` and `after` args
3158 pub cursor: Option<String>,
3159}
3160#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3161#[serde(rename_all = "camelCase", default)]
3162pub struct IntegrationTemplatePayload {
3163 /// The identifier of the last sync operation.
3164 pub last_sync_id: Option<f64>,
3165 /// The IntegrationTemplate that was created or updated.
3166 pub integration_template: Option<Box<IntegrationTemplate>>,
3167 /// Whether the operation was successful.
3168 pub success: Option<bool>,
3169}
3170/// The configuration of all integrations for different entities.
3171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3172#[serde(rename_all = "camelCase", default)]
3173pub struct IntegrationsSettings {
3174 /// The unique identifier of the entity.
3175 pub id: Option<String>,
3176 /// The time at which the entity was created.
3177 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3178 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3179 /// been updated after creation.
3180 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3181 /// The time at which the entity was archived. Null if the entity has not been archived.
3182 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3183 /// The type of view to which the integration settings context is associated with.
3184 pub context_view_type: Option<ContextViewType>,
3185 /// Whether to send a Slack message when a new issue is created for the project or the team.
3186 pub slack_issue_created: Option<bool>,
3187 /// Whether to send a Slack message when a comment is created on any of the project or team's issues.
3188 pub slack_issue_new_comment: Option<bool>,
3189 /// Whether to send a Slack message when any of the project or team's issues change to completed or cancelled.
3190 pub slack_issue_status_changed_done: Option<bool>,
3191 /// Whether to send a Slack message when an issue is added to the custom view.
3192 pub slack_issue_added_to_view: Option<bool>,
3193 /// Whether to send a Slack message when any of the project or team's issues has a change in status.
3194 pub slack_issue_status_changed_all: Option<bool>,
3195 /// Whether to send a Slack message when a project update is created.
3196 pub slack_project_update_created: Option<bool>,
3197 /// Whether to send a new project update to team Slack channels.
3198 pub slack_project_update_created_to_team: Option<bool>,
3199 /// Whether to send a new project update to workspace Slack channel.
3200 pub slack_project_update_created_to_workspace: Option<bool>,
3201 /// Whether to send a Slack message when a initiate update is created.
3202 pub slack_initiative_update_created: Option<bool>,
3203 /// Whether to send a Slack message when a new issue is added to triage.
3204 pub slack_issue_added_to_triage: Option<bool>,
3205 /// Whether to send a Slack message when an SLA is at high risk.
3206 pub slack_issue_sla_high_risk: Option<bool>,
3207 /// Whether to send a Slack message when an SLA is breached.
3208 pub slack_issue_sla_breached: Option<bool>,
3209 /// Team which those settings apply to.
3210 pub team: Option<Box<Team>>,
3211 /// Project which those settings apply to.
3212 pub project: Option<Box<Project>>,
3213 /// Initiative which those settings apply to.
3214 pub initiative: Option<Box<Initiative>>,
3215}
3216#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3217#[serde(rename_all = "camelCase", default)]
3218pub struct IntegrationsSettingsPayload {
3219 /// The identifier of the last sync operation.
3220 pub last_sync_id: Option<f64>,
3221 /// The settings that were created or updated.
3222 pub integrations_settings: Option<Box<IntegrationsSettings>>,
3223 /// Whether the operation was successful.
3224 pub success: Option<bool>,
3225}
3226/// An issue.
3227#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3228#[serde(rename_all = "camelCase", default)]
3229pub struct Issue {
3230 /// The unique identifier of the entity.
3231 pub id: Option<String>,
3232 /// The time at which the entity was created.
3233 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3234 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3235 /// been updated after creation.
3236 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3237 /// The time at which the entity was archived. Null if the entity has not been archived.
3238 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3239 /// The issue's unique number.
3240 pub number: Option<f64>,
3241 /// The issue's title.
3242 pub title: Option<String>,
3243 /// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
3244 pub priority: Option<f64>,
3245 /// The estimate of the complexity of the issue..
3246 pub estimate: Option<f64>,
3247 /// The order of the item in its column on the board.
3248 pub board_order: Option<f64>,
3249 /// The order of the item in relation to other items in the organization.
3250 pub sort_order: Option<f64>,
3251 /// The order of the item in relation to other items in the organization, when ordered by priority.
3252 pub priority_sort_order: Option<f64>,
3253 /// The time at which the issue was moved into started state.
3254 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
3255 /// The time at which the issue was moved into completed state.
3256 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
3257 /// The time at which the issue entered triage.
3258 pub started_triage_at: Option<chrono::DateTime<chrono::Utc>>,
3259 /// The time at which the issue left triage.
3260 pub triaged_at: Option<chrono::DateTime<chrono::Utc>>,
3261 /// The time at which the issue was moved into canceled state.
3262 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
3263 /// The time at which the issue was automatically closed by the auto pruning process.
3264 pub auto_closed_at: Option<chrono::DateTime<chrono::Utc>>,
3265 /// The time at which the issue was automatically archived by the auto pruning process.
3266 pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
3267 /// The date at which the issue is due.
3268 pub due_date: Option<chrono::NaiveDate>,
3269 /// The time at which the issue's SLA began.
3270 pub sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3271 /// The time at which the issue's SLA will enter medium risk state.
3272 pub sla_medium_risk_at: Option<chrono::DateTime<chrono::Utc>>,
3273 /// The time at which the issue's SLA will enter high risk state.
3274 pub sla_high_risk_at: Option<chrono::DateTime<chrono::Utc>>,
3275 /// The time at which the issue's SLA will breach.
3276 pub sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3277 /// The type of SLA set on the issue. Calendar days or business days.
3278 pub sla_type: Option<String>,
3279 /// The time at which the issue was added to a project.
3280 pub added_to_project_at: Option<chrono::DateTime<chrono::Utc>>,
3281 /// The time at which the issue was added to a cycle.
3282 pub added_to_cycle_at: Option<chrono::DateTime<chrono::Utc>>,
3283 /// The time at which the issue was added to a team.
3284 pub added_to_team_at: Option<chrono::DateTime<chrono::Utc>>,
3285 /// A flag that indicates whether the issue is in the trash bin.
3286 pub trashed: Option<bool>,
3287 /// The time until an issue will be snoozed in Triage view.
3288 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
3289 /// `Internal` The time at which the most recent suggestions for this issue were generated.
3290 pub suggestions_generated_at: Option<chrono::DateTime<chrono::Utc>>,
3291 /// `Internal` The activity summary information for this issue.
3292 pub activity_summary: Option<serde_json::Value>,
3293 /// `Internal` AI-generated activity summary for this issue.
3294 pub summary: Option<Box<Summary>>,
3295 /// Id of the labels associated with this issue.
3296 pub label_ids: Option<Vec<String>>,
3297 /// The team that the issue is associated with.
3298 pub team: Option<Box<Team>>,
3299 /// The cycle that the issue is associated with.
3300 pub cycle: Option<Box<Cycle>>,
3301 /// The project that the issue is associated with.
3302 pub project: Option<Box<Project>>,
3303 /// The projectMilestone that the issue is associated with.
3304 pub project_milestone: Option<Box<ProjectMilestone>>,
3305 /// The last template that was applied to this issue.
3306 pub last_applied_template: Option<Box<Template>>,
3307 /// The recurring issue template that created this issue.
3308 pub recurring_issue_template: Option<Box<Template>>,
3309 /// Previous identifiers of the issue if it has been moved between teams.
3310 pub previous_identifiers: Option<Vec<String>>,
3311 /// The user who created the issue.
3312 pub creator: Option<Box<User>>,
3313 /// The external user who created the issue.
3314 pub external_user_creator: Option<Box<ExternalUser>>,
3315 /// The user to whom the issue is assigned to.
3316 pub assignee: Option<Box<User>>,
3317 /// The agent user that is delegated to work on this issue.
3318 pub delegate: Option<Box<User>>,
3319 /// The user who snoozed the issue.
3320 pub snoozed_by: Option<Box<User>>,
3321 /// The workflow state that the issue is associated with.
3322 pub state: Option<Box<WorkflowState>>,
3323 /// The order of the item in the sub-issue list. Only set if the issue has a parent.
3324 pub sub_issue_sort_order: Option<f64>,
3325 /// Emoji reaction summary, grouped by emoji type.
3326 pub reaction_data: Option<serde_json::Value>,
3327 /// Label for the priority.
3328 pub priority_label: Option<String>,
3329 /// The comment that this issue was created from.
3330 pub source_comment: Option<Box<Comment>>,
3331 /// Integration type that created this issue, if applicable.
3332 pub integration_source_type: Option<IntegrationService>,
3333 /// Documents associated with the issue.
3334 pub documents: Option<Box<DocumentConnection>>,
3335 /// The bot that created the issue, if applicable.
3336 pub bot_actor: Option<Box<ActorBot>>,
3337 /// The users favorite associated with this issue.
3338 pub favorite: Option<Box<Favorite>>,
3339 /// Issue's human readable identifier (e.g. ENG-123).
3340 pub identifier: Option<String>,
3341 /// Issue URL.
3342 pub url: Option<String>,
3343 /// Suggested branch name for the issue.
3344 pub branch_name: Option<String>,
3345 /// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
3346 pub customer_ticket_count: Option<i64>,
3347 /// Users who are subscribed to the issue.
3348 pub subscribers: Option<Box<UserConnection>>,
3349 /// The parent of the issue.
3350 pub parent: Option<Box<Issue>>,
3351 /// Children of the issue.
3352 pub children: Option<Box<IssueConnection>>,
3353 /// Comments associated with the issue.
3354 pub comments: Option<Box<CommentConnection>>,
3355 /// History entries associated with the issue.
3356 pub history: Option<Box<IssueHistoryConnection>>,
3357 /// Labels associated with this issue.
3358 pub labels: Option<Box<IssueLabelConnection>>,
3359 /// Relations associated with this issue.
3360 pub relations: Option<Box<IssueRelationConnection>>,
3361 /// Inverse relations associated with this issue.
3362 pub inverse_relations: Option<Box<IssueRelationConnection>>,
3363 /// Attachments associated with the issue.
3364 pub attachments: Option<Box<AttachmentConnection>>,
3365 /// Attachments previously associated with the issue before being moved to another issue.
3366 pub former_attachments: Option<Box<AttachmentConnection>>,
3367 /// The issue's description in markdown format.
3368 pub description: Option<String>,
3369 /// `Internal` The issue's description content as YJS state.
3370 pub description_state: Option<String>,
3371 /// `ALPHA` The document content representing this issue description.
3372 pub document_content: Option<Box<DocumentContent>>,
3373 /// Reactions associated with the issue.
3374 pub reactions: Option<Box<Vec<Reaction>>>,
3375 /// Customer needs associated with the issue.
3376 pub needs: Option<Box<CustomerNeedConnection>>,
3377 /// Customer needs previously associated with the issue before being moved to another issue.
3378 pub former_needs: Option<Box<CustomerNeedConnection>>,
3379 /// The external services the issue is synced with.
3380 pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
3381 /// `Internal` Product Intelligence suggestions for the issue.
3382 pub suggestions: Option<Box<IssueSuggestionConnection>>,
3383 /// `Internal` Incoming product intelligence relation suggestions for the issue.
3384 pub incoming_suggestions: Option<Box<IssueSuggestionConnection>>,
3385 /// The internal user who requested creation of the Asks issue on behalf of the creator.
3386 pub asks_requester: Option<Box<User>>,
3387 /// The external user who requested creation of the Asks issue on behalf of the creator.
3388 pub asks_external_user_requester: Option<Box<ExternalUser>>,
3389 /// The issue's workflow states over time.
3390 pub state_history: Option<Box<IssueStateSpanConnection>>,
3391}
3392/// A generic payload return from entity archive mutations.
3393#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3394#[serde(rename_all = "camelCase", default)]
3395pub struct IssueArchivePayload {
3396 /// The identifier of the last sync operation.
3397 pub last_sync_id: Option<f64>,
3398 /// Whether the operation was successful.
3399 pub success: Option<bool>,
3400 /// The archived/unarchived entity. Null if entity was deleted.
3401 pub entity: Option<Box<Issue>>,
3402}
3403#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3404#[serde(rename_all = "camelCase", default)]
3405pub struct IssueBatchPayload {
3406 /// The identifier of the last sync operation.
3407 pub last_sync_id: Option<f64>,
3408 /// The issues that were updated.
3409 pub issues: Option<Box<Vec<Issue>>>,
3410 /// Whether the operation was successful.
3411 pub success: Option<bool>,
3412}
3413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3414#[serde(rename_all = "camelCase", default)]
3415pub struct IssueConnection {
3416 pub edges: Option<Box<Vec<IssueEdge>>>,
3417 pub nodes: Option<Box<Vec<Issue>>>,
3418 pub page_info: Option<Box<PageInfo>>,
3419}
3420/// `Internal` A draft issue.
3421#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3422#[serde(rename_all = "camelCase", default)]
3423pub struct IssueDraft {
3424 /// The unique identifier of the entity.
3425 pub id: Option<String>,
3426 /// The time at which the entity was created.
3427 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3428 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3429 /// been updated after creation.
3430 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3431 /// The time at which the entity was archived. Null if the entity has not been archived.
3432 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3433 /// The draft's title.
3434 pub title: Option<String>,
3435 /// The draft's description in markdown format.
3436 pub description: Option<String>,
3437 /// The priority of the draft.
3438 pub priority: Option<f64>,
3439 /// The estimate of the complexity of the draft.
3440 pub estimate: Option<f64>,
3441 /// The date at which the issue would be due.
3442 pub due_date: Option<chrono::NaiveDate>,
3443 /// The IDs of labels added to the draft.
3444 pub label_ids: Option<Vec<String>>,
3445 /// The team associated with the draft.
3446 pub team_id: Option<String>,
3447 /// The cycle associated with the draft.
3448 pub cycle_id: Option<String>,
3449 /// The project associated with the draft.
3450 pub project_id: Option<String>,
3451 /// The project milestone associated with the draft.
3452 pub project_milestone_id: Option<String>,
3453 /// The user who created the draft.
3454 pub creator: Option<Box<User>>,
3455 /// The user assigned to the draft.
3456 pub assignee_id: Option<String>,
3457 /// The agent user delegated to work on the issue being drafted.
3458 pub delegate_id: Option<String>,
3459 /// The workflow state associated with the draft.
3460 pub state_id: Option<String>,
3461 /// The parent draft of the draft.
3462 pub parent: Option<Box<IssueDraft>>,
3463 /// The ID of the parent issue draft, if any.
3464 pub parent_id: Option<String>,
3465 /// The ID of the comment that the draft was created from.
3466 pub source_comment_id: Option<String>,
3467 /// The parent issue of the draft.
3468 pub parent_issue: Option<Box<Issue>>,
3469 /// The ID of the parent issue, if any.
3470 pub parent_issue_id: Option<String>,
3471 /// The order of items in the sub-draft list. Only set if the draft has `parent` set.
3472 pub sub_issue_sort_order: Option<f64>,
3473 /// Label for the priority.
3474 pub priority_label: Option<String>,
3475 /// `Internal` The draft's description as a Prosemirror document.
3476 pub description_data: Option<serde_json::Value>,
3477 /// Serialized array of JSONs representing attachments.
3478 pub attachments: Option<serde_json::Value>,
3479 /// Serialized array of JSONs representing customer needs.
3480 pub needs: Option<serde_json::Value>,
3481 /// Serialized array of JSONs representing the recurring issue's schedule.
3482 pub schedule: Option<serde_json::Value>,
3483}
3484#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3485#[serde(rename_all = "camelCase", default)]
3486pub struct IssueDraftConnection {
3487 pub edges: Option<Box<Vec<IssueDraftEdge>>>,
3488 pub nodes: Option<Box<Vec<IssueDraft>>>,
3489 pub page_info: Option<Box<PageInfo>>,
3490}
3491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3492#[serde(rename_all = "camelCase", default)]
3493pub struct IssueDraftEdge {
3494 pub node: Option<Box<IssueDraft>>,
3495 /// Used in `before` and `after` args
3496 pub cursor: Option<String>,
3497}
3498#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3499#[serde(rename_all = "camelCase", default)]
3500pub struct IssueEdge {
3501 pub node: Option<Box<Issue>>,
3502 /// Used in `before` and `after` args
3503 pub cursor: Option<String>,
3504}
3505#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3506#[serde(rename_all = "camelCase", default)]
3507pub struct IssueFilterSuggestionPayload {
3508 /// The json filter that is suggested.
3509 pub filter: Option<serde_json::Value>,
3510 /// The log id of the prompt, that created this filter.
3511 pub log_id: Option<String>,
3512}
3513/// A record of changes to an issue.
3514#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3515#[serde(rename_all = "camelCase", default)]
3516pub struct IssueHistory {
3517 /// The unique identifier of the entity.
3518 pub id: Option<String>,
3519 /// The time at which the entity was created.
3520 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3521 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3522 /// been updated after creation.
3523 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3524 /// The time at which the entity was archived. Null if the entity has not been archived.
3525 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3526 /// The issue that was changed.
3527 pub issue: Option<Box<Issue>>,
3528 /// The id of user who made these changes. If null, possibly means that the change made by an integration.
3529 pub actor_id: Option<String>,
3530 /// Whether the issue's description was updated.
3531 pub updated_description: Option<bool>,
3532 /// What the title was changed from.
3533 pub from_title: Option<String>,
3534 /// What the title was changed to.
3535 pub to_title: Option<String>,
3536 /// The id of user from whom the issue was re-assigned from.
3537 pub from_assignee_id: Option<String>,
3538 /// The id of user to whom the issue was assigned to.
3539 pub to_assignee_id: Option<String>,
3540 /// What the priority was changed from.
3541 pub from_priority: Option<f64>,
3542 /// What the priority was changed to.
3543 pub to_priority: Option<f64>,
3544 /// The id of team from which the issue was moved from.
3545 pub from_team_id: Option<String>,
3546 /// The id of team to which the issue was moved to.
3547 pub to_team_id: Option<String>,
3548 /// The id of previous parent of the issue.
3549 pub from_parent_id: Option<String>,
3550 /// The id of new parent of the issue.
3551 pub to_parent_id: Option<String>,
3552 /// The id of previous workflow state of the issue.
3553 pub from_state_id: Option<String>,
3554 /// The id of new workflow state of the issue.
3555 pub to_state_id: Option<String>,
3556 /// The id of previous cycle of the issue.
3557 pub from_cycle_id: Option<String>,
3558 /// The id of new cycle of the issue.
3559 pub to_cycle_id: Option<String>,
3560 /// The id of new project created from the issue.
3561 pub to_converted_project_id: Option<String>,
3562 /// The id of previous project of the issue.
3563 pub from_project_id: Option<String>,
3564 /// The id of new project of the issue.
3565 pub to_project_id: Option<String>,
3566 /// What the estimate was changed from.
3567 pub from_estimate: Option<f64>,
3568 /// What the estimate was changed to.
3569 pub to_estimate: Option<f64>,
3570 /// Whether the issue is archived at the time of this history entry.
3571 pub archived: Option<bool>,
3572 /// Whether the issue was trashed or un-trashed.
3573 pub trashed: Option<bool>,
3574 /// The id of linked attachment.
3575 pub attachment_id: Option<String>,
3576 /// ID's of labels that were added.
3577 pub added_label_ids: Option<Vec<String>>,
3578 /// ID's of labels that were removed.
3579 pub removed_label_ids: Option<Vec<String>>,
3580 /// `ALPHA` ID's of releases that the issue was added to.
3581 pub added_to_release_ids: Option<Vec<String>>,
3582 /// `ALPHA` ID's of releases that the issue was removed from.
3583 pub removed_from_release_ids: Option<Vec<String>>,
3584 /// Changed issue relationships.
3585 pub relation_changes: Option<Box<Vec<IssueRelationHistoryPayload>>>,
3586 /// Whether the issue was auto-closed.
3587 pub auto_closed: Option<bool>,
3588 /// Whether the issue was auto-archived.
3589 pub auto_archived: Option<bool>,
3590 /// What the due date was changed from.
3591 pub from_due_date: Option<chrono::NaiveDate>,
3592 /// What the due date was changed to.
3593 pub to_due_date: Option<chrono::NaiveDate>,
3594 /// The id of linked customer need.
3595 pub customer_need_id: Option<String>,
3596 /// `Internal` Serialized JSON representing changes for certain non-relational properties.
3597 pub changes: Option<serde_json::Value>,
3598 /// The actor that performed the actions. This field may be empty in the case of integrations or automations.
3599 pub actor: Option<Box<User>>,
3600 /// The actors that performed the actions. This field may be empty in the case of integrations or automations.
3601 pub actors: Option<Box<Vec<User>>>,
3602 /// The actors that edited the description of the issue, if any.
3603 pub description_updated_by: Option<Box<Vec<User>>>,
3604 /// The user that was unassigned from the issue.
3605 pub from_assignee: Option<Box<User>>,
3606 /// The user that was assigned to the issue.
3607 pub to_assignee: Option<Box<User>>,
3608 /// The cycle that the issue was moved from.
3609 pub from_cycle: Option<Box<Cycle>>,
3610 /// The cycle that the issue was moved to.
3611 pub to_cycle: Option<Box<Cycle>>,
3612 /// The new project created from the issue.
3613 pub to_converted_project: Option<Box<Project>>,
3614 /// The app user from whom the issue delegation was transferred.
3615 pub from_delegate: Option<Box<User>>,
3616 /// The app user to whom the issue delegation was transferred.
3617 pub to_delegate: Option<Box<User>>,
3618 /// The project that the issue was moved from.
3619 pub from_project: Option<Box<Project>>,
3620 /// The project that the issue was moved to.
3621 pub to_project: Option<Box<Project>>,
3622 /// The state that the issue was moved from.
3623 pub from_state: Option<Box<WorkflowState>>,
3624 /// The state that the issue was moved to.
3625 pub to_state: Option<Box<WorkflowState>>,
3626 /// The team that the issue was moved from.
3627 pub from_team: Option<Box<Team>>,
3628 /// The team that the issue was moved to.
3629 pub to_team: Option<Box<Team>>,
3630 /// The parent issue that the issue was moved from.
3631 pub from_parent: Option<Box<Issue>>,
3632 /// The parent issue that the issue was moved to.
3633 pub to_parent: Option<Box<Issue>>,
3634 /// The linked attachment.
3635 pub attachment: Option<Box<Attachment>>,
3636 /// The import record.
3637 pub issue_import: Option<Box<IssueImport>>,
3638 /// The users that were notified of the issue.
3639 pub triage_responsibility_notified_users: Option<Box<Vec<User>>>,
3640 /// Boolean indicating if the issue was auto-assigned using the triage responsibility feature.
3641 pub triage_responsibility_auto_assigned: Option<bool>,
3642 /// The team that triggered the triage responsibility action.
3643 pub triage_responsibility_team: Option<Box<Team>>,
3644 /// The project milestone that the issue was moved from.
3645 pub from_project_milestone: Option<Box<ProjectMilestone>>,
3646 /// The project milestone that the issue was moved to.
3647 pub to_project_milestone: Option<Box<ProjectMilestone>>,
3648 /// The time at which the issue's SLA was previously started.
3649 pub from_sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3650 /// The time at which the issue's SLA is now started.
3651 pub to_sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3652 /// The SLA breach time that was previously set on the issue.
3653 pub from_sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3654 /// The SLA breach time that is now set on the issue.
3655 pub to_sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3656 /// Whether the issue had previously breached its SLA.
3657 pub from_sla_breached: Option<bool>,
3658 /// Whether the issue has now breached its SLA.
3659 pub to_sla_breached: Option<bool>,
3660 /// The type of SLA that was previously set on the issue.
3661 pub from_sla_type: Option<String>,
3662 /// The type of SLA that is now set on the issue.
3663 pub to_sla_type: Option<String>,
3664 /// The bot that performed the action.
3665 pub bot_actor: Option<Box<ActorBot>>,
3666 /// The labels that were added to the issue.
3667 pub added_labels: Option<Box<Vec<IssueLabel>>>,
3668 /// The labels that were removed from the issue.
3669 pub removed_labels: Option<Box<Vec<IssueLabel>>>,
3670 /// The releases that the issue was added to.
3671 pub added_to_releases: Option<Box<Vec<Release>>>,
3672 /// The releases that the issue was removed from.
3673 pub removed_from_releases: Option<Box<Vec<Release>>>,
3674 /// `INTERNAL` Metadata about the triage rule that made changes to the issue.
3675 pub triage_rule_metadata: Option<Box<IssueHistoryTriageRuleMetadata>>,
3676}
3677#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3678#[serde(rename_all = "camelCase", default)]
3679pub struct IssueHistoryConnection {
3680 pub edges: Option<Box<Vec<IssueHistoryEdge>>>,
3681 pub nodes: Option<Box<Vec<IssueHistory>>>,
3682 pub page_info: Option<Box<PageInfo>>,
3683}
3684#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3685#[serde(rename_all = "camelCase", default)]
3686pub struct IssueHistoryEdge {
3687 pub node: Option<Box<IssueHistory>>,
3688 /// Used in `before` and `after` args
3689 pub cursor: Option<String>,
3690}
3691/// An error that occurred during triage rule execution.
3692#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3693#[serde(rename_all = "camelCase", default)]
3694pub struct IssueHistoryTriageRuleError {
3695 /// The type of error that occurred.
3696 pub r#type: Option<TriageRuleErrorType>,
3697 /// The property that caused the error.
3698 pub property: Option<String>,
3699 /// Whether the conflict was for the same child label.
3700 pub conflict_for_same_child_label: Option<bool>,
3701 /// The team the issue was being moved from.
3702 pub from_team: Option<Box<Team>>,
3703 /// The team the issue was being moved to.
3704 pub to_team: Option<Box<Team>>,
3705 /// The conflicting labels.
3706 pub conflicting_labels: Option<Box<Vec<IssueLabel>>>,
3707}
3708/// Metadata about a triage rule that made changes to an issue.
3709#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3710#[serde(rename_all = "camelCase", default)]
3711pub struct IssueHistoryTriageRuleMetadata {
3712 /// The error that occurred, if any.
3713 pub triage_rule_error: Option<Box<IssueHistoryTriageRuleError>>,
3714 /// The triage rule that triggered the issue update.
3715 pub updated_by_triage_rule: Option<Box<WorkflowDefinition>>,
3716}
3717/// An import job for data from an external service.
3718#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3719#[serde(rename_all = "camelCase", default)]
3720pub struct IssueImport {
3721 /// The unique identifier of the entity.
3722 pub id: Option<String>,
3723 /// The time at which the entity was created.
3724 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3725 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3726 /// been updated after creation.
3727 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3728 /// The time at which the entity was archived. Null if the entity has not been archived.
3729 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3730 /// New team's name in cases when teamId not set.
3731 pub team_name: Option<String>,
3732 /// The id for the user that started the job.
3733 pub creator_id: Option<String>,
3734 /// The service from which data will be imported.
3735 pub service: Option<String>,
3736 /// The status for the import job.
3737 pub status: Option<String>,
3738 /// The data mapping configuration for the import job.
3739 pub mapping: Option<serde_json::Value>,
3740 /// User readable error message, if one has occurred during the import.
3741 pub error: Option<String>,
3742 /// Current step progress in % (0-100).
3743 pub progress: Option<f64>,
3744 /// File URL for the uploaded CSV for the import, if there is one.
3745 pub csv_file_url: Option<String>,
3746 /// Error code and metadata, if one has occurred during the import.
3747 pub error_metadata: Option<serde_json::Value>,
3748 /// Metadata related to import service.
3749 pub service_metadata: Option<serde_json::Value>,
3750 /// The display name of the import service.
3751 pub display_name: Option<String>,
3752}
3753#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3754#[serde(rename_all = "camelCase", default)]
3755pub struct IssueImportCheckPayload {
3756 /// Whether the operation was successful.
3757 pub success: Option<bool>,
3758}
3759#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3760#[serde(rename_all = "camelCase", default)]
3761pub struct IssueImportDeletePayload {
3762 /// The identifier of the last sync operation.
3763 pub last_sync_id: Option<f64>,
3764 /// The import job that was deleted.
3765 pub issue_import: Option<Box<IssueImport>>,
3766 /// Whether the operation was successful.
3767 pub success: Option<bool>,
3768}
3769/// Whether a custom JQL query is valid or not
3770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3771#[serde(rename_all = "camelCase", default)]
3772pub struct IssueImportJqlCheckPayload {
3773 /// Returns true if the JQL query has been validated successfully, false otherwise
3774 pub success: Option<bool>,
3775 /// Returns an approximate number of issues matching the JQL query, if available
3776 pub count: Option<f64>,
3777 /// An error message returned by Jira when validating the JQL query.
3778 pub error: Option<String>,
3779}
3780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3781#[serde(rename_all = "camelCase", default)]
3782pub struct IssueImportPayload {
3783 /// The identifier of the last sync operation.
3784 pub last_sync_id: Option<f64>,
3785 /// The import job that was created or updated.
3786 pub issue_import: Option<Box<IssueImport>>,
3787 /// Whether the operation was successful.
3788 pub success: Option<bool>,
3789}
3790/// Whether an issue import can be synced at the end of an import or not
3791#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3792#[serde(rename_all = "camelCase", default)]
3793pub struct IssueImportSyncCheckPayload {
3794 /// Returns true if the import can be synced, false otherwise
3795 pub can_sync: Option<bool>,
3796 /// An error message with a root cause of why the import cannot be synced
3797 pub error: Option<String>,
3798}
3799/// Labels that can be associated with issues.
3800#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3801#[serde(rename_all = "camelCase", default)]
3802pub struct IssueLabel {
3803 /// The unique identifier of the entity.
3804 pub id: Option<String>,
3805 /// The time at which the entity was created.
3806 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3807 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3808 /// been updated after creation.
3809 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3810 /// The time at which the entity was archived. Null if the entity has not been archived.
3811 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3812 /// The label's name.
3813 pub name: Option<String>,
3814 /// The label's description.
3815 pub description: Option<String>,
3816 /// The label's color as a HEX string.
3817 pub color: Option<String>,
3818 /// Whether the label is a group.
3819 pub is_group: Option<bool>,
3820 /// The date when the label was last applied to an issue or project.
3821 pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
3822 /// `Internal` When the label was retired.
3823 pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
3824 pub organization: Option<Box<Organization>>,
3825 /// The team that the label is associated with. If null, the label is associated with the global workspace.
3826 pub team: Option<Box<Team>>,
3827 /// The user who created the label.
3828 pub creator: Option<Box<User>>,
3829 /// The user who retired the label.
3830 pub retired_by: Option<Box<User>>,
3831 /// The parent label.
3832 pub parent: Option<Box<IssueLabel>>,
3833 /// The original label inherited from.
3834 pub inherited_from: Option<Box<IssueLabel>>,
3835 /// Issues associated with the label.
3836 pub issues: Option<Box<IssueConnection>>,
3837 /// Children of the label.
3838 pub children: Option<Box<IssueLabelConnection>>,
3839}
3840#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3841#[serde(rename_all = "camelCase", default)]
3842pub struct IssueLabelConnection {
3843 pub edges: Option<Box<Vec<IssueLabelEdge>>>,
3844 pub nodes: Option<Box<Vec<IssueLabel>>>,
3845 pub page_info: Option<Box<PageInfo>>,
3846}
3847#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3848#[serde(rename_all = "camelCase", default)]
3849pub struct IssueLabelEdge {
3850 pub node: Option<Box<IssueLabel>>,
3851 /// Used in `before` and `after` args
3852 pub cursor: Option<String>,
3853}
3854#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3855#[serde(rename_all = "camelCase", default)]
3856pub struct IssueLabelPayload {
3857 /// The identifier of the last sync operation.
3858 pub last_sync_id: Option<f64>,
3859 /// The label that was created or updated.
3860 pub issue_label: Option<Box<IssueLabel>>,
3861 /// Whether the operation was successful.
3862 pub success: Option<bool>,
3863}
3864/// An issue related notification.
3865#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3866#[serde(rename_all = "camelCase", default)]
3867pub struct IssueNotification {
3868 /// Related comment ID. Null if the notification is not related to a comment.
3869 pub comment_id: Option<String>,
3870 /// Related parent comment ID. Null if the notification is not related to a comment.
3871 pub parent_comment_id: Option<String>,
3872 /// Name of the reaction emoji related to the notification.
3873 pub reaction_emoji: Option<String>,
3874 /// The unique identifier of the entity.
3875 pub id: Option<String>,
3876 /// The time at which the entity was created.
3877 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3878 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3879 /// been updated after creation.
3880 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3881 /// The time at which the entity was archived. Null if the entity has not been archived.
3882 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3883 /// Notification type.
3884 pub r#type: Option<String>,
3885 /// The user that caused the notification.
3886 pub actor: Option<Box<User>>,
3887 /// The external user that caused the notification.
3888 pub external_user_actor: Option<Box<ExternalUser>>,
3889 /// The user that received the notification.
3890 pub user: Option<Box<User>>,
3891 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
3892 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
3893 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
3894 /// reminder has been sent.
3895 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
3896 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
3897 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
3898 /// The time at which a notification was unsnoozed..
3899 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
3900 /// The category of the notification.
3901 pub category: Option<NotificationCategory>,
3902 /// `Internal` URL to the target of the notification.
3903 pub url: Option<String>,
3904 /// `Internal` Inbox URL for the notification.
3905 pub inbox_url: Option<String>,
3906 /// `Internal` Notification title.
3907 pub title: Option<String>,
3908 /// `Internal` Notification subtitle.
3909 pub subtitle: Option<String>,
3910 /// `Internal` If notification actor was Linear.
3911 pub is_linear_actor: Option<bool>,
3912 /// `Internal` Notification avatar URL.
3913 pub actor_avatar_url: Option<String>,
3914 /// `Internal` Notification actor initials if avatar is not available.
3915 pub actor_initials: Option<String>,
3916 /// `Internal` Notification actor initials if avatar is not available.
3917 pub actor_avatar_color: Option<String>,
3918 /// `Internal` Issue's status type for issue notifications.
3919 pub issue_status_type: Option<String>,
3920 /// `Internal` Project update health for new updates.
3921 pub project_update_health: Option<String>,
3922 /// `Internal` Initiative update health for new updates.
3923 pub initiative_update_health: Option<String>,
3924 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
3925 pub grouping_key: Option<String>,
3926 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
3927 pub grouping_priority: Option<f64>,
3928 /// The bot that caused the notification.
3929 pub bot_actor: Option<Box<ActorBot>>,
3930 /// Related issue ID.
3931 pub issue_id: Option<String>,
3932 /// The issue related to the notification.
3933 pub issue: Option<Box<Issue>>,
3934 /// The comment related to the notification.
3935 pub comment: Option<Box<Comment>>,
3936 /// The parent comment related to the notification, if a notification is a reply comment notification.
3937 pub parent_comment: Option<Box<Comment>>,
3938 /// The team related to the issue notification.
3939 pub team: Option<Box<Team>>,
3940}
3941#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3942#[serde(rename_all = "camelCase", default)]
3943pub struct IssuePayload {
3944 /// The identifier of the last sync operation.
3945 pub last_sync_id: Option<f64>,
3946 /// The issue that was created or updated.
3947 pub issue: Option<Box<Issue>>,
3948 /// Whether the operation was successful.
3949 pub success: Option<bool>,
3950}
3951#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3952#[serde(rename_all = "camelCase", default)]
3953pub struct IssuePriorityValue {
3954 /// Priority's number value.
3955 pub priority: Option<i64>,
3956 /// Priority's label.
3957 pub label: Option<String>,
3958}
3959/// A relation between two issues.
3960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3961#[serde(rename_all = "camelCase", default)]
3962pub struct IssueRelation {
3963 /// The unique identifier of the entity.
3964 pub id: Option<String>,
3965 /// The time at which the entity was created.
3966 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3967 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3968 /// been updated after creation.
3969 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3970 /// The time at which the entity was archived. Null if the entity has not been archived.
3971 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3972 /// The relationship of the issue with the related issue.
3973 pub r#type: Option<String>,
3974 /// The issue whose relationship is being described.
3975 pub issue: Option<Box<Issue>>,
3976 /// The related issue.
3977 pub related_issue: Option<Box<Issue>>,
3978}
3979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3980#[serde(rename_all = "camelCase", default)]
3981pub struct IssueRelationConnection {
3982 pub edges: Option<Box<Vec<IssueRelationEdge>>>,
3983 pub nodes: Option<Box<Vec<IssueRelation>>>,
3984 pub page_info: Option<Box<PageInfo>>,
3985}
3986#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3987#[serde(rename_all = "camelCase", default)]
3988pub struct IssueRelationEdge {
3989 pub node: Option<Box<IssueRelation>>,
3990 /// Used in `before` and `after` args
3991 pub cursor: Option<String>,
3992}
3993/// Issue relation history's payload.
3994#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3995#[serde(rename_all = "camelCase", default)]
3996pub struct IssueRelationHistoryPayload {
3997 /// The identifier of the related issue.
3998 pub identifier: Option<String>,
3999 /// The type of the change.
4000 pub r#type: Option<String>,
4001}
4002#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4003#[serde(rename_all = "camelCase", default)]
4004pub struct IssueRelationPayload {
4005 /// The identifier of the last sync operation.
4006 pub last_sync_id: Option<f64>,
4007 /// The issue relation that was created or updated.
4008 pub issue_relation: Option<Box<IssueRelation>>,
4009 /// Whether the operation was successful.
4010 pub success: Option<bool>,
4011}
4012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4013#[serde(rename_all = "camelCase", default)]
4014pub struct IssueSearchPayload {
4015 pub edges: Option<Box<Vec<IssueSearchResultEdge>>>,
4016 pub nodes: Option<Box<Vec<IssueSearchResult>>>,
4017 pub page_info: Option<Box<PageInfo>>,
4018 /// Archived entities matching the search term along with all their dependencies.
4019 pub archive_payload: Option<Box<ArchiveResponse>>,
4020 /// Total number of results for query without filters applied.
4021 pub total_count: Option<f64>,
4022}
4023#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4024#[serde(rename_all = "camelCase", default)]
4025pub struct IssueSearchResult {
4026 /// The unique identifier of the entity.
4027 pub id: Option<String>,
4028 /// The time at which the entity was created.
4029 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4030 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4031 /// been updated after creation.
4032 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4033 /// The time at which the entity was archived. Null if the entity has not been archived.
4034 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4035 /// The issue's unique number.
4036 pub number: Option<f64>,
4037 /// The issue's title.
4038 pub title: Option<String>,
4039 /// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
4040 pub priority: Option<f64>,
4041 /// The estimate of the complexity of the issue..
4042 pub estimate: Option<f64>,
4043 /// The order of the item in its column on the board.
4044 pub board_order: Option<f64>,
4045 /// The order of the item in relation to other items in the organization.
4046 pub sort_order: Option<f64>,
4047 /// The order of the item in relation to other items in the organization, when ordered by priority.
4048 pub priority_sort_order: Option<f64>,
4049 /// The time at which the issue was moved into started state.
4050 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
4051 /// The time at which the issue was moved into completed state.
4052 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
4053 /// The time at which the issue entered triage.
4054 pub started_triage_at: Option<chrono::DateTime<chrono::Utc>>,
4055 /// The time at which the issue left triage.
4056 pub triaged_at: Option<chrono::DateTime<chrono::Utc>>,
4057 /// The time at which the issue was moved into canceled state.
4058 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
4059 /// The time at which the issue was automatically closed by the auto pruning process.
4060 pub auto_closed_at: Option<chrono::DateTime<chrono::Utc>>,
4061 /// The time at which the issue was automatically archived by the auto pruning process.
4062 pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
4063 /// The date at which the issue is due.
4064 pub due_date: Option<chrono::NaiveDate>,
4065 /// The time at which the issue's SLA began.
4066 pub sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
4067 /// The time at which the issue's SLA will enter medium risk state.
4068 pub sla_medium_risk_at: Option<chrono::DateTime<chrono::Utc>>,
4069 /// The time at which the issue's SLA will enter high risk state.
4070 pub sla_high_risk_at: Option<chrono::DateTime<chrono::Utc>>,
4071 /// The time at which the issue's SLA will breach.
4072 pub sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
4073 /// The type of SLA set on the issue. Calendar days or business days.
4074 pub sla_type: Option<String>,
4075 /// The time at which the issue was added to a project.
4076 pub added_to_project_at: Option<chrono::DateTime<chrono::Utc>>,
4077 /// The time at which the issue was added to a cycle.
4078 pub added_to_cycle_at: Option<chrono::DateTime<chrono::Utc>>,
4079 /// The time at which the issue was added to a team.
4080 pub added_to_team_at: Option<chrono::DateTime<chrono::Utc>>,
4081 /// A flag that indicates whether the issue is in the trash bin.
4082 pub trashed: Option<bool>,
4083 /// The time until an issue will be snoozed in Triage view.
4084 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
4085 /// `Internal` The time at which the most recent suggestions for this issue were generated.
4086 pub suggestions_generated_at: Option<chrono::DateTime<chrono::Utc>>,
4087 /// `Internal` The activity summary information for this issue.
4088 pub activity_summary: Option<serde_json::Value>,
4089 /// `Internal` AI-generated activity summary for this issue.
4090 pub summary: Option<Box<Summary>>,
4091 /// Id of the labels associated with this issue.
4092 pub label_ids: Option<Vec<String>>,
4093 /// The team that the issue is associated with.
4094 pub team: Option<Box<Team>>,
4095 /// The cycle that the issue is associated with.
4096 pub cycle: Option<Box<Cycle>>,
4097 /// The project that the issue is associated with.
4098 pub project: Option<Box<Project>>,
4099 /// The projectMilestone that the issue is associated with.
4100 pub project_milestone: Option<Box<ProjectMilestone>>,
4101 /// The last template that was applied to this issue.
4102 pub last_applied_template: Option<Box<Template>>,
4103 /// The recurring issue template that created this issue.
4104 pub recurring_issue_template: Option<Box<Template>>,
4105 /// Previous identifiers of the issue if it has been moved between teams.
4106 pub previous_identifiers: Option<Vec<String>>,
4107 /// The user who created the issue.
4108 pub creator: Option<Box<User>>,
4109 /// The external user who created the issue.
4110 pub external_user_creator: Option<Box<ExternalUser>>,
4111 /// The user to whom the issue is assigned to.
4112 pub assignee: Option<Box<User>>,
4113 /// The agent user that is delegated to work on this issue.
4114 pub delegate: Option<Box<User>>,
4115 /// The user who snoozed the issue.
4116 pub snoozed_by: Option<Box<User>>,
4117 /// The workflow state that the issue is associated with.
4118 pub state: Option<Box<WorkflowState>>,
4119 /// The order of the item in the sub-issue list. Only set if the issue has a parent.
4120 pub sub_issue_sort_order: Option<f64>,
4121 /// Emoji reaction summary, grouped by emoji type.
4122 pub reaction_data: Option<serde_json::Value>,
4123 /// Label for the priority.
4124 pub priority_label: Option<String>,
4125 /// The comment that this issue was created from.
4126 pub source_comment: Option<Box<Comment>>,
4127 /// Integration type that created this issue, if applicable.
4128 pub integration_source_type: Option<IntegrationService>,
4129 /// Documents associated with the issue.
4130 pub documents: Option<Box<DocumentConnection>>,
4131 /// The bot that created the issue, if applicable.
4132 pub bot_actor: Option<Box<ActorBot>>,
4133 /// The users favorite associated with this issue.
4134 pub favorite: Option<Box<Favorite>>,
4135 /// Issue's human readable identifier (e.g. ENG-123).
4136 pub identifier: Option<String>,
4137 /// Issue URL.
4138 pub url: Option<String>,
4139 /// Suggested branch name for the issue.
4140 pub branch_name: Option<String>,
4141 /// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
4142 pub customer_ticket_count: Option<i64>,
4143 /// Users who are subscribed to the issue.
4144 pub subscribers: Option<Box<UserConnection>>,
4145 /// The parent of the issue.
4146 pub parent: Option<Box<Issue>>,
4147 /// Children of the issue.
4148 pub children: Option<Box<IssueConnection>>,
4149 /// Comments associated with the issue.
4150 pub comments: Option<Box<CommentConnection>>,
4151 /// History entries associated with the issue.
4152 pub history: Option<Box<IssueHistoryConnection>>,
4153 /// Labels associated with this issue.
4154 pub labels: Option<Box<IssueLabelConnection>>,
4155 /// Relations associated with this issue.
4156 pub relations: Option<Box<IssueRelationConnection>>,
4157 /// Inverse relations associated with this issue.
4158 pub inverse_relations: Option<Box<IssueRelationConnection>>,
4159 /// Attachments associated with the issue.
4160 pub attachments: Option<Box<AttachmentConnection>>,
4161 /// Attachments previously associated with the issue before being moved to another issue.
4162 pub former_attachments: Option<Box<AttachmentConnection>>,
4163 /// The issue's description in markdown format.
4164 pub description: Option<String>,
4165 /// `Internal` The issue's description content as YJS state.
4166 pub description_state: Option<String>,
4167 /// `ALPHA` The document content representing this issue description.
4168 pub document_content: Option<Box<DocumentContent>>,
4169 /// Reactions associated with the issue.
4170 pub reactions: Option<Box<Vec<Reaction>>>,
4171 /// Customer needs associated with the issue.
4172 pub needs: Option<Box<CustomerNeedConnection>>,
4173 /// Customer needs previously associated with the issue before being moved to another issue.
4174 pub former_needs: Option<Box<CustomerNeedConnection>>,
4175 /// The external services the issue is synced with.
4176 pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
4177 /// `Internal` Product Intelligence suggestions for the issue.
4178 pub suggestions: Option<Box<IssueSuggestionConnection>>,
4179 /// `Internal` Incoming product intelligence relation suggestions for the issue.
4180 pub incoming_suggestions: Option<Box<IssueSuggestionConnection>>,
4181 /// The internal user who requested creation of the Asks issue on behalf of the creator.
4182 pub asks_requester: Option<Box<User>>,
4183 /// The external user who requested creation of the Asks issue on behalf of the creator.
4184 pub asks_external_user_requester: Option<Box<ExternalUser>>,
4185 /// The issue's workflow states over time.
4186 pub state_history: Option<Box<IssueStateSpanConnection>>,
4187 /// Metadata related to search result.
4188 pub metadata: Option<serde_json::Value>,
4189}
4190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4191#[serde(rename_all = "camelCase", default)]
4192pub struct IssueSearchResultEdge {
4193 pub node: Option<Box<IssueSearchResult>>,
4194 /// Used in `before` and `after` args
4195 pub cursor: Option<String>,
4196}
4197/// A continuous period of time during which an issue remained in a specific workflow state.
4198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4199#[serde(rename_all = "camelCase", default)]
4200pub struct IssueStateSpan {
4201 /// The unique identifier of the state span.
4202 pub id: Option<String>,
4203 /// The workflow state identifier for this span.
4204 pub state_id: Option<String>,
4205 /// The timestamp when the issue entered this state.
4206 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
4207 /// The timestamp when the issue left this state. Null if the issue is currently in this state.
4208 pub ended_at: Option<chrono::DateTime<chrono::Utc>>,
4209 /// The workflow state for this span.
4210 pub state: Option<Box<WorkflowState>>,
4211}
4212#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4213#[serde(rename_all = "camelCase", default)]
4214pub struct IssueStateSpanConnection {
4215 pub edges: Option<Box<Vec<IssueStateSpanEdge>>>,
4216 pub nodes: Option<Box<Vec<IssueStateSpan>>>,
4217 pub page_info: Option<Box<PageInfo>>,
4218}
4219#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4220#[serde(rename_all = "camelCase", default)]
4221pub struct IssueStateSpanEdge {
4222 pub node: Option<Box<IssueStateSpan>>,
4223 /// Used in `before` and `after` args
4224 pub cursor: Option<String>,
4225}
4226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4227#[serde(rename_all = "camelCase", default)]
4228pub struct IssueSuggestion {
4229 /// The unique identifier of the entity.
4230 pub id: Option<String>,
4231 /// The time at which the entity was created.
4232 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4233 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4234 /// been updated after creation.
4235 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4236 /// The time at which the entity was archived. Null if the entity has not been archived.
4237 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4238 pub issue: Option<Box<Issue>>,
4239 pub issue_id: Option<String>,
4240 pub r#type: Option<IssueSuggestionType>,
4241 pub state: Option<IssueSuggestionState>,
4242 pub state_changed_at: Option<chrono::DateTime<chrono::Utc>>,
4243 pub dismissal_reason: Option<String>,
4244 pub metadata: Option<Box<IssueSuggestionMetadata>>,
4245 pub suggested_issue: Option<Box<Issue>>,
4246 pub suggested_issue_id: Option<String>,
4247 pub suggested_team: Option<Box<Team>>,
4248 pub suggested_project: Option<Box<Project>>,
4249 pub suggested_user: Option<Box<User>>,
4250 pub suggested_user_id: Option<String>,
4251 pub suggested_label: Option<Box<IssueLabel>>,
4252 pub suggested_label_id: Option<String>,
4253}
4254#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4255#[serde(rename_all = "camelCase", default)]
4256pub struct IssueSuggestionConnection {
4257 pub edges: Option<Box<Vec<IssueSuggestionEdge>>>,
4258 pub nodes: Option<Box<Vec<IssueSuggestion>>>,
4259 pub page_info: Option<Box<PageInfo>>,
4260}
4261#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4262#[serde(rename_all = "camelCase", default)]
4263pub struct IssueSuggestionEdge {
4264 pub node: Option<Box<IssueSuggestion>>,
4265 /// Used in `before` and `after` args
4266 pub cursor: Option<String>,
4267}
4268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4269#[serde(rename_all = "camelCase", default)]
4270pub struct IssueSuggestionMetadata {
4271 pub score: Option<f64>,
4272 pub classification: Option<String>,
4273 pub reasons: Option<Vec<String>>,
4274 pub eval_log_id: Option<String>,
4275 pub rank: Option<f64>,
4276 pub variant: Option<String>,
4277 pub applied_automation_rule_id: Option<String>,
4278}
4279#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4280#[serde(rename_all = "camelCase", default)]
4281pub struct IssueTitleSuggestionFromCustomerRequestPayload {
4282 /// The identifier of the last sync operation.
4283 pub last_sync_id: Option<f64>,
4284 /// The suggested issue title.
4285 pub title: Option<String>,
4286 /// `Internal` The log id of the ai response.
4287 pub log_id: Option<String>,
4288}
4289/// `Internal` Join table between issues and releases.
4290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4291#[serde(rename_all = "camelCase", default)]
4292pub struct IssueToRelease {
4293 /// The unique identifier of the entity.
4294 pub id: Option<String>,
4295 /// The time at which the entity was created.
4296 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4297 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4298 /// been updated after creation.
4299 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4300 /// The time at which the entity was archived. Null if the entity has not been archived.
4301 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4302 /// The issue associated with the release.
4303 pub issue: Option<Box<Issue>>,
4304 /// The release associated with the issue.
4305 pub release: Option<Box<Release>>,
4306 /// The pull request that linked this issue to the release.
4307 pub pull_request: Option<Box<PullRequest>>,
4308}
4309#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4310#[serde(rename_all = "camelCase", default)]
4311pub struct IssueToReleaseConnection {
4312 pub edges: Option<Box<Vec<IssueToReleaseEdge>>>,
4313 pub nodes: Option<Box<Vec<IssueToRelease>>>,
4314 pub page_info: Option<Box<PageInfo>>,
4315}
4316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4317#[serde(rename_all = "camelCase", default)]
4318pub struct IssueToReleaseEdge {
4319 pub node: Option<Box<IssueToRelease>>,
4320 /// Used in `before` and `after` args
4321 pub cursor: Option<String>,
4322}
4323/// `ALPHA` The result of an issueToRelease mutation.
4324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4325#[serde(rename_all = "camelCase", default)]
4326pub struct IssueToReleasePayload {
4327 /// The identifier of the last sync operation.
4328 pub last_sync_id: Option<f64>,
4329 /// The issueToRelease that was created or updated.
4330 pub issue_to_release: Option<Box<IssueToRelease>>,
4331 /// Whether the operation was successful.
4332 pub success: Option<bool>,
4333}
4334/// A label notification subscription.
4335#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4336#[serde(rename_all = "camelCase", default)]
4337pub struct LabelNotificationSubscription {
4338 /// The unique identifier of the entity.
4339 pub id: Option<String>,
4340 /// The time at which the entity was created.
4341 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4342 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4343 /// been updated after creation.
4344 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4345 /// The time at which the entity was archived. Null if the entity has not been archived.
4346 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4347 /// The user that subscribed to receive notifications.
4348 pub subscriber: Option<Box<User>>,
4349 /// The customer associated with the notification subscription.
4350 pub customer: Option<Box<Customer>>,
4351 /// The contextual custom view associated with the notification subscription.
4352 pub custom_view: Option<Box<CustomView>>,
4353 /// The contextual cycle view associated with the notification subscription.
4354 pub cycle: Option<Box<Cycle>>,
4355 /// The label subscribed to.
4356 pub label: Option<Box<IssueLabel>>,
4357 /// The contextual project view associated with the notification subscription.
4358 pub project: Option<Box<Project>>,
4359 /// The contextual initiative view associated with the notification subscription.
4360 pub initiative: Option<Box<Initiative>>,
4361 /// The team associated with the notification subscription.
4362 pub team: Option<Box<Team>>,
4363 /// The user view associated with the notification subscription.
4364 pub user: Option<Box<User>>,
4365 /// The type of view to which the notification subscription context is associated with.
4366 pub context_view_type: Option<ContextViewType>,
4367 /// The type of user view to which the notification subscription context is associated with.
4368 pub user_context_view_type: Option<UserContextViewType>,
4369 /// Whether the subscription is active or not.
4370 pub active: Option<bool>,
4371 /// The type of subscription.
4372 pub notification_subscription_types: Option<Vec<String>>,
4373}
4374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4375#[serde(rename_all = "camelCase", default)]
4376pub struct LogoutResponse {
4377 /// Whether the operation was successful.
4378 pub success: Option<bool>,
4379}
4380/// A generic payload return from entity archive mutations.
4381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4382#[serde(rename_all = "camelCase", default)]
4383pub struct NotificationArchivePayload {
4384 /// The identifier of the last sync operation.
4385 pub last_sync_id: Option<f64>,
4386 /// Whether the operation was successful.
4387 pub success: Option<bool>,
4388}
4389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4390#[serde(rename_all = "camelCase", default)]
4391pub struct NotificationBatchActionPayload {
4392 /// The identifier of the last sync operation.
4393 pub last_sync_id: Option<f64>,
4394 /// Whether the operation was successful.
4395 pub success: Option<bool>,
4396}
4397/// A user's notification category preferences.
4398#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4399#[serde(rename_all = "camelCase", default)]
4400pub struct NotificationCategoryPreferences {
4401 /// The preferences for notifications about assignments.
4402 pub assignments: Option<Box<NotificationChannelPreferences>>,
4403 /// The preferences for notifications about status changes.
4404 pub status_changes: Option<Box<NotificationChannelPreferences>>,
4405 /// The preferences for notifications about comments and replies.
4406 pub comments_and_replies: Option<Box<NotificationChannelPreferences>>,
4407 /// The preferences for notifications about mentions.
4408 pub mentions: Option<Box<NotificationChannelPreferences>>,
4409 /// The preferences for notifications about reactions.
4410 pub reactions: Option<Box<NotificationChannelPreferences>>,
4411 /// The preferences for notifications about subscriptions.
4412 pub subscriptions: Option<Box<NotificationChannelPreferences>>,
4413 /// The preferences for notifications about document changes.
4414 pub document_changes: Option<Box<NotificationChannelPreferences>>,
4415 /// The preferences for notifications about posts and updates.
4416 pub posts_and_updates: Option<Box<NotificationChannelPreferences>>,
4417 /// The preferences for notifications about reminders.
4418 pub reminders: Option<Box<NotificationChannelPreferences>>,
4419 /// The preferences for notifications about reviews.
4420 pub reviews: Option<Box<NotificationChannelPreferences>>,
4421 /// The preferences for notifications about apps and integrations.
4422 pub apps_and_integrations: Option<Box<NotificationChannelPreferences>>,
4423 /// The preferences for system notifications.
4424 pub system: Option<Box<NotificationChannelPreferences>>,
4425 /// The preferences for triage notifications.
4426 pub triage: Option<Box<NotificationChannelPreferences>>,
4427 /// The preferences for customer notifications.
4428 pub customers: Option<Box<NotificationChannelPreferences>>,
4429 /// The preferences for feed summary notifications.
4430 pub feed: Option<Box<NotificationChannelPreferences>>,
4431}
4432/// A user's notification channel preferences, indicating if a channel is enabled or not
4433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4434#[serde(rename_all = "camelCase", default)]
4435pub struct NotificationChannelPreferences {
4436 /// Whether notifications are currently enabled for mobile.
4437 pub mobile: Option<bool>,
4438 /// Whether notifications are currently enabled for desktop.
4439 pub desktop: Option<bool>,
4440 /// Whether notifications are currently enabled for email.
4441 pub email: Option<bool>,
4442 /// Whether notifications are currently enabled for Slack.
4443 pub slack: Option<bool>,
4444}
4445#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4446#[serde(rename_all = "camelCase", default)]
4447pub struct NotificationConnection {
4448 pub edges: Option<Box<Vec<NotificationEdge>>>,
4449 pub page_info: Option<Box<PageInfo>>,
4450}
4451/// A user's notification delivery preferences.
4452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4453#[serde(rename_all = "camelCase", default)]
4454pub struct NotificationDeliveryPreferences {
4455 /// The delivery preferences for the mobile channel.
4456 pub mobile: Option<Box<NotificationDeliveryPreferencesChannel>>,
4457}
4458/// A user's notification delivery preferences.
4459#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4460#[serde(rename_all = "camelCase", default)]
4461pub struct NotificationDeliveryPreferencesChannel {
4462 /// `DEPRECATED` Whether notifications are enabled for this channel. Use notificationChannelPreferences instead.
4463 pub notifications_disabled: Option<bool>,
4464 /// The schedule for notifications on this channel.
4465 pub schedule: Option<Box<NotificationDeliveryPreferencesSchedule>>,
4466}
4467/// A user's notification delivery schedule for a particular day.
4468#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4469#[serde(rename_all = "camelCase", default)]
4470pub struct NotificationDeliveryPreferencesDay {
4471 /// The time notifications start.
4472 pub start: Option<String>,
4473 /// The time notifications end.
4474 pub end: Option<String>,
4475}
4476/// A user's notification delivery schedule for a particular day.
4477#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4478#[serde(rename_all = "camelCase", default)]
4479pub struct NotificationDeliveryPreferencesSchedule {
4480 /// Whether the schedule is disabled.
4481 pub disabled: Option<bool>,
4482 /// Delivery preferences for Sunday.
4483 pub sunday: Option<Box<NotificationDeliveryPreferencesDay>>,
4484 /// Delivery preferences for Monday.
4485 pub monday: Option<Box<NotificationDeliveryPreferencesDay>>,
4486 /// Delivery preferences for Tuesday.
4487 pub tuesday: Option<Box<NotificationDeliveryPreferencesDay>>,
4488 /// Delivery preferences for Wednesday.
4489 pub wednesday: Option<Box<NotificationDeliveryPreferencesDay>>,
4490 /// Delivery preferences for Thursday.
4491 pub thursday: Option<Box<NotificationDeliveryPreferencesDay>>,
4492 /// Delivery preferences for Friday.
4493 pub friday: Option<Box<NotificationDeliveryPreferencesDay>>,
4494 /// Delivery preferences for Saturday.
4495 pub saturday: Option<Box<NotificationDeliveryPreferencesDay>>,
4496}
4497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4498#[serde(rename_all = "camelCase", default)]
4499pub struct NotificationEdge {
4500 /// Used in `before` and `after` args
4501 pub cursor: Option<String>,
4502}
4503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4504#[serde(rename_all = "camelCase", default)]
4505pub struct NotificationPayload {
4506 /// The identifier of the last sync operation.
4507 pub last_sync_id: Option<f64>,
4508 /// Whether the operation was successful.
4509 pub success: Option<bool>,
4510}
4511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4512#[serde(rename_all = "camelCase", default)]
4513pub struct NotificationSubscriptionConnection {
4514 pub edges: Option<Box<Vec<NotificationSubscriptionEdge>>>,
4515 pub page_info: Option<Box<PageInfo>>,
4516}
4517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4518#[serde(rename_all = "camelCase", default)]
4519pub struct NotificationSubscriptionEdge {
4520 /// Used in `before` and `after` args
4521 pub cursor: Option<String>,
4522}
4523#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4524#[serde(rename_all = "camelCase", default)]
4525pub struct NotificationSubscriptionPayload {
4526 /// The identifier of the last sync operation.
4527 pub last_sync_id: Option<f64>,
4528 /// Whether the operation was successful.
4529 pub success: Option<bool>,
4530}
4531/// Request to install OAuth clients on organizations and the response to the request.
4532#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4533#[serde(rename_all = "camelCase", default)]
4534pub struct OauthClientApproval {
4535 /// The unique identifier of the entity.
4536 pub id: Option<String>,
4537 /// The time at which the entity was created.
4538 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4539 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4540 /// been updated after creation.
4541 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4542 /// The time at which the entity was archived. Null if the entity has not been archived.
4543 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4544 /// The uuid of the OAuth client being requested for installation.
4545 pub oauth_client_id: Option<String>,
4546 /// The person who requested installing the OAuth client.
4547 pub requester_id: Option<String>,
4548 /// The person who responded to the request to install the OAuth client.
4549 pub responder_id: Option<String>,
4550 /// The status for the OAuth client approval request.
4551 pub status: Option<OAuthClientApprovalStatus>,
4552 /// The scopes the app has been approved for.
4553 pub scopes: Option<Vec<String>>,
4554 /// The reason the person wants to install this OAuth client.
4555 pub request_reason: Option<String>,
4556 /// The reason the request for the OAuth client approval was denied.
4557 pub deny_reason: Option<String>,
4558 /// New scopes that were requested for approval after the initial request.
4559 pub newly_requested_scopes: Option<Vec<String>>,
4560}
4561/// An oauth client approval related notification.
4562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4563#[serde(rename_all = "camelCase", default)]
4564pub struct OauthClientApprovalNotification {
4565 /// The unique identifier of the entity.
4566 pub id: Option<String>,
4567 /// The time at which the entity was created.
4568 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4569 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4570 /// been updated after creation.
4571 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4572 /// The time at which the entity was archived. Null if the entity has not been archived.
4573 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4574 /// Notification type.
4575 pub r#type: Option<String>,
4576 /// The user that caused the notification.
4577 pub actor: Option<Box<User>>,
4578 /// The external user that caused the notification.
4579 pub external_user_actor: Option<Box<ExternalUser>>,
4580 /// The user that received the notification.
4581 pub user: Option<Box<User>>,
4582 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
4583 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
4584 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
4585 /// reminder has been sent.
4586 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
4587 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
4588 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
4589 /// The time at which a notification was unsnoozed..
4590 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
4591 /// The category of the notification.
4592 pub category: Option<NotificationCategory>,
4593 /// `Internal` URL to the target of the notification.
4594 pub url: Option<String>,
4595 /// `Internal` Inbox URL for the notification.
4596 pub inbox_url: Option<String>,
4597 /// `Internal` Notification title.
4598 pub title: Option<String>,
4599 /// `Internal` Notification subtitle.
4600 pub subtitle: Option<String>,
4601 /// `Internal` If notification actor was Linear.
4602 pub is_linear_actor: Option<bool>,
4603 /// `Internal` Notification avatar URL.
4604 pub actor_avatar_url: Option<String>,
4605 /// `Internal` Notification actor initials if avatar is not available.
4606 pub actor_initials: Option<String>,
4607 /// `Internal` Notification actor initials if avatar is not available.
4608 pub actor_avatar_color: Option<String>,
4609 /// `Internal` Issue's status type for issue notifications.
4610 pub issue_status_type: Option<String>,
4611 /// `Internal` Project update health for new updates.
4612 pub project_update_health: Option<String>,
4613 /// `Internal` Initiative update health for new updates.
4614 pub initiative_update_health: Option<String>,
4615 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
4616 pub grouping_key: Option<String>,
4617 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
4618 pub grouping_priority: Option<f64>,
4619 /// The bot that caused the notification.
4620 pub bot_actor: Option<Box<ActorBot>>,
4621 /// Related OAuth client approval request ID.
4622 pub oauth_client_approval_id: Option<String>,
4623 /// The OAuth client approval request related to the notification.
4624 pub oauth_client_approval: Option<Box<OauthClientApproval>>,
4625}
4626/// An organization. Organizations are root-level objects that contain user accounts and teams.
4627#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4628#[serde(rename_all = "camelCase", default)]
4629pub struct Organization {
4630 /// The unique identifier of the entity.
4631 pub id: Option<String>,
4632 /// The time at which the entity was created.
4633 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4634 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4635 /// been updated after creation.
4636 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4637 /// The time at which the entity was archived. Null if the entity has not been archived.
4638 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4639 /// The organization's name.
4640 pub name: Option<String>,
4641 /// The organization's unique URL key.
4642 pub url_key: Option<String>,
4643 /// The organization's logo URL.
4644 pub logo_url: Option<String>,
4645 /// Rolling 30-day total upload volume for the organization, in megabytes.
4646 pub period_upload_volume: Option<f64>,
4647 /// `Internal` Facets associated with the organization.
4648 pub facets: Option<Box<Vec<Facet>>>,
4649 /// How git branches are formatted. If null, default formatting will be used.
4650 pub git_branch_format: Option<String>,
4651 /// Whether the Git integration linkback messages should be sent to private repositories.
4652 pub git_linkback_messages_enabled: Option<bool>,
4653 /// Whether the Git integration linkback messages should be sent to public repositories.
4654 pub git_public_linkback_messages_enabled: Option<bool>,
4655 /// Whether issue descriptions should be included in Git integration linkback messages.
4656 pub git_linkback_descriptions_enabled: Option<bool>,
4657 /// Whether the organization is using a roadmap.
4658 pub roadmap_enabled: Option<bool>,
4659 /// The n-weekly frequency at which to prompt for project updates. When not set, reminders are off.
4660 pub project_update_reminder_frequency_in_weeks: Option<f64>,
4661 /// The day at which to prompt for project updates.
4662 pub project_update_reminders_day: Option<Day>,
4663 /// The hour at which to prompt for project updates.
4664 pub project_update_reminders_hour: Option<f64>,
4665 /// The n-weekly frequency at which to prompt for initiative updates. When not set, reminders are off.
4666 pub initiative_update_reminder_frequency_in_weeks: Option<f64>,
4667 /// The day at which to prompt for initiative updates.
4668 pub initiative_update_reminders_day: Option<Day>,
4669 /// The hour at which to prompt for initiative updates.
4670 pub initiative_update_reminders_hour: Option<f64>,
4671 /// The month at which the fiscal year starts. Defaults to January (0).
4672 pub fiscal_year_start_month: Option<f64>,
4673 /// `Internal` The list of working days. Sunday is 0, Monday is 1, etc.
4674 pub working_days: Option<Vec<f64>>,
4675 /// Whether SAML authentication is enabled for organization.
4676 pub saml_enabled: Option<bool>,
4677 /// `INTERNAL` SAML settings.
4678 pub saml_settings: Option<serde_json::Value>,
4679 /// Whether SCIM provisioning is enabled for organization.
4680 pub scim_enabled: Option<bool>,
4681 /// `INTERNAL` SCIM settings.
4682 pub scim_settings: Option<serde_json::Value>,
4683 /// Security settings for the organization.
4684 pub security_settings: Option<serde_json::Value>,
4685 /// Allowed authentication providers, empty array means all are allowed.
4686 pub allowed_auth_services: Option<Vec<String>>,
4687 /// Allowed file upload content types
4688 pub allowed_file_upload_content_types: Option<Vec<String>>,
4689 /// IP restriction configurations.
4690 pub ip_restrictions: Option<Box<Vec<OrganizationIpRestriction>>>,
4691 /// The time at which deletion of the organization was requested.
4692 pub deletion_requested_at: Option<chrono::DateTime<chrono::Utc>>,
4693 /// The time at which the trial will end.
4694 pub trial_ends_at: Option<chrono::DateTime<chrono::Utc>>,
4695 /// The time at which the trial started.
4696 pub trial_starts_at: Option<chrono::DateTime<chrono::Utc>>,
4697 /// Previously used URL keys for the organization (last 3 are kept and redirected).
4698 pub previous_url_keys: Option<Vec<String>>,
4699 /// Whether HIPAA compliance is enabled for organization.
4700 pub hipaa_compliance_enabled: Option<bool>,
4701 /// `ALPHA` Theme settings for the organization.
4702 pub theme_settings: Option<serde_json::Value>,
4703 /// The feature release channel the organization belongs to.
4704 pub release_channel: Option<ReleaseChannel>,
4705 /// Configuration settings for the Customers feature.
4706 pub customers_configuration: Option<serde_json::Value>,
4707 /// `INTERNAL` Whether code intelligence is enabled for the organization.
4708 pub code_intelligence_enabled: Option<bool>,
4709 /// `INTERNAL` GitHub repository in owner/repo format for code intelligence.
4710 pub code_intelligence_repository: Option<String>,
4711 /// Default schedule for how often feed summaries are generated.
4712 pub default_feed_summary_schedule: Option<FeedSummarySchedule>,
4713 /// Whether the organization has enabled the feed feature.
4714 pub feed_enabled: Option<bool>,
4715 /// Whether to hide other organizations for new users signing up with email domains claimed by this organization.
4716 pub hide_non_primary_organizations: Option<bool>,
4717 /// `INTERNAL` Whether the organization has enabled the AI add-on (which at this point only includes triage suggestions).
4718 pub ai_addon_enabled: Option<bool>,
4719 /// `INTERNAL` Whether the organization has enabled generated updates.
4720 pub generated_updates_enabled: Option<bool>,
4721 /// Whether the organization has enabled resolved thread AI summaries.
4722 pub ai_thread_summaries_enabled: Option<bool>,
4723 /// Whether the organization has enabled AI discussion summaries for issues.
4724 pub ai_discussion_summaries_enabled: Option<bool>,
4725 /// `INTERNAL` Configure per-modality AI host providers and model families.
4726 pub ai_provider_configuration: Option<serde_json::Value>,
4727 /// `Internal` Whether the organization has enabled Linear Agent.
4728 pub linear_agent_enabled: Option<bool>,
4729 /// `DEPRECATED` Which day count to use for SLA calculations.
4730 pub sla_day_count: Option<SLADayCountType>,
4731 /// `DEPRECATED` The frequency at which to prompt for project updates.
4732 pub project_updates_reminder_frequency: Option<ProjectUpdateReminderFrequency>,
4733 /// `INTERNAL` Permitted AI providers.
4734 pub allowed_ai_providers: Option<Vec<String>>,
4735 /// Users associated with the organization.
4736 pub users: Option<Box<UserConnection>>,
4737 /// Teams associated with the organization.
4738 pub teams: Option<Box<TeamConnection>>,
4739 /// The organization's project statuses.
4740 pub project_statuses: Option<Box<Vec<ProjectStatus>>>,
4741 /// Integrations associated with the organization.
4742 pub integrations: Option<Box<IntegrationConnection>>,
4743 /// The Slack integration used for auto-creating project channels.
4744 pub slack_project_channel_integration: Option<Box<Integration>>,
4745 /// The prefix used for auto-created Slack project channels.
4746 pub slack_project_channel_prefix: Option<String>,
4747 /// The organization's subscription to a paid plan.
4748 pub subscription: Option<Box<PaidSubscription>>,
4749 /// Number of active users in the organization.
4750 pub user_count: Option<i64>,
4751 /// Aproximate number of issues in the organization, including archived ones.
4752 pub created_issue_count: Option<i64>,
4753 /// Templates associated with the organization.
4754 pub templates: Option<Box<TemplateConnection>>,
4755 /// Labels associated with the organization.
4756 pub labels: Option<Box<IssueLabelConnection>>,
4757 /// Project labels associated with the organization.
4758 pub project_labels: Option<Box<ProjectLabelConnection>>,
4759 /// Number of customers in the organization.
4760 pub customer_count: Option<i64>,
4761 /// Whether the organization is using Customers.
4762 pub customers_enabled: Option<bool>,
4763 /// `DEPRECATED` Whether member users are allowed to send invites.
4764 pub allow_members_to_invite: Option<bool>,
4765 /// `DEPRECATED` Whether team creation is restricted to admins.
4766 pub restrict_team_creation_to_admins: Option<bool>,
4767 /// `DEPRECATED` Whether workspace label creation, update, and deletion is restricted to admins.
4768 pub restrict_label_management_to_admins: Option<bool>,
4769}
4770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4771#[serde(rename_all = "camelCase", default)]
4772pub struct OrganizationAcceptedOrExpiredInviteDetailsPayload {
4773 /// The status of the invite.
4774 pub status: Option<OrganizationInviteStatus>,
4775}
4776#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4777#[serde(rename_all = "camelCase", default)]
4778pub struct OrganizationCancelDeletePayload {
4779 /// Whether the operation was successful.
4780 pub success: Option<bool>,
4781}
4782#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4783#[serde(rename_all = "camelCase", default)]
4784pub struct OrganizationDeletePayload {
4785 /// Whether the operation was successful.
4786 pub success: Option<bool>,
4787}
4788/// Defines the use of a domain by an organization.
4789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4790#[serde(rename_all = "camelCase", default)]
4791pub struct OrganizationDomain {
4792 /// The unique identifier of the entity.
4793 pub id: Option<String>,
4794 /// The time at which the entity was created.
4795 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4796 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4797 /// been updated after creation.
4798 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4799 /// The time at which the entity was archived. Null if the entity has not been archived.
4800 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4801 /// The identity provider the domain belongs to.
4802 pub identity_provider: Option<Box<IdentityProvider>>,
4803 /// Domain name.
4804 pub name: Option<String>,
4805 /// Is this domain verified.
4806 pub verified: Option<bool>,
4807 /// E-mail used to verify this domain.
4808 pub verification_email: Option<String>,
4809 /// The user who added the domain.
4810 pub creator: Option<Box<User>>,
4811 /// What type of auth is the domain used for.
4812 pub auth_type: Option<OrganizationDomainAuthType>,
4813 /// Whether the domains was claimed by the organization through DNS verification.
4814 pub claimed: Option<bool>,
4815 /// Prevent users with this domain to create new workspaces.
4816 pub disable_organization_creation: Option<bool>,
4817}
4818/// `INTERNAL` Domain claim request response.
4819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4820#[serde(rename_all = "camelCase", default)]
4821pub struct OrganizationDomainClaimPayload {
4822 /// String to put into DNS for verification.
4823 pub verification_string: Option<String>,
4824}
4825/// `INTERNAL` Organization domain operation response.
4826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4827#[serde(rename_all = "camelCase", default)]
4828pub struct OrganizationDomainPayload {
4829 /// The identifier of the last sync operation.
4830 pub last_sync_id: Option<f64>,
4831 /// The organization domain that was created or updated.
4832 pub organization_domain: Option<Box<OrganizationDomain>>,
4833 /// Whether the operation was successful.
4834 pub success: Option<bool>,
4835}
4836/// `INTERNAL` Organization domain operation response.
4837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4838#[serde(rename_all = "camelCase", default)]
4839pub struct OrganizationDomainSimplePayload {
4840 /// Whether the operation was successful.
4841 pub success: Option<bool>,
4842}
4843#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4844#[serde(rename_all = "camelCase", default)]
4845pub struct OrganizationExistsPayload {
4846 /// Whether the operation was successful.
4847 pub success: Option<bool>,
4848 /// Whether the organization exists.
4849 pub exists: Option<bool>,
4850}
4851/// An invitation to the organization that has been sent via email.
4852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4853#[serde(rename_all = "camelCase", default)]
4854pub struct OrganizationInvite {
4855 /// The unique identifier of the entity.
4856 pub id: Option<String>,
4857 /// The time at which the entity was created.
4858 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4859 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4860 /// been updated after creation.
4861 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4862 /// The time at which the entity was archived. Null if the entity has not been archived.
4863 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4864 /// The invitees email address.
4865 pub email: Option<String>,
4866 /// The user role that the invitee will receive upon accepting the invite.
4867 pub role: Option<UserRoleType>,
4868 /// The invite was sent to external address.
4869 pub external: Option<bool>,
4870 /// The time at which the invite was accepted. Null, if the invite hasn't been accepted.
4871 pub accepted_at: Option<chrono::DateTime<chrono::Utc>>,
4872 /// The time at which the invite will be expiring. Null, if the invite shouldn't expire.
4873 pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
4874 /// Extra metadata associated with the organization invite.
4875 pub metadata: Option<serde_json::Value>,
4876 /// The user who created the invitation.
4877 pub inviter: Option<Box<User>>,
4878 /// The user who has accepted the invite. Null, if the invite hasn't been accepted.
4879 pub invitee: Option<Box<User>>,
4880 /// The organization that the invite is associated with.
4881 pub organization: Option<Box<Organization>>,
4882}
4883#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4884#[serde(rename_all = "camelCase", default)]
4885pub struct OrganizationInviteConnection {
4886 pub edges: Option<Box<Vec<OrganizationInviteEdge>>>,
4887 pub nodes: Option<Box<Vec<OrganizationInvite>>>,
4888 pub page_info: Option<Box<PageInfo>>,
4889}
4890#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4891#[serde(rename_all = "camelCase", default)]
4892pub struct OrganizationInviteEdge {
4893 pub node: Option<Box<OrganizationInvite>>,
4894 /// Used in `before` and `after` args
4895 pub cursor: Option<String>,
4896}
4897#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4898#[serde(rename_all = "camelCase", default)]
4899pub struct OrganizationInviteFullDetailsPayload {
4900 /// The status of the invite.
4901 pub status: Option<OrganizationInviteStatus>,
4902 /// The name of the inviter.
4903 pub inviter: Option<String>,
4904 /// The email of the invitee.
4905 pub email: Option<String>,
4906 /// What user role the invite should grant.
4907 pub role: Option<UserRoleType>,
4908 /// When the invite was created.
4909 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4910 /// Name of the workspace the invite is for.
4911 pub organization_name: Option<String>,
4912 /// ID of the workspace the invite is for.
4913 pub organization_id: Option<String>,
4914 /// URL of the workspace logo the invite is for.
4915 pub organization_logo_url: Option<String>,
4916 /// Whether the invite has already been accepted.
4917 pub accepted: Option<bool>,
4918 /// Whether the invite has expired.
4919 pub expired: Option<bool>,
4920 /// Allowed authentication providers, empty array means all are allowed.
4921 pub allowed_auth_services: Option<Vec<String>>,
4922}
4923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4924#[serde(rename_all = "camelCase", default)]
4925pub struct OrganizationInvitePayload {
4926 /// The identifier of the last sync operation.
4927 pub last_sync_id: Option<f64>,
4928 /// The organization invite that was created or updated.
4929 pub organization_invite: Option<Box<OrganizationInvite>>,
4930 /// Whether the operation was successful.
4931 pub success: Option<bool>,
4932}
4933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4934#[serde(rename_all = "camelCase", default)]
4935pub struct OrganizationIpRestriction {
4936 /// IP range in CIDR format.
4937 pub range: Option<String>,
4938 /// Restriction type.
4939 pub r#type: Option<String>,
4940 /// Optional restriction description.
4941 pub description: Option<String>,
4942 /// Whether the restriction is enabled.
4943 pub enabled: Option<bool>,
4944}
4945#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4946#[serde(rename_all = "camelCase", default)]
4947pub struct OrganizationMeta {
4948 /// The region the organization is hosted in.
4949 pub region: Option<String>,
4950 /// Allowed authentication providers, empty array means all are allowed.
4951 pub allowed_auth_services: Option<Vec<String>>,
4952}
4953#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4954#[serde(rename_all = "camelCase", default)]
4955pub struct OrganizationPayload {
4956 /// The identifier of the last sync operation.
4957 pub last_sync_id: Option<f64>,
4958 /// The organization that was created or updated.
4959 pub organization: Option<Box<Organization>>,
4960 /// Whether the operation was successful.
4961 pub success: Option<bool>,
4962}
4963#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4964#[serde(rename_all = "camelCase", default)]
4965pub struct OrganizationStartTrialPayload {
4966 /// Whether the operation was successful.
4967 pub success: Option<bool>,
4968}
4969#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4970#[serde(rename_all = "camelCase", default)]
4971pub struct PageInfo {
4972 /// Indicates if there are more results when paginating backward.
4973 pub has_previous_page: Option<bool>,
4974 /// Indicates if there are more results when paginating forward.
4975 pub has_next_page: Option<bool>,
4976 /// Cursor representing the first result in the paginated results.
4977 pub start_cursor: Option<String>,
4978 /// Cursor representing the last result in the paginated results.
4979 pub end_cursor: Option<String>,
4980}
4981/// The paid subscription of an organization.
4982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4983#[serde(rename_all = "camelCase", default)]
4984pub struct PaidSubscription {
4985 /// The unique identifier of the entity.
4986 pub id: Option<String>,
4987 /// The time at which the entity was created.
4988 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4989 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4990 /// been updated after creation.
4991 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4992 /// The time at which the entity was archived. Null if the entity has not been archived.
4993 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4994 /// The subscription type.
4995 pub r#type: Option<String>,
4996 /// The number of seats in the subscription.
4997 pub seats: Option<f64>,
4998 /// The minimum number of seats that will be billed in the subscription.
4999 pub seats_minimum: Option<f64>,
5000 /// The maximum number of seats that will be billed in the subscription.
5001 pub seats_maximum: Option<f64>,
5002 /// The creator of the subscription.
5003 pub creator: Option<Box<User>>,
5004 /// The organization that the subscription is associated with.
5005 pub organization: Option<Box<Organization>>,
5006 /// The collection method for this subscription, either automatically charged or invoiced.
5007 pub collection_method: Option<String>,
5008 /// The date the subscription was canceled, if any.
5009 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5010 /// The date the subscription is scheduled to be canceled, if any.
5011 pub cancel_at: Option<chrono::DateTime<chrono::Utc>>,
5012 /// The subscription type of a pending change. Null if no change pending.
5013 pub pending_change_type: Option<String>,
5014 /// The date the subscription will be billed next.
5015 pub next_billing_at: Option<chrono::DateTime<chrono::Utc>>,
5016}
5017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5018#[serde(rename_all = "camelCase", default)]
5019pub struct PasskeyLoginStartResponse {
5020 pub success: Option<bool>,
5021 pub options: Option<serde_json::Value>,
5022}
5023/// `Internal` A generic post.
5024#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5025#[serde(rename_all = "camelCase", default)]
5026pub struct Post {
5027 /// The unique identifier of the entity.
5028 pub id: Option<String>,
5029 /// The time at which the entity was created.
5030 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5031 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5032 /// been updated after creation.
5033 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5034 /// The time at which the entity was archived. Null if the entity has not been archived.
5035 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5036 /// The update content in markdown format.
5037 pub body: Option<String>,
5038 /// `Internal` The content of the post as a Prosemirror document.
5039 pub body_data: Option<String>,
5040 /// `Internal` The written update data used to compose the written post.
5041 pub written_summary_data: Option<serde_json::Value>,
5042 /// The update content summarized for audio consumption.
5043 pub audio_summary: Option<String>,
5044 /// The post's title.
5045 pub title: Option<String>,
5046 /// The post's unique URL slug.
5047 pub slug_id: Option<String>,
5048 /// The user who wrote the post.
5049 pub creator: Option<Box<User>>,
5050 /// The time the post was edited.
5051 pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
5052 /// Emoji reaction summary, grouped by emoji type.
5053 pub reaction_data: Option<serde_json::Value>,
5054 /// A URL of the TTL (text-to-language) for the body.
5055 pub ttl_url: Option<String>,
5056 /// The user that the post is associated with.
5057 pub user: Option<Box<User>>,
5058 /// The team that the post is associated with.
5059 pub team: Option<Box<Team>>,
5060 /// The type of the post.
5061 pub r#type: Option<PostType>,
5062 /// The log id of the ai response.
5063 pub eval_log_id: Option<String>,
5064 /// Schedule used to create a post summary.
5065 pub feed_summary_schedule_at_create: Option<FeedSummarySchedule>,
5066}
5067/// A post related notification.
5068#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5069#[serde(rename_all = "camelCase", default)]
5070pub struct PostNotification {
5071 /// Related comment ID. Null if the notification is not related to a comment.
5072 pub comment_id: Option<String>,
5073 /// Related parent comment ID. Null if the notification is not related to a comment.
5074 pub parent_comment_id: Option<String>,
5075 /// Name of the reaction emoji related to the notification.
5076 pub reaction_emoji: Option<String>,
5077 /// The unique identifier of the entity.
5078 pub id: Option<String>,
5079 /// The time at which the entity was created.
5080 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5081 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5082 /// been updated after creation.
5083 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5084 /// The time at which the entity was archived. Null if the entity has not been archived.
5085 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5086 /// Notification type.
5087 pub r#type: Option<String>,
5088 /// The user that caused the notification.
5089 pub actor: Option<Box<User>>,
5090 /// The external user that caused the notification.
5091 pub external_user_actor: Option<Box<ExternalUser>>,
5092 /// The user that received the notification.
5093 pub user: Option<Box<User>>,
5094 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
5095 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
5096 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
5097 /// reminder has been sent.
5098 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
5099 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
5100 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
5101 /// The time at which a notification was unsnoozed..
5102 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
5103 /// The category of the notification.
5104 pub category: Option<NotificationCategory>,
5105 /// `Internal` URL to the target of the notification.
5106 pub url: Option<String>,
5107 /// `Internal` Inbox URL for the notification.
5108 pub inbox_url: Option<String>,
5109 /// `Internal` Notification title.
5110 pub title: Option<String>,
5111 /// `Internal` Notification subtitle.
5112 pub subtitle: Option<String>,
5113 /// `Internal` If notification actor was Linear.
5114 pub is_linear_actor: Option<bool>,
5115 /// `Internal` Notification avatar URL.
5116 pub actor_avatar_url: Option<String>,
5117 /// `Internal` Notification actor initials if avatar is not available.
5118 pub actor_initials: Option<String>,
5119 /// `Internal` Notification actor initials if avatar is not available.
5120 pub actor_avatar_color: Option<String>,
5121 /// `Internal` Issue's status type for issue notifications.
5122 pub issue_status_type: Option<String>,
5123 /// `Internal` Project update health for new updates.
5124 pub project_update_health: Option<String>,
5125 /// `Internal` Initiative update health for new updates.
5126 pub initiative_update_health: Option<String>,
5127 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
5128 pub grouping_key: Option<String>,
5129 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
5130 pub grouping_priority: Option<f64>,
5131 /// The bot that caused the notification.
5132 pub bot_actor: Option<Box<ActorBot>>,
5133 /// Related post ID.
5134 pub post_id: Option<String>,
5135}
5136/// A project.
5137#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5138#[serde(rename_all = "camelCase", default)]
5139pub struct Project {
5140 /// The unique identifier of the entity.
5141 pub id: Option<String>,
5142 /// The time at which the entity was created.
5143 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5144 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5145 /// been updated after creation.
5146 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5147 /// The time at which the entity was archived. Null if the entity has not been archived.
5148 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5149 /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5150 pub update_reminder_frequency_in_weeks: Option<f64>,
5151 /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5152 pub update_reminder_frequency: Option<f64>,
5153 /// The resolution of the reminder frequency.
5154 pub frequency_resolution: Option<FrequencyResolutionType>,
5155 /// The day at which to prompt for updates.
5156 pub update_reminders_day: Option<Day>,
5157 /// The hour at which to prompt for updates.
5158 pub update_reminders_hour: Option<f64>,
5159 /// The project's name.
5160 pub name: Option<String>,
5161 /// The project's description.
5162 pub description: Option<String>,
5163 /// The project's unique URL slug.
5164 pub slug_id: Option<String>,
5165 /// The icon of the project.
5166 pub icon: Option<String>,
5167 /// The project's color.
5168 pub color: Option<String>,
5169 /// The status that the project is associated with.
5170 pub status: Option<Box<ProjectStatus>>,
5171 /// The user who created the project.
5172 pub creator: Option<Box<User>>,
5173 /// The project lead.
5174 pub lead: Option<Box<User>>,
5175 /// `Internal` Facets associated with the project.
5176 pub facets: Option<Box<Vec<Facet>>>,
5177 /// The time until which project update reminders are paused.
5178 pub project_update_reminders_paused_until_at: Option<chrono::DateTime<chrono::Utc>>,
5179 /// The estimated start date of the project.
5180 pub start_date: Option<chrono::NaiveDate>,
5181 /// The resolution of the project's start date.
5182 pub start_date_resolution: Option<DateResolutionType>,
5183 /// The estimated completion date of the project.
5184 pub target_date: Option<chrono::NaiveDate>,
5185 /// The resolution of the project's estimated completion date.
5186 pub target_date_resolution: Option<DateResolutionType>,
5187 /// The time at which the project was moved into started state.
5188 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
5189 /// The time at which the project was moved into completed state.
5190 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
5191 /// The time at which the project was moved into canceled state.
5192 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5193 /// The time at which the project was automatically archived by the auto pruning process.
5194 pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
5195 /// A flag that indicates whether the project is in the trash bin.
5196 pub trashed: Option<bool>,
5197 /// The sort order for the project within the organization.
5198 pub sort_order: Option<f64>,
5199 /// The sort order for the project within the organization, when ordered by priority.
5200 pub priority_sort_order: Option<f64>,
5201 /// The project was created based on this issue.
5202 pub converted_from_issue: Option<Box<Issue>>,
5203 /// The last template that was applied to this project.
5204 pub last_applied_template: Option<Box<Template>>,
5205 /// The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
5206 pub priority: Option<i64>,
5207 /// The last project update posted for this project.
5208 pub last_update: Option<Box<ProjectUpdate>>,
5209 /// The health of the project.
5210 pub health: Option<ProjectUpdateHealthType>,
5211 /// The time at which the project health was updated.
5212 pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
5213 /// The total number of issues in the project after each week.
5214 pub issue_count_history: Option<Vec<f64>>,
5215 /// The number of completed issues in the project after each week.
5216 pub completed_issue_count_history: Option<Vec<f64>>,
5217 /// The total number of estimation points after each week.
5218 pub scope_history: Option<Vec<f64>>,
5219 /// The number of completed estimation points after each week.
5220 pub completed_scope_history: Option<Vec<f64>>,
5221 /// The number of in progress estimation points after each week.
5222 pub in_progress_scope_history: Option<Vec<f64>>,
5223 /// `INTERNAL` The progress history of the project.
5224 pub progress_history: Option<serde_json::Value>,
5225 /// `INTERNAL` The current progress of the project.
5226 pub current_progress: Option<serde_json::Value>,
5227 /// Whether to send new issue notifications to Slack.
5228 pub slack_new_issue: Option<bool>,
5229 /// Whether to send new issue comment notifications to Slack.
5230 pub slack_issue_comments: Option<bool>,
5231 /// Whether to send new issue status updates to Slack.
5232 pub slack_issue_statuses: Option<bool>,
5233 /// Id of the labels associated with this project.
5234 pub label_ids: Option<Vec<String>>,
5235 /// The user's favorite associated with this project.
5236 pub favorite: Option<Box<Favorite>>,
5237 /// Project URL.
5238 pub url: Option<String>,
5239 /// Initiatives that this project belongs to.
5240 pub initiatives: Option<Box<InitiativeConnection>>,
5241 /// Associations of this project to parent initiatives.
5242 pub initiative_to_projects: Option<Box<InitiativeToProjectConnection>>,
5243 /// Teams associated with this project.
5244 pub teams: Option<Box<TeamConnection>>,
5245 /// Users that are members of the project.
5246 pub members: Option<Box<UserConnection>>,
5247 /// Project updates associated with the project.
5248 pub project_updates: Option<Box<ProjectUpdateConnection>>,
5249 /// Documents associated with the project.
5250 pub documents: Option<Box<DocumentConnection>>,
5251 /// Milestones associated with the project.
5252 pub project_milestones: Option<Box<ProjectMilestoneConnection>>,
5253 /// Issues associated with the project.
5254 pub issues: Option<Box<IssueConnection>>,
5255 /// External links associated with the project.
5256 pub external_links: Option<Box<EntityExternalLinkConnection>>,
5257 /// Attachments associated with the project.
5258 pub attachments: Option<Box<ProjectAttachmentConnection>>,
5259 /// History entries associated with the project.
5260 pub history: Option<Box<ProjectHistoryConnection>>,
5261 /// Labels associated with this project.
5262 pub labels: Option<Box<ProjectLabelConnection>>,
5263 /// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
5264 pub progress: Option<f64>,
5265 /// The overall scope (total estimate points) of the project.
5266 pub scope: Option<f64>,
5267 /// Settings for all integrations associated with that project.
5268 pub integrations_settings: Option<Box<IntegrationsSettings>>,
5269 /// The project's content in markdown format.
5270 pub content: Option<String>,
5271 /// `Internal` The project's content as YJS state.
5272 pub content_state: Option<String>,
5273 /// The content of the project description.
5274 pub document_content: Option<Box<DocumentContent>>,
5275 /// Comments associated with the project overview.
5276 pub comments: Option<Box<CommentConnection>>,
5277 /// Relations associated with this project.
5278 pub relations: Option<Box<ProjectRelationConnection>>,
5279 /// Inverse relations associated with this project.
5280 pub inverse_relations: Option<Box<ProjectRelationConnection>>,
5281 /// Customer needs associated with the project.
5282 pub needs: Option<Box<CustomerNeedConnection>>,
5283 /// `DEPRECATED` The type of the state.
5284 pub state: Option<String>,
5285 /// The priority of the project as a label.
5286 pub priority_label: Option<String>,
5287}
5288/// A generic payload return from entity archive mutations.
5289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5290#[serde(rename_all = "camelCase", default)]
5291pub struct ProjectArchivePayload {
5292 /// The identifier of the last sync operation.
5293 pub last_sync_id: Option<f64>,
5294 /// Whether the operation was successful.
5295 pub success: Option<bool>,
5296 /// The archived/unarchived entity. Null if entity was deleted.
5297 pub entity: Option<Box<Project>>,
5298}
5299/// Project attachment
5300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5301#[serde(rename_all = "camelCase", default)]
5302pub struct ProjectAttachment {
5303 /// The unique identifier of the entity.
5304 pub id: Option<String>,
5305 /// The time at which the entity was created.
5306 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5307 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5308 /// been updated after creation.
5309 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5310 /// The time at which the entity was archived. Null if the entity has not been archived.
5311 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5312 /// Title of the attachment.
5313 pub title: Option<String>,
5314 /// Optional subtitle of the attachment
5315 pub subtitle: Option<String>,
5316 /// URL of the attachment.
5317 pub url: Option<String>,
5318 /// The creator of the attachment.
5319 pub creator: Option<Box<User>>,
5320 /// Custom metadata related to the attachment.
5321 pub metadata: Option<serde_json::Value>,
5322 /// Information about the external source which created the attachment.
5323 pub source: Option<serde_json::Value>,
5324 /// An accessor helper to source.type, defines the source type of the attachment.
5325 pub source_type: Option<String>,
5326}
5327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5328#[serde(rename_all = "camelCase", default)]
5329pub struct ProjectAttachmentConnection {
5330 pub edges: Option<Box<Vec<ProjectAttachmentEdge>>>,
5331 pub nodes: Option<Box<Vec<ProjectAttachment>>>,
5332 pub page_info: Option<Box<PageInfo>>,
5333}
5334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5335#[serde(rename_all = "camelCase", default)]
5336pub struct ProjectAttachmentEdge {
5337 pub node: Option<Box<ProjectAttachment>>,
5338 /// Used in `before` and `after` args
5339 pub cursor: Option<String>,
5340}
5341#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5342#[serde(rename_all = "camelCase", default)]
5343pub struct ProjectConnection {
5344 pub edges: Option<Box<Vec<ProjectEdge>>>,
5345 pub nodes: Option<Box<Vec<Project>>>,
5346 pub page_info: Option<Box<PageInfo>>,
5347}
5348#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5349#[serde(rename_all = "camelCase", default)]
5350pub struct ProjectEdge {
5351 pub node: Option<Box<Project>>,
5352 /// Used in `before` and `after` args
5353 pub cursor: Option<String>,
5354}
5355#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5356#[serde(rename_all = "camelCase", default)]
5357pub struct ProjectFilterSuggestionPayload {
5358 /// The json filter that is suggested.
5359 pub filter: Option<serde_json::Value>,
5360 /// The log id of the prompt, that created this filter.
5361 pub log_id: Option<String>,
5362}
5363/// An history associated with a project.
5364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5365#[serde(rename_all = "camelCase", default)]
5366pub struct ProjectHistory {
5367 /// The unique identifier of the entity.
5368 pub id: Option<String>,
5369 /// The time at which the entity was created.
5370 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5371 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5372 /// been updated after creation.
5373 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5374 /// The time at which the entity was archived. Null if the entity has not been archived.
5375 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5376 /// The events that happened while recording that history.
5377 pub entries: Option<serde_json::Value>,
5378 /// The project that the history is associated with.
5379 pub project: Option<Box<Project>>,
5380}
5381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5382#[serde(rename_all = "camelCase", default)]
5383pub struct ProjectHistoryConnection {
5384 pub edges: Option<Box<Vec<ProjectHistoryEdge>>>,
5385 pub nodes: Option<Box<Vec<ProjectHistory>>>,
5386 pub page_info: Option<Box<PageInfo>>,
5387}
5388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5389#[serde(rename_all = "camelCase", default)]
5390pub struct ProjectHistoryEdge {
5391 pub node: Option<Box<ProjectHistory>>,
5392 /// Used in `before` and `after` args
5393 pub cursor: Option<String>,
5394}
5395/// Labels that can be associated with projects.
5396#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5397#[serde(rename_all = "camelCase", default)]
5398pub struct ProjectLabel {
5399 /// The unique identifier of the entity.
5400 pub id: Option<String>,
5401 /// The time at which the entity was created.
5402 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5403 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5404 /// been updated after creation.
5405 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5406 /// The time at which the entity was archived. Null if the entity has not been archived.
5407 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5408 /// The label's name.
5409 pub name: Option<String>,
5410 /// The label's description.
5411 pub description: Option<String>,
5412 /// The label's color as a HEX string.
5413 pub color: Option<String>,
5414 /// Whether the label is a group.
5415 pub is_group: Option<bool>,
5416 /// The date when the label was last applied to an issue or project.
5417 pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
5418 /// `Internal` When the label was retired.
5419 pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
5420 pub organization: Option<Box<Organization>>,
5421 /// The user who created the label.
5422 pub creator: Option<Box<User>>,
5423 /// The user who retired the label.
5424 pub retired_by: Option<Box<User>>,
5425 /// The parent label.
5426 pub parent: Option<Box<ProjectLabel>>,
5427 /// Projects associated with the label.
5428 pub projects: Option<Box<ProjectConnection>>,
5429 /// Children of the label.
5430 pub children: Option<Box<ProjectLabelConnection>>,
5431}
5432#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5433#[serde(rename_all = "camelCase", default)]
5434pub struct ProjectLabelConnection {
5435 pub edges: Option<Box<Vec<ProjectLabelEdge>>>,
5436 pub nodes: Option<Box<Vec<ProjectLabel>>>,
5437 pub page_info: Option<Box<PageInfo>>,
5438}
5439#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5440#[serde(rename_all = "camelCase", default)]
5441pub struct ProjectLabelEdge {
5442 pub node: Option<Box<ProjectLabel>>,
5443 /// Used in `before` and `after` args
5444 pub cursor: Option<String>,
5445}
5446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5447#[serde(rename_all = "camelCase", default)]
5448pub struct ProjectLabelPayload {
5449 /// The identifier of the last sync operation.
5450 pub last_sync_id: Option<f64>,
5451 /// The label that was created or updated.
5452 pub project_label: Option<Box<ProjectLabel>>,
5453 /// Whether the operation was successful.
5454 pub success: Option<bool>,
5455}
5456/// A milestone for a project.
5457#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5458#[serde(rename_all = "camelCase", default)]
5459pub struct ProjectMilestone {
5460 /// The unique identifier of the entity.
5461 pub id: Option<String>,
5462 /// The time at which the entity was created.
5463 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5464 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5465 /// been updated after creation.
5466 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5467 /// The time at which the entity was archived. Null if the entity has not been archived.
5468 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5469 /// The name of the project milestone.
5470 pub name: Option<String>,
5471 /// The content of the project milestone description.
5472 pub document_content: Option<Box<DocumentContent>>,
5473 /// The planned completion date of the milestone.
5474 pub target_date: Option<chrono::NaiveDate>,
5475 /// The project of the milestone.
5476 pub project: Option<Box<Project>>,
5477 /// `Internal` The progress history of the project milestone.
5478 pub progress_history: Option<serde_json::Value>,
5479 /// `Internal` The current progress of the project milestone.
5480 pub current_progress: Option<serde_json::Value>,
5481 /// The order of the milestone in relation to other milestones within a project.
5482 pub sort_order: Option<f64>,
5483 /// The project milestone's description in markdown format.
5484 pub description: Option<String>,
5485 /// The status of the project milestone.
5486 pub status: Option<ProjectMilestoneStatus>,
5487 /// The progress % of the project milestone.
5488 pub progress: Option<f64>,
5489 /// `Internal` The project milestone's description as YJS state.
5490 pub description_state: Option<String>,
5491 /// Issues associated with the project milestone.
5492 pub issues: Option<Box<IssueConnection>>,
5493}
5494#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5495#[serde(rename_all = "camelCase", default)]
5496pub struct ProjectMilestoneConnection {
5497 pub edges: Option<Box<Vec<ProjectMilestoneEdge>>>,
5498 pub nodes: Option<Box<Vec<ProjectMilestone>>>,
5499 pub page_info: Option<Box<PageInfo>>,
5500}
5501#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5502#[serde(rename_all = "camelCase", default)]
5503pub struct ProjectMilestoneEdge {
5504 pub node: Option<Box<ProjectMilestone>>,
5505 /// Used in `before` and `after` args
5506 pub cursor: Option<String>,
5507}
5508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5509#[serde(rename_all = "camelCase", default)]
5510pub struct ProjectMilestoneMoveIssueToTeam {
5511 /// The issue id in this relationship, you can use * as wildcard if all issues are being moved to the same team
5512 pub issue_id: Option<String>,
5513 /// The team id in this relationship
5514 pub team_id: Option<String>,
5515}
5516#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5517#[serde(rename_all = "camelCase", default)]
5518pub struct ProjectMilestoneMovePayload {
5519 /// The identifier of the last sync operation.
5520 pub last_sync_id: Option<f64>,
5521 /// The project milestone that was created or updated.
5522 pub project_milestone: Option<Box<ProjectMilestone>>,
5523 /// Whether the operation was successful.
5524 pub success: Option<bool>,
5525 /// A snapshot of the issues that were moved to new teams, if the user selected to do it, containing an array of mappings between an issue and its previous team. Store on the client to use for undoing a previous milestone move.
5526 pub previous_issue_team_ids: Option<Box<Vec<ProjectMilestoneMoveIssueToTeam>>>,
5527 /// A snapshot of the project that had new teams added to it, if the user selected to do it, containing an array of mappings between a project and its previous teams. Store on the client to use for undoing a previous milestone move.
5528 pub previous_project_team_ids: Option<Box<ProjectMilestoneMoveProjectTeams>>,
5529}
5530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5531#[serde(rename_all = "camelCase", default)]
5532pub struct ProjectMilestoneMoveProjectTeams {
5533 /// The project id
5534 pub project_id: Option<String>,
5535 /// The team ids for the project
5536 pub team_ids: Option<Vec<String>>,
5537}
5538#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5539#[serde(rename_all = "camelCase", default)]
5540pub struct ProjectMilestonePayload {
5541 /// The identifier of the last sync operation.
5542 pub last_sync_id: Option<f64>,
5543 /// The project milestone that was created or updated.
5544 pub project_milestone: Option<Box<ProjectMilestone>>,
5545 /// Whether the operation was successful.
5546 pub success: Option<bool>,
5547}
5548/// A project related notification.
5549#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5550#[serde(rename_all = "camelCase", default)]
5551pub struct ProjectNotification {
5552 /// Related comment ID. Null if the notification is not related to a comment.
5553 pub comment_id: Option<String>,
5554 /// Related parent comment ID. Null if the notification is not related to a comment.
5555 pub parent_comment_id: Option<String>,
5556 /// Name of the reaction emoji related to the notification.
5557 pub reaction_emoji: Option<String>,
5558 /// The unique identifier of the entity.
5559 pub id: Option<String>,
5560 /// The time at which the entity was created.
5561 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5562 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5563 /// been updated after creation.
5564 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5565 /// The time at which the entity was archived. Null if the entity has not been archived.
5566 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5567 /// Notification type.
5568 pub r#type: Option<String>,
5569 /// The user that caused the notification.
5570 pub actor: Option<Box<User>>,
5571 /// The external user that caused the notification.
5572 pub external_user_actor: Option<Box<ExternalUser>>,
5573 /// The user that received the notification.
5574 pub user: Option<Box<User>>,
5575 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
5576 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
5577 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
5578 /// reminder has been sent.
5579 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
5580 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
5581 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
5582 /// The time at which a notification was unsnoozed..
5583 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
5584 /// The category of the notification.
5585 pub category: Option<NotificationCategory>,
5586 /// `Internal` URL to the target of the notification.
5587 pub url: Option<String>,
5588 /// `Internal` Inbox URL for the notification.
5589 pub inbox_url: Option<String>,
5590 /// `Internal` Notification title.
5591 pub title: Option<String>,
5592 /// `Internal` Notification subtitle.
5593 pub subtitle: Option<String>,
5594 /// `Internal` If notification actor was Linear.
5595 pub is_linear_actor: Option<bool>,
5596 /// `Internal` Notification avatar URL.
5597 pub actor_avatar_url: Option<String>,
5598 /// `Internal` Notification actor initials if avatar is not available.
5599 pub actor_initials: Option<String>,
5600 /// `Internal` Notification actor initials if avatar is not available.
5601 pub actor_avatar_color: Option<String>,
5602 /// `Internal` Issue's status type for issue notifications.
5603 pub issue_status_type: Option<String>,
5604 /// `Internal` Project update health for new updates.
5605 pub project_update_health: Option<String>,
5606 /// `Internal` Initiative update health for new updates.
5607 pub initiative_update_health: Option<String>,
5608 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
5609 pub grouping_key: Option<String>,
5610 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
5611 pub grouping_priority: Option<f64>,
5612 /// The bot that caused the notification.
5613 pub bot_actor: Option<Box<ActorBot>>,
5614 /// Related project ID.
5615 pub project_id: Option<String>,
5616 /// Related project milestone ID.
5617 pub project_milestone_id: Option<String>,
5618 /// Related project update ID.
5619 pub project_update_id: Option<String>,
5620 /// The project related to the notification.
5621 pub project: Option<Box<Project>>,
5622 /// The document related to the notification.
5623 pub document: Option<Box<Document>>,
5624 /// The project update related to the notification.
5625 pub project_update: Option<Box<ProjectUpdate>>,
5626 /// The comment related to the notification.
5627 pub comment: Option<Box<Comment>>,
5628 /// The parent comment related to the notification, if a notification is a reply comment notification.
5629 pub parent_comment: Option<Box<Comment>>,
5630}
5631/// A project notification subscription.
5632#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5633#[serde(rename_all = "camelCase", default)]
5634pub struct ProjectNotificationSubscription {
5635 /// The unique identifier of the entity.
5636 pub id: Option<String>,
5637 /// The time at which the entity was created.
5638 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5639 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5640 /// been updated after creation.
5641 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5642 /// The time at which the entity was archived. Null if the entity has not been archived.
5643 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5644 /// The user that subscribed to receive notifications.
5645 pub subscriber: Option<Box<User>>,
5646 /// The customer associated with the notification subscription.
5647 pub customer: Option<Box<Customer>>,
5648 /// The contextual custom view associated with the notification subscription.
5649 pub custom_view: Option<Box<CustomView>>,
5650 /// The contextual cycle view associated with the notification subscription.
5651 pub cycle: Option<Box<Cycle>>,
5652 /// The contextual label view associated with the notification subscription.
5653 pub label: Option<Box<IssueLabel>>,
5654 /// The project subscribed to.
5655 pub project: Option<Box<Project>>,
5656 /// The contextual initiative view associated with the notification subscription.
5657 pub initiative: Option<Box<Initiative>>,
5658 /// The team associated with the notification subscription.
5659 pub team: Option<Box<Team>>,
5660 /// The user view associated with the notification subscription.
5661 pub user: Option<Box<User>>,
5662 /// The type of view to which the notification subscription context is associated with.
5663 pub context_view_type: Option<ContextViewType>,
5664 /// The type of user view to which the notification subscription context is associated with.
5665 pub user_context_view_type: Option<UserContextViewType>,
5666 /// Whether the subscription is active or not.
5667 pub active: Option<bool>,
5668 /// The type of subscription.
5669 pub notification_subscription_types: Option<Vec<String>>,
5670}
5671#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5672#[serde(rename_all = "camelCase", default)]
5673pub struct ProjectPayload {
5674 /// The identifier of the last sync operation.
5675 pub last_sync_id: Option<f64>,
5676 /// The project that was created or updated.
5677 pub project: Option<Box<Project>>,
5678 /// Whether the operation was successful.
5679 pub success: Option<bool>,
5680}
5681/// A relation between two projects.
5682#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5683#[serde(rename_all = "camelCase", default)]
5684pub struct ProjectRelation {
5685 /// The unique identifier of the entity.
5686 pub id: Option<String>,
5687 /// The time at which the entity was created.
5688 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5689 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5690 /// been updated after creation.
5691 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5692 /// The time at which the entity was archived. Null if the entity has not been archived.
5693 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5694 /// The relationship of the project with the related project.
5695 pub r#type: Option<String>,
5696 /// The project whose relationship is being described.
5697 pub project: Option<Box<Project>>,
5698 /// The milestone within the project whose relationship is being described.
5699 pub project_milestone: Option<Box<ProjectMilestone>>,
5700 /// The type of anchor on the project end of the relation.
5701 pub anchor_type: Option<String>,
5702 /// The related project.
5703 pub related_project: Option<Box<Project>>,
5704 /// The milestone within the related project whose relationship is being described.
5705 pub related_project_milestone: Option<Box<ProjectMilestone>>,
5706 /// The type of anchor on the relatedProject end of the relation.
5707 pub related_anchor_type: Option<String>,
5708 /// The last user who created or modified the relation.
5709 pub user: Option<Box<User>>,
5710}
5711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5712#[serde(rename_all = "camelCase", default)]
5713pub struct ProjectRelationConnection {
5714 pub edges: Option<Box<Vec<ProjectRelationEdge>>>,
5715 pub nodes: Option<Box<Vec<ProjectRelation>>>,
5716 pub page_info: Option<Box<PageInfo>>,
5717}
5718#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5719#[serde(rename_all = "camelCase", default)]
5720pub struct ProjectRelationEdge {
5721 pub node: Option<Box<ProjectRelation>>,
5722 /// Used in `before` and `after` args
5723 pub cursor: Option<String>,
5724}
5725#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5726#[serde(rename_all = "camelCase", default)]
5727pub struct ProjectRelationPayload {
5728 /// The identifier of the last sync operation.
5729 pub last_sync_id: Option<f64>,
5730 /// The project relation that was created or updated.
5731 pub project_relation: Option<Box<ProjectRelation>>,
5732 /// Whether the operation was successful.
5733 pub success: Option<bool>,
5734}
5735#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5736#[serde(rename_all = "camelCase", default)]
5737pub struct ProjectSearchPayload {
5738 pub edges: Option<Box<Vec<ProjectSearchResultEdge>>>,
5739 pub nodes: Option<Box<Vec<ProjectSearchResult>>>,
5740 pub page_info: Option<Box<PageInfo>>,
5741 /// Archived entities matching the search term along with all their dependencies.
5742 pub archive_payload: Option<Box<ArchiveResponse>>,
5743 /// Total number of results for query without filters applied.
5744 pub total_count: Option<f64>,
5745}
5746#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5747#[serde(rename_all = "camelCase", default)]
5748pub struct ProjectSearchResult {
5749 /// The unique identifier of the entity.
5750 pub id: Option<String>,
5751 /// The time at which the entity was created.
5752 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5753 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5754 /// been updated after creation.
5755 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5756 /// The time at which the entity was archived. Null if the entity has not been archived.
5757 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5758 /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5759 pub update_reminder_frequency_in_weeks: Option<f64>,
5760 /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5761 pub update_reminder_frequency: Option<f64>,
5762 /// The resolution of the reminder frequency.
5763 pub frequency_resolution: Option<FrequencyResolutionType>,
5764 /// The day at which to prompt for updates.
5765 pub update_reminders_day: Option<Day>,
5766 /// The hour at which to prompt for updates.
5767 pub update_reminders_hour: Option<f64>,
5768 /// The project's name.
5769 pub name: Option<String>,
5770 /// The project's description.
5771 pub description: Option<String>,
5772 /// The project's unique URL slug.
5773 pub slug_id: Option<String>,
5774 /// The icon of the project.
5775 pub icon: Option<String>,
5776 /// The project's color.
5777 pub color: Option<String>,
5778 /// The status that the project is associated with.
5779 pub status: Option<Box<ProjectStatus>>,
5780 /// The user who created the project.
5781 pub creator: Option<Box<User>>,
5782 /// The project lead.
5783 pub lead: Option<Box<User>>,
5784 /// `Internal` Facets associated with the project.
5785 pub facets: Option<Box<Vec<Facet>>>,
5786 /// The time until which project update reminders are paused.
5787 pub project_update_reminders_paused_until_at: Option<chrono::DateTime<chrono::Utc>>,
5788 /// The estimated start date of the project.
5789 pub start_date: Option<chrono::NaiveDate>,
5790 /// The resolution of the project's start date.
5791 pub start_date_resolution: Option<DateResolutionType>,
5792 /// The estimated completion date of the project.
5793 pub target_date: Option<chrono::NaiveDate>,
5794 /// The resolution of the project's estimated completion date.
5795 pub target_date_resolution: Option<DateResolutionType>,
5796 /// The time at which the project was moved into started state.
5797 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
5798 /// The time at which the project was moved into completed state.
5799 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
5800 /// The time at which the project was moved into canceled state.
5801 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5802 /// The time at which the project was automatically archived by the auto pruning process.
5803 pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
5804 /// A flag that indicates whether the project is in the trash bin.
5805 pub trashed: Option<bool>,
5806 /// The sort order for the project within the organization.
5807 pub sort_order: Option<f64>,
5808 /// The sort order for the project within the organization, when ordered by priority.
5809 pub priority_sort_order: Option<f64>,
5810 /// The project was created based on this issue.
5811 pub converted_from_issue: Option<Box<Issue>>,
5812 /// The last template that was applied to this project.
5813 pub last_applied_template: Option<Box<Template>>,
5814 /// The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
5815 pub priority: Option<i64>,
5816 /// The last project update posted for this project.
5817 pub last_update: Option<Box<ProjectUpdate>>,
5818 /// The health of the project.
5819 pub health: Option<ProjectUpdateHealthType>,
5820 /// The time at which the project health was updated.
5821 pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
5822 /// The total number of issues in the project after each week.
5823 pub issue_count_history: Option<Vec<f64>>,
5824 /// The number of completed issues in the project after each week.
5825 pub completed_issue_count_history: Option<Vec<f64>>,
5826 /// The total number of estimation points after each week.
5827 pub scope_history: Option<Vec<f64>>,
5828 /// The number of completed estimation points after each week.
5829 pub completed_scope_history: Option<Vec<f64>>,
5830 /// The number of in progress estimation points after each week.
5831 pub in_progress_scope_history: Option<Vec<f64>>,
5832 /// `INTERNAL` The progress history of the project.
5833 pub progress_history: Option<serde_json::Value>,
5834 /// `INTERNAL` The current progress of the project.
5835 pub current_progress: Option<serde_json::Value>,
5836 /// Whether to send new issue notifications to Slack.
5837 pub slack_new_issue: Option<bool>,
5838 /// Whether to send new issue comment notifications to Slack.
5839 pub slack_issue_comments: Option<bool>,
5840 /// Whether to send new issue status updates to Slack.
5841 pub slack_issue_statuses: Option<bool>,
5842 /// Id of the labels associated with this project.
5843 pub label_ids: Option<Vec<String>>,
5844 /// The user's favorite associated with this project.
5845 pub favorite: Option<Box<Favorite>>,
5846 /// Project URL.
5847 pub url: Option<String>,
5848 /// Initiatives that this project belongs to.
5849 pub initiatives: Option<Box<InitiativeConnection>>,
5850 /// Associations of this project to parent initiatives.
5851 pub initiative_to_projects: Option<Box<InitiativeToProjectConnection>>,
5852 /// Teams associated with this project.
5853 pub teams: Option<Box<TeamConnection>>,
5854 /// Users that are members of the project.
5855 pub members: Option<Box<UserConnection>>,
5856 /// Project updates associated with the project.
5857 pub project_updates: Option<Box<ProjectUpdateConnection>>,
5858 /// Documents associated with the project.
5859 pub documents: Option<Box<DocumentConnection>>,
5860 /// Milestones associated with the project.
5861 pub project_milestones: Option<Box<ProjectMilestoneConnection>>,
5862 /// Issues associated with the project.
5863 pub issues: Option<Box<IssueConnection>>,
5864 /// External links associated with the project.
5865 pub external_links: Option<Box<EntityExternalLinkConnection>>,
5866 /// Attachments associated with the project.
5867 pub attachments: Option<Box<ProjectAttachmentConnection>>,
5868 /// History entries associated with the project.
5869 pub history: Option<Box<ProjectHistoryConnection>>,
5870 /// Labels associated with this project.
5871 pub labels: Option<Box<ProjectLabelConnection>>,
5872 /// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
5873 pub progress: Option<f64>,
5874 /// The overall scope (total estimate points) of the project.
5875 pub scope: Option<f64>,
5876 /// Settings for all integrations associated with that project.
5877 pub integrations_settings: Option<Box<IntegrationsSettings>>,
5878 /// The project's content in markdown format.
5879 pub content: Option<String>,
5880 /// `Internal` The project's content as YJS state.
5881 pub content_state: Option<String>,
5882 /// The content of the project description.
5883 pub document_content: Option<Box<DocumentContent>>,
5884 /// Comments associated with the project overview.
5885 pub comments: Option<Box<CommentConnection>>,
5886 /// Relations associated with this project.
5887 pub relations: Option<Box<ProjectRelationConnection>>,
5888 /// Inverse relations associated with this project.
5889 pub inverse_relations: Option<Box<ProjectRelationConnection>>,
5890 /// Customer needs associated with the project.
5891 pub needs: Option<Box<CustomerNeedConnection>>,
5892 /// `DEPRECATED` The type of the state.
5893 pub state: Option<String>,
5894 /// The priority of the project as a label.
5895 pub priority_label: Option<String>,
5896 /// Metadata related to search result.
5897 pub metadata: Option<serde_json::Value>,
5898}
5899#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5900#[serde(rename_all = "camelCase", default)]
5901pub struct ProjectSearchResultEdge {
5902 pub node: Option<Box<ProjectSearchResult>>,
5903 /// Used in `before` and `after` args
5904 pub cursor: Option<String>,
5905}
5906/// A project status.
5907#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5908#[serde(rename_all = "camelCase", default)]
5909pub struct ProjectStatus {
5910 /// The unique identifier of the entity.
5911 pub id: Option<String>,
5912 /// The time at which the entity was created.
5913 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5914 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5915 /// been updated after creation.
5916 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5917 /// The time at which the entity was archived. Null if the entity has not been archived.
5918 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5919 /// The name of the status.
5920 pub name: Option<String>,
5921 /// The UI color of the status as a HEX string.
5922 pub color: Option<String>,
5923 /// Description of the status.
5924 pub description: Option<String>,
5925 /// The position of the status in the workspace's project flow.
5926 pub position: Option<f64>,
5927 /// The type of the project status.
5928 pub r#type: Option<ProjectStatusType>,
5929 /// Whether or not a project can be in this status indefinitely.
5930 pub indefinite: Option<bool>,
5931}
5932/// A generic payload return from entity archive mutations.
5933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5934#[serde(rename_all = "camelCase", default)]
5935pub struct ProjectStatusArchivePayload {
5936 /// The identifier of the last sync operation.
5937 pub last_sync_id: Option<f64>,
5938 /// Whether the operation was successful.
5939 pub success: Option<bool>,
5940 /// The archived/unarchived entity. Null if entity was deleted.
5941 pub entity: Option<Box<ProjectStatus>>,
5942}
5943#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5944#[serde(rename_all = "camelCase", default)]
5945pub struct ProjectStatusConnection {
5946 pub edges: Option<Box<Vec<ProjectStatusEdge>>>,
5947 pub nodes: Option<Box<Vec<ProjectStatus>>>,
5948 pub page_info: Option<Box<PageInfo>>,
5949}
5950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5951#[serde(rename_all = "camelCase", default)]
5952pub struct ProjectStatusCountPayload {
5953 /// Total number of projects using this project status.
5954 pub count: Option<f64>,
5955 /// Total number of projects using this project status that are not visible to the user because they are in a private team.
5956 pub private_count: Option<f64>,
5957 /// Total number of projects using this project status that are not visible to the user because they are in an archived team.
5958 pub archived_team_count: Option<f64>,
5959}
5960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5961#[serde(rename_all = "camelCase", default)]
5962pub struct ProjectStatusEdge {
5963 pub node: Option<Box<ProjectStatus>>,
5964 /// Used in `before` and `after` args
5965 pub cursor: Option<String>,
5966}
5967#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5968#[serde(rename_all = "camelCase", default)]
5969pub struct ProjectStatusPayload {
5970 /// The identifier of the last sync operation.
5971 pub last_sync_id: Option<f64>,
5972 /// The project status that was created or updated.
5973 pub status: Option<Box<ProjectStatus>>,
5974 /// Whether the operation was successful.
5975 pub success: Option<bool>,
5976}
5977/// An update associated with a project.
5978#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5979#[serde(rename_all = "camelCase", default)]
5980pub struct ProjectUpdate {
5981 /// The unique identifier of the entity.
5982 pub id: Option<String>,
5983 /// The time at which the entity was created.
5984 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5985 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5986 /// been updated after creation.
5987 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5988 /// The time at which the entity was archived. Null if the entity has not been archived.
5989 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5990 /// The update content in markdown format.
5991 pub body: Option<String>,
5992 /// The time the update was edited.
5993 pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
5994 /// Emoji reaction summary, grouped by emoji type.
5995 pub reaction_data: Option<serde_json::Value>,
5996 /// `Internal` The content of the update as a Prosemirror document.
5997 pub body_data: Option<String>,
5998 /// The update's unique URL slug.
5999 pub slug_id: Option<String>,
6000 /// The project that the update is associated with.
6001 pub project: Option<Box<Project>>,
6002 /// The health of the project at the time of the update.
6003 pub health: Option<ProjectUpdateHealthType>,
6004 /// The user who wrote the update.
6005 pub user: Option<Box<User>>,
6006 /// `Internal` Serialized JSON representing current state of the project properties when posting the project update.
6007 pub info_snapshot: Option<serde_json::Value>,
6008 /// Whether project update diff should be hidden.
6009 pub is_diff_hidden: Option<bool>,
6010 /// The URL to the project update.
6011 pub url: Option<String>,
6012 /// Whether the project update is stale.
6013 pub is_stale: Option<bool>,
6014 /// The diff between the current update and the previous one.
6015 pub diff: Option<serde_json::Value>,
6016 /// The diff between the current update and the previous one, formatted as markdown.
6017 pub diff_markdown: Option<String>,
6018 /// Reactions associated with the project update.
6019 pub reactions: Option<Box<Vec<Reaction>>>,
6020 /// Comments associated with the project update.
6021 pub comments: Option<Box<CommentConnection>>,
6022 /// Number of comments associated with the project update.
6023 pub comment_count: Option<i64>,
6024}
6025/// A generic payload return from entity archive mutations.
6026#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6027#[serde(rename_all = "camelCase", default)]
6028pub struct ProjectUpdateArchivePayload {
6029 /// The identifier of the last sync operation.
6030 pub last_sync_id: Option<f64>,
6031 /// Whether the operation was successful.
6032 pub success: Option<bool>,
6033 /// The archived/unarchived entity. Null if entity was deleted.
6034 pub entity: Option<Box<ProjectUpdate>>,
6035}
6036#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6037#[serde(rename_all = "camelCase", default)]
6038pub struct ProjectUpdateConnection {
6039 pub edges: Option<Box<Vec<ProjectUpdateEdge>>>,
6040 pub nodes: Option<Box<Vec<ProjectUpdate>>>,
6041 pub page_info: Option<Box<PageInfo>>,
6042}
6043#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6044#[serde(rename_all = "camelCase", default)]
6045pub struct ProjectUpdateEdge {
6046 pub node: Option<Box<ProjectUpdate>>,
6047 /// Used in `before` and `after` args
6048 pub cursor: Option<String>,
6049}
6050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6051#[serde(rename_all = "camelCase", default)]
6052pub struct ProjectUpdatePayload {
6053 /// The identifier of the last sync operation.
6054 pub last_sync_id: Option<f64>,
6055 /// The project update that was created or updated.
6056 pub project_update: Option<Box<ProjectUpdate>>,
6057 /// Whether the operation was successful.
6058 pub success: Option<bool>,
6059}
6060#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6061#[serde(rename_all = "camelCase", default)]
6062pub struct ProjectUpdateReminderPayload {
6063 /// The identifier of the last sync operation.
6064 pub last_sync_id: Option<f64>,
6065 /// Whether the operation was successful.
6066 pub success: Option<bool>,
6067}
6068/// `Internal` A pull request in a version control system.
6069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6070#[serde(rename_all = "camelCase", default)]
6071pub struct PullRequest {
6072 /// The unique identifier of the entity.
6073 pub id: Option<String>,
6074 /// The time at which the entity was created.
6075 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6076 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6077 /// been updated after creation.
6078 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6079 /// The time at which the entity was archived. Null if the entity has not been archived.
6080 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6081 /// The pull request's unique URL slug.
6082 pub slug_id: Option<String>,
6083 /// The title of the pull request.
6084 pub title: Option<String>,
6085 /// The number of the pull request in the version control system.
6086 pub number: Option<f64>,
6087 /// The source branch of the pull request.
6088 pub source_branch: Option<String>,
6089 /// The target branch of the pull request.
6090 pub target_branch: Option<String>,
6091 /// The URL of the pull request in the version control system.
6092 pub url: Option<String>,
6093 /// The status of the pull request.
6094 pub status: Option<PullRequestStatus>,
6095 /// Merge settings for this pull request.
6096 pub merge_settings: Option<Box<PullRequestMergeSettings>>,
6097 /// The merge commit created when the PR was merged.
6098 pub merge_commit: Option<Box<PullRequestCommit>>,
6099 /// `Internal` The checks associated with the pull request.
6100 pub checks: Option<Box<Vec<PullRequestCheck>>>,
6101 /// `ALPHA` The commits associated with the pull request.
6102 pub commits: Option<Box<Vec<PullRequestCommit>>>,
6103 /// `Internal` The user who created the pull request.
6104 pub creator: Option<Box<User>>,
6105}
6106/// `ALPHA` A pull request check.
6107#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6108#[serde(rename_all = "camelCase", default)]
6109pub struct PullRequestCheck {
6110 /// The name of the check.
6111 pub name: Option<String>,
6112 /// The name of the workflow that triggered the check.
6113 pub workflow_name: Option<String>,
6114 /// The status of the check.
6115 pub status: Option<String>,
6116 /// The URL of the check.
6117 pub url: Option<String>,
6118 /// Whether the check is required.
6119 pub is_required: Option<bool>,
6120 /// The date/time at which when the check was started.
6121 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
6122 /// The date/time at which when the check was completed.
6123 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
6124}
6125/// `ALPHA` A pull request commit.
6126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6127#[serde(rename_all = "camelCase", default)]
6128pub struct PullRequestCommit {
6129 /// The Git commit SHA.
6130 pub sha: Option<String>,
6131 /// The full commit message.
6132 pub message: Option<String>,
6133 /// The timestamp when the commit was committed (ISO 8601 string).
6134 pub committed_at: Option<String>,
6135 /// Number of additions in this commit.
6136 pub additions: Option<f64>,
6137 /// Number of deletions in this commit.
6138 pub deletions: Option<f64>,
6139 /// The number of changed files if available.
6140 pub changed_files: Option<f64>,
6141 /// Linear user IDs for commit authors (includes co-authors).
6142 pub author_user_ids: Option<Vec<String>>,
6143 /// External user IDs for commit authors (includes co-authors).
6144 pub author_external_user_ids: Option<Vec<String>>,
6145}
6146/// `Internal` Merge settings for a pull request
6147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6148#[serde(rename_all = "camelCase", default)]
6149pub struct PullRequestMergeSettings {
6150 /// Whether merge queue is enabled for this repository.
6151 pub is_merge_queue_enabled: Option<bool>,
6152 /// Whether squash merge is allowed for this pull request's repository.
6153 pub squash_merge_allowed: Option<bool>,
6154 /// Whether auto-merge is allowed for the PR's repository.
6155 pub auto_merge_allowed: Option<bool>,
6156 /// Whether rebase merge is allowed for pull requests PR's repository.
6157 pub rebase_merge_allowed: Option<bool>,
6158 /// Whether merge commits are allowed for pull requests PR's repository.
6159 pub merge_commit_allowed: Option<bool>,
6160 /// Whether the branch will be deleted when the pull request is merged.
6161 pub delete_branch_on_merge: Option<bool>,
6162 /// The method used to merge a pull request.
6163 pub merge_queue_merge_method: Option<PullRequestMergeMethod>,
6164}
6165/// A pull request related notification.
6166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6167#[serde(rename_all = "camelCase", default)]
6168pub struct PullRequestNotification {
6169 /// The unique identifier of the entity.
6170 pub id: Option<String>,
6171 /// The time at which the entity was created.
6172 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6173 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6174 /// been updated after creation.
6175 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6176 /// The time at which the entity was archived. Null if the entity has not been archived.
6177 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6178 /// Notification type.
6179 pub r#type: Option<String>,
6180 /// The user that caused the notification.
6181 pub actor: Option<Box<User>>,
6182 /// The external user that caused the notification.
6183 pub external_user_actor: Option<Box<ExternalUser>>,
6184 /// The user that received the notification.
6185 pub user: Option<Box<User>>,
6186 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
6187 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
6188 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
6189 /// reminder has been sent.
6190 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
6191 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
6192 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
6193 /// The time at which a notification was unsnoozed..
6194 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
6195 /// The category of the notification.
6196 pub category: Option<NotificationCategory>,
6197 /// `Internal` URL to the target of the notification.
6198 pub url: Option<String>,
6199 /// `Internal` Inbox URL for the notification.
6200 pub inbox_url: Option<String>,
6201 /// `Internal` Notification title.
6202 pub title: Option<String>,
6203 /// `Internal` Notification subtitle.
6204 pub subtitle: Option<String>,
6205 /// `Internal` If notification actor was Linear.
6206 pub is_linear_actor: Option<bool>,
6207 /// `Internal` Notification avatar URL.
6208 pub actor_avatar_url: Option<String>,
6209 /// `Internal` Notification actor initials if avatar is not available.
6210 pub actor_initials: Option<String>,
6211 /// `Internal` Notification actor initials if avatar is not available.
6212 pub actor_avatar_color: Option<String>,
6213 /// `Internal` Issue's status type for issue notifications.
6214 pub issue_status_type: Option<String>,
6215 /// `Internal` Project update health for new updates.
6216 pub project_update_health: Option<String>,
6217 /// `Internal` Initiative update health for new updates.
6218 pub initiative_update_health: Option<String>,
6219 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
6220 pub grouping_key: Option<String>,
6221 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
6222 pub grouping_priority: Option<f64>,
6223 /// The bot that caused the notification.
6224 pub bot_actor: Option<Box<ActorBot>>,
6225 /// Related pull request.
6226 pub pull_request_id: Option<String>,
6227 /// Related pull request comment ID. Null if the notification is not related to a pull request comment.
6228 pub pull_request_comment_id: Option<String>,
6229 /// The pull request related to the notification.
6230 pub pull_request: Option<Box<PullRequest>>,
6231}
6232/// A user's web or mobile push notification subscription.
6233#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6234#[serde(rename_all = "camelCase", default)]
6235pub struct PushSubscription {
6236 /// The unique identifier of the entity.
6237 pub id: Option<String>,
6238 /// The time at which the entity was created.
6239 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6240 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6241 /// been updated after creation.
6242 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6243 /// The time at which the entity was archived. Null if the entity has not been archived.
6244 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6245}
6246#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6247#[serde(rename_all = "camelCase", default)]
6248pub struct PushSubscriptionPayload {
6249 /// The identifier of the last sync operation.
6250 pub last_sync_id: Option<f64>,
6251 /// The push subscription that was created or updated.
6252 pub entity: Option<Box<PushSubscription>>,
6253 /// Whether the operation was successful.
6254 pub success: Option<bool>,
6255}
6256#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6257#[serde(rename_all = "camelCase", default)]
6258pub struct PushSubscriptionTestPayload {
6259 /// Whether the operation was successful.
6260 pub success: Option<bool>,
6261}
6262#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6263#[serde(rename_all = "camelCase", default)]
6264pub struct RateLimitPayload {
6265 /// The identifier we rate limit on.
6266 pub identifier: Option<String>,
6267 /// The kind of rate limit selected for this request.
6268 pub kind: Option<String>,
6269 /// The state of the rate limit.
6270 pub limits: Option<Box<Vec<RateLimitResultPayload>>>,
6271}
6272#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6273#[serde(rename_all = "camelCase", default)]
6274pub struct RateLimitResultPayload {
6275 /// What is being rate limited.
6276 pub r#type: Option<String>,
6277 /// The requested quantity for this type of limit.
6278 pub requested_amount: Option<f64>,
6279 /// The total allowed quantity for this type of limit.
6280 pub allowed_amount: Option<f64>,
6281 /// The period in which the rate limit is fully replenished in ms.
6282 pub period: Option<f64>,
6283 /// The remaining quantity for this type of limit after this request.
6284 pub remaining_amount: Option<f64>,
6285 /// The timestamp after the rate limit is fully replenished as a UNIX timestamp.
6286 pub reset: Option<f64>,
6287}
6288/// A reaction associated with a comment or a project update.
6289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6290#[serde(rename_all = "camelCase", default)]
6291pub struct Reaction {
6292 /// The unique identifier of the entity.
6293 pub id: Option<String>,
6294 /// The time at which the entity was created.
6295 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6296 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6297 /// been updated after creation.
6298 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6299 /// The time at which the entity was archived. Null if the entity has not been archived.
6300 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6301 /// Name of the reaction's emoji.
6302 pub emoji: Option<String>,
6303 /// The issue that the reaction is associated with.
6304 pub issue: Option<Box<Issue>>,
6305 /// The comment that the reaction is associated with.
6306 pub comment: Option<Box<Comment>>,
6307 /// The project update that the reaction is associated with.
6308 pub project_update: Option<Box<ProjectUpdate>>,
6309 /// The initiative update that the reaction is associated with.
6310 pub initiative_update: Option<Box<InitiativeUpdate>>,
6311 /// The post that the reaction is associated with.
6312 pub post: Option<Box<Post>>,
6313 /// The user that created the reaction.
6314 pub user: Option<Box<User>>,
6315 /// The external user that created the reaction.
6316 pub external_user: Option<Box<ExternalUser>>,
6317}
6318#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6319#[serde(rename_all = "camelCase", default)]
6320pub struct ReactionPayload {
6321 /// The identifier of the last sync operation.
6322 pub last_sync_id: Option<f64>,
6323 pub reaction: Option<Box<Reaction>>,
6324 pub success: Option<bool>,
6325}
6326/// `Internal` A release.
6327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6328#[serde(rename_all = "camelCase", default)]
6329pub struct Release {
6330 /// The unique identifier of the entity.
6331 pub id: Option<String>,
6332 /// The time at which the entity was created.
6333 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6334 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6335 /// been updated after creation.
6336 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6337 /// The time at which the entity was archived. Null if the entity has not been archived.
6338 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6339 /// The name of the release.
6340 pub name: Option<String>,
6341 /// The release's description.
6342 pub description: Option<String>,
6343 /// The version of the release.
6344 pub version: Option<String>,
6345 /// The commit SHA associated with this release.
6346 pub commit_sha: Option<String>,
6347 /// The pipeline this release belongs to.
6348 pub pipeline: Option<Box<ReleasePipeline>>,
6349 /// The current stage of the release.
6350 pub stage: Option<Box<ReleaseStage>>,
6351 /// The release's unique URL slug.
6352 pub slug_id: Option<String>,
6353 /// The estimated start date of the release.
6354 pub start_date: Option<chrono::NaiveDate>,
6355 /// The estimated completion date of the release.
6356 pub target_date: Option<chrono::NaiveDate>,
6357 /// The time at which the release was started.
6358 pub started_at: Option<chrono::DateTime<chrono::Utc>>,
6359 /// The time at which the release was completed.
6360 pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
6361 /// The time at which the release was canceled.
6362 pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
6363 /// Release URL.
6364 pub url: Option<String>,
6365 /// `Internal` Documents associated with the release.
6366 pub documents: Option<Box<DocumentConnection>>,
6367 /// `Internal` Links associated with the release.
6368 pub links: Option<Box<EntityExternalLinkConnection>>,
6369}
6370/// A generic payload return from entity archive mutations.
6371#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6372#[serde(rename_all = "camelCase", default)]
6373pub struct ReleaseArchivePayload {
6374 /// The identifier of the last sync operation.
6375 pub last_sync_id: Option<f64>,
6376 /// Whether the operation was successful.
6377 pub success: Option<bool>,
6378 /// The archived/unarchived entity. Null if entity was deleted.
6379 pub entity: Option<Box<Release>>,
6380}
6381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6382#[serde(rename_all = "camelCase", default)]
6383pub struct ReleaseConnection {
6384 pub edges: Option<Box<Vec<ReleaseEdge>>>,
6385 pub nodes: Option<Box<Vec<Release>>>,
6386 pub page_info: Option<Box<PageInfo>>,
6387}
6388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6389#[serde(rename_all = "camelCase", default)]
6390pub struct ReleaseEdge {
6391 pub node: Option<Box<Release>>,
6392 /// Used in `before` and `after` args
6393 pub cursor: Option<String>,
6394}
6395#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6396#[serde(rename_all = "camelCase", default)]
6397pub struct ReleasePayload {
6398 /// The identifier of the last sync operation.
6399 pub last_sync_id: Option<f64>,
6400 /// The release that was created or updated.
6401 pub release: Option<Box<Release>>,
6402 /// Whether the operation was successful.
6403 pub success: Option<bool>,
6404}
6405/// `Internal` A release pipeline.
6406#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6407#[serde(rename_all = "camelCase", default)]
6408pub struct ReleasePipeline {
6409 /// The unique identifier of the entity.
6410 pub id: Option<String>,
6411 /// The time at which the entity was created.
6412 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6413 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6414 /// been updated after creation.
6415 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6416 /// The time at which the entity was archived. Null if the entity has not been archived.
6417 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6418 /// The name of the pipeline.
6419 pub name: Option<String>,
6420 /// The pipeline's unique slug identifier.
6421 pub slug_id: Option<String>,
6422 /// The type of the pipeline.
6423 pub r#type: Option<ReleasePipelineType>,
6424 /// Glob patterns to include commits affecting matching file paths.
6425 pub include_path_patterns: Option<Vec<String>>,
6426 /// `ALPHA` Stages associated with this pipeline.
6427 pub stages: Option<Box<ReleaseStageConnection>>,
6428 /// `ALPHA` Releases associated with this pipeline.
6429 pub releases: Option<Box<ReleaseConnection>>,
6430}
6431/// A generic payload return from entity archive mutations.
6432#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6433#[serde(rename_all = "camelCase", default)]
6434pub struct ReleasePipelineArchivePayload {
6435 /// The identifier of the last sync operation.
6436 pub last_sync_id: Option<f64>,
6437 /// Whether the operation was successful.
6438 pub success: Option<bool>,
6439 /// The archived/unarchived entity. Null if entity was deleted.
6440 pub entity: Option<Box<ReleasePipeline>>,
6441}
6442#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6443#[serde(rename_all = "camelCase", default)]
6444pub struct ReleasePipelineConnection {
6445 pub edges: Option<Box<Vec<ReleasePipelineEdge>>>,
6446 pub nodes: Option<Box<Vec<ReleasePipeline>>>,
6447 pub page_info: Option<Box<PageInfo>>,
6448}
6449#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6450#[serde(rename_all = "camelCase", default)]
6451pub struct ReleasePipelineEdge {
6452 pub node: Option<Box<ReleasePipeline>>,
6453 /// Used in `before` and `after` args
6454 pub cursor: Option<String>,
6455}
6456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6457#[serde(rename_all = "camelCase", default)]
6458pub struct ReleasePipelinePayload {
6459 /// The identifier of the last sync operation.
6460 pub last_sync_id: Option<f64>,
6461 /// The release pipeline that was created or updated.
6462 pub release_pipeline: Option<Box<ReleasePipeline>>,
6463 /// Whether the operation was successful.
6464 pub success: Option<bool>,
6465}
6466/// `Internal` A release stage.
6467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6468#[serde(rename_all = "camelCase", default)]
6469pub struct ReleaseStage {
6470 /// The unique identifier of the entity.
6471 pub id: Option<String>,
6472 /// The time at which the entity was created.
6473 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6474 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6475 /// been updated after creation.
6476 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6477 /// The time at which the entity was archived. Null if the entity has not been archived.
6478 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6479 /// The name of the stage.
6480 pub name: Option<String>,
6481 /// The UI color of the stage as a HEX string.
6482 pub color: Option<String>,
6483 /// The type of the stage.
6484 pub r#type: Option<ReleaseStageType>,
6485 /// The position of the stage.
6486 pub position: Option<f64>,
6487 /// The pipeline this stage belongs to.
6488 pub pipeline: Option<Box<ReleasePipeline>>,
6489 /// `ALPHA` Releases associated with this stage.
6490 pub releases: Option<Box<ReleaseConnection>>,
6491}
6492/// A generic payload return from entity archive mutations.
6493#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6494#[serde(rename_all = "camelCase", default)]
6495pub struct ReleaseStageArchivePayload {
6496 /// The identifier of the last sync operation.
6497 pub last_sync_id: Option<f64>,
6498 /// Whether the operation was successful.
6499 pub success: Option<bool>,
6500 /// The archived/unarchived entity. Null if entity was deleted.
6501 pub entity: Option<Box<ReleaseStage>>,
6502}
6503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6504#[serde(rename_all = "camelCase", default)]
6505pub struct ReleaseStageConnection {
6506 pub edges: Option<Box<Vec<ReleaseStageEdge>>>,
6507 pub nodes: Option<Box<Vec<ReleaseStage>>>,
6508 pub page_info: Option<Box<PageInfo>>,
6509}
6510#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6511#[serde(rename_all = "camelCase", default)]
6512pub struct ReleaseStageEdge {
6513 pub node: Option<Box<ReleaseStage>>,
6514 /// Used in `before` and `after` args
6515 pub cursor: Option<String>,
6516}
6517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6518#[serde(rename_all = "camelCase", default)]
6519pub struct ReleaseStagePayload {
6520 /// The identifier of the last sync operation.
6521 pub last_sync_id: Option<f64>,
6522 /// The release stage that was created or updated.
6523 pub release_stage: Option<Box<ReleaseStage>>,
6524 /// Whether the operation was successful.
6525 pub success: Option<bool>,
6526}
6527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6528#[serde(rename_all = "camelCase", default)]
6529pub struct RepositorySuggestion {
6530 /// The full name of the repository in owner/name format (e.g., 'acme/backend').
6531 pub repository_full_name: Option<String>,
6532 /// Hostname of the Git service (e.g., 'github.com', 'github.company.com').
6533 pub hostname: Option<String>,
6534 /// Confidence score from 0.0 to 1.0.
6535 pub confidence: Option<f64>,
6536}
6537#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6538#[serde(rename_all = "camelCase", default)]
6539pub struct RepositorySuggestionsPayload {
6540 /// The suggested repositories.
6541 pub suggestions: Option<Box<Vec<RepositorySuggestion>>>,
6542}
6543/// `Deprecated` A roadmap for projects.
6544#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6545#[serde(rename_all = "camelCase", default)]
6546pub struct Roadmap {
6547 /// The unique identifier of the entity.
6548 pub id: Option<String>,
6549 /// The time at which the entity was created.
6550 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6551 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6552 /// been updated after creation.
6553 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6554 /// The time at which the entity was archived. Null if the entity has not been archived.
6555 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6556 /// The name of the roadmap.
6557 pub name: Option<String>,
6558 /// The description of the roadmap.
6559 pub description: Option<String>,
6560 /// The organization of the roadmap.
6561 pub organization: Option<Box<Organization>>,
6562 /// The user who created the roadmap.
6563 pub creator: Option<Box<User>>,
6564 /// The user who owns the roadmap.
6565 pub owner: Option<Box<User>>,
6566 /// The roadmap's unique URL slug.
6567 pub slug_id: Option<String>,
6568 /// The sort order of the roadmap within the organization.
6569 pub sort_order: Option<f64>,
6570 /// The roadmap's color.
6571 pub color: Option<String>,
6572 /// Projects associated with the roadmap.
6573 pub projects: Option<Box<ProjectConnection>>,
6574 /// The canonical url for the roadmap.
6575 pub url: Option<String>,
6576}
6577/// A generic payload return from entity archive mutations.
6578#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6579#[serde(rename_all = "camelCase", default)]
6580pub struct RoadmapArchivePayload {
6581 /// The identifier of the last sync operation.
6582 pub last_sync_id: Option<f64>,
6583 /// Whether the operation was successful.
6584 pub success: Option<bool>,
6585 /// The archived/unarchived entity. Null if entity was deleted.
6586 pub entity: Option<Box<Roadmap>>,
6587}
6588#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6589#[serde(rename_all = "camelCase", default)]
6590pub struct RoadmapConnection {
6591 pub edges: Option<Box<Vec<RoadmapEdge>>>,
6592 pub nodes: Option<Box<Vec<Roadmap>>>,
6593 pub page_info: Option<Box<PageInfo>>,
6594}
6595#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6596#[serde(rename_all = "camelCase", default)]
6597pub struct RoadmapEdge {
6598 pub node: Option<Box<Roadmap>>,
6599 /// Used in `before` and `after` args
6600 pub cursor: Option<String>,
6601}
6602#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6603#[serde(rename_all = "camelCase", default)]
6604pub struct RoadmapPayload {
6605 /// The identifier of the last sync operation.
6606 pub last_sync_id: Option<f64>,
6607 /// The roadmap that was created or updated.
6608 pub roadmap: Option<Box<Roadmap>>,
6609 /// Whether the operation was successful.
6610 pub success: Option<bool>,
6611}
6612/// `Deprecated` Join table between projects and roadmaps.
6613#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6614#[serde(rename_all = "camelCase", default)]
6615pub struct RoadmapToProject {
6616 /// The unique identifier of the entity.
6617 pub id: Option<String>,
6618 /// The time at which the entity was created.
6619 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6620 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6621 /// been updated after creation.
6622 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6623 /// The time at which the entity was archived. Null if the entity has not been archived.
6624 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6625 /// The project that the roadmap is associated with.
6626 pub project: Option<Box<Project>>,
6627 /// The roadmap that the project is associated with.
6628 pub roadmap: Option<Box<Roadmap>>,
6629 /// The sort order of the project within the roadmap.
6630 pub sort_order: Option<String>,
6631}
6632#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6633#[serde(rename_all = "camelCase", default)]
6634pub struct RoadmapToProjectConnection {
6635 pub edges: Option<Box<Vec<RoadmapToProjectEdge>>>,
6636 pub nodes: Option<Box<Vec<RoadmapToProject>>>,
6637 pub page_info: Option<Box<PageInfo>>,
6638}
6639#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6640#[serde(rename_all = "camelCase", default)]
6641pub struct RoadmapToProjectEdge {
6642 pub node: Option<Box<RoadmapToProject>>,
6643 /// Used in `before` and `after` args
6644 pub cursor: Option<String>,
6645}
6646#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6647#[serde(rename_all = "camelCase", default)]
6648pub struct RoadmapToProjectPayload {
6649 /// The identifier of the last sync operation.
6650 pub last_sync_id: Option<f64>,
6651 /// The roadmapToProject that was created or updated.
6652 pub roadmap_to_project: Option<Box<RoadmapToProject>>,
6653 /// Whether the operation was successful.
6654 pub success: Option<bool>,
6655}
6656/// Payload returned by semantic search.
6657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6658#[serde(rename_all = "camelCase", default)]
6659pub struct SemanticSearchPayload {
6660 /// Whether the semantic search is enabled.
6661 pub enabled: Option<bool>,
6662 pub results: Option<Box<Vec<SemanticSearchResult>>>,
6663}
6664/// A semantic search result reference.
6665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6666#[serde(rename_all = "camelCase", default)]
6667pub struct SemanticSearchResult {
6668 /// The unique identifier of the entity.
6669 pub id: Option<String>,
6670 /// The type of the semantic search result.
6671 pub r#type: Option<SemanticSearchResultType>,
6672 /// The issue related to the semantic search result.
6673 pub issue: Option<Box<Issue>>,
6674 /// The project related to the semantic search result.
6675 pub project: Option<Box<Project>>,
6676 /// The initiative related to the semantic search result.
6677 pub initiative: Option<Box<Initiative>>,
6678 /// The document related to the semantic search result.
6679 pub document: Option<Box<Document>>,
6680}
6681/// SES domain identity used for sending emails from a custom domain.
6682#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6683#[serde(rename_all = "camelCase", default)]
6684pub struct SesDomainIdentity {
6685 /// The unique identifier of the entity.
6686 pub id: Option<String>,
6687 /// The time at which the entity was created.
6688 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6689 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6690 /// been updated after creation.
6691 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6692 /// The time at which the entity was archived. Null if the entity has not been archived.
6693 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6694 /// The domain of the SES domain identity.
6695 pub domain: Option<String>,
6696 /// The AWS region of the SES domain identity.
6697 pub region: Option<String>,
6698 /// The organization of the SES domain identity.
6699 pub organization: Option<Box<Organization>>,
6700 /// The user who created the SES domain identity.
6701 pub creator: Option<Box<User>>,
6702 /// Whether the domain is fully verified and can be used for sending emails.
6703 pub can_send_from_custom_domain: Option<bool>,
6704 /// The DNS records for the SES domain identity.
6705 pub dns_records: Option<Box<Vec<SesDomainIdentityDnsRecord>>>,
6706}
6707/// A DNS record for a SES domain identity.
6708#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6709#[serde(rename_all = "camelCase", default)]
6710pub struct SesDomainIdentityDnsRecord {
6711 /// The type of the DNS record.
6712 pub r#type: Option<String>,
6713 /// The name of the DNS record.
6714 pub name: Option<String>,
6715 /// The content of the DNS record.
6716 pub content: Option<String>,
6717 /// Whether the DNS record is verified in the domain's DNS configuration.
6718 pub is_verified: Option<bool>,
6719}
6720/// Tuple for mapping Slack channel IDs to names.
6721#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6722#[serde(rename_all = "camelCase", default)]
6723pub struct SlackAsksTeamSettings {
6724 /// The Linear team ID.
6725 pub id: Option<String>,
6726 /// Whether the default Asks template is enabled in the given channel for this team.
6727 pub has_default_ask: Option<bool>,
6728}
6729#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6730#[serde(rename_all = "camelCase", default)]
6731pub struct SlackChannelConnectPayload {
6732 /// The identifier of the last sync operation.
6733 pub last_sync_id: Option<f64>,
6734 /// The integration that was created or updated.
6735 pub integration: Option<Box<Integration>>,
6736 /// Whether the operation was successful.
6737 pub success: Option<bool>,
6738 /// Whether the bot needs to be manually added to the channel.
6739 pub add_bot: Option<bool>,
6740 /// Whether it's recommended to connect main Slack integration.
6741 pub nudge_to_connect_main_slack_integration: Option<bool>,
6742 /// Whether it's recommended to update main Slack integration.
6743 pub nudge_to_update_main_slack_integration: Option<bool>,
6744}
6745/// Object for mapping Slack channel IDs to names and other settings.
6746#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6747#[serde(rename_all = "camelCase", default)]
6748pub struct SlackChannelNameMapping {
6749 /// The Slack channel ID.
6750 pub id: Option<String>,
6751 /// The Slack channel name.
6752 pub name: Option<String>,
6753 /// Whether or not the Slack channel is private.
6754 pub is_private: Option<bool>,
6755 /// Whether or not the Slack channel is shared with an external org.
6756 pub is_shared: Option<bool>,
6757 /// Whether or not the Linear Asks bot has been added to this Slack channel.
6758 pub bot_added: Option<bool>,
6759 /// Which teams are connected to the channel and settings for those teams.
6760 pub teams: Option<Box<Vec<SlackAsksTeamSettings>>>,
6761 /// Whether or not top-level messages in this channel should automatically create Asks.
6762 pub auto_create_on_message: Option<bool>,
6763 /// Whether or not using the :ticket: emoji in this channel should automatically create Asks.
6764 pub auto_create_on_emoji: Option<bool>,
6765 /// Whether or not @-mentioning the bot should automatically create an Ask with the message.
6766 pub auto_create_on_bot_mention: Option<bool>,
6767 /// The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template.
6768 pub auto_create_template_id: Option<String>,
6769 /// Whether or not synced Slack threads should be updated with a message and emoji when their Ask is canceled.
6770 pub post_cancellation_updates: Option<bool>,
6771 /// Whether or not synced Slack threads should be updated with a message and emoji when their Ask is completed.
6772 pub post_completion_updates: Option<bool>,
6773 /// Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage.
6774 pub post_accepted_from_triage_updates: Option<bool>,
6775 /// Whether or not to use AI to generate titles for Asks created in this channel.
6776 pub ai_titles: Option<bool>,
6777}
6778#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6779#[serde(rename_all = "camelCase", default)]
6780pub struct SsoUrlFromEmailResponse {
6781 /// Whether the operation was successful.
6782 pub success: Option<bool>,
6783 /// SAML SSO sign-in URL.
6784 pub saml_sso_url: Option<String>,
6785}
6786#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6787#[serde(rename_all = "camelCase", default)]
6788pub struct SuccessPayload {
6789 /// The identifier of the last sync operation.
6790 pub last_sync_id: Option<f64>,
6791 /// Whether the operation was successful.
6792 pub success: Option<bool>,
6793}
6794/// An AI-generated summary.
6795#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6796#[serde(rename_all = "camelCase", default)]
6797pub struct Summary {
6798 /// The unique identifier of the entity.
6799 pub id: Option<String>,
6800 /// The time at which the entity was created.
6801 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6802 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6803 /// been updated after creation.
6804 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6805 /// The time at which the entity was archived. Null if the entity has not been archived.
6806 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6807 /// The issue this summary belongs to.
6808 pub issue: Option<Box<Issue>>,
6809 /// The summary content as a Prosemirror document.
6810 pub content: Option<serde_json::Value>,
6811 /// The evaluation log id for this summary generation.
6812 pub eval_log_id: Option<String>,
6813 /// The generation status of the summary.
6814 pub generation_status: Option<SummaryGenerationStatus>,
6815 /// The time at which the summary was generated.
6816 pub generated_at: Option<chrono::DateTime<chrono::Utc>>,
6817}
6818/// A comment thread that is synced with an external source.
6819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6820#[serde(rename_all = "camelCase", default)]
6821pub struct SyncedExternalThread {
6822 pub id: Option<String>,
6823 /// The type of the external source.
6824 pub r#type: Option<String>,
6825 /// The sub type of the external source.
6826 pub sub_type: Option<String>,
6827 /// The display name of the source.
6828 pub name: Option<String>,
6829 /// The display name of the thread.
6830 pub display_name: Option<String>,
6831 /// The external url of the thread.
6832 pub url: Option<String>,
6833 /// Whether this thread is syncing with the external service.
6834 pub is_connected: Option<bool>,
6835 /// Whether the current user has the corresponding personal integration connected for the external service.
6836 pub is_personal_integration_connected: Option<bool>,
6837 /// Whether a connected personal integration is required to comment in this thread.
6838 pub is_personal_integration_required: Option<bool>,
6839}
6840/// An organizational unit that contains issues.
6841#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6842#[serde(rename_all = "camelCase", default)]
6843pub struct Team {
6844 /// The unique identifier of the entity.
6845 pub id: Option<String>,
6846 /// The time at which the entity was created.
6847 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6848 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6849 /// been updated after creation.
6850 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6851 /// The time at which the entity was archived. Null if the entity has not been archived.
6852 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6853 /// The team's name.
6854 pub name: Option<String>,
6855 /// The team's unique key. The key is used in URLs.
6856 pub key: Option<String>,
6857 /// The team's description.
6858 pub description: Option<String>,
6859 /// The icon of the team.
6860 pub icon: Option<String>,
6861 /// The team's color.
6862 pub color: Option<String>,
6863 /// The time at which the team was retired. Null if the team has not been retired.
6864 pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
6865 /// The organization that the team is associated with.
6866 pub organization: Option<Box<Organization>>,
6867 /// `Internal` The team's parent team.
6868 pub parent: Option<Box<Team>>,
6869 /// `Internal` The team's sub-teams.
6870 pub children: Option<Box<Vec<Team>>>,
6871 /// Whether the team uses cycles.
6872 pub cycles_enabled: Option<bool>,
6873 /// The day of the week that a new cycle starts.
6874 pub cycle_start_day: Option<f64>,
6875 /// The duration of a cycle in weeks.
6876 pub cycle_duration: Option<f64>,
6877 /// The cooldown time after each cycle in weeks.
6878 pub cycle_cooldown_time: Option<f64>,
6879 /// Auto assign started issues to current cycle.
6880 pub cycle_issue_auto_assign_started: Option<bool>,
6881 /// Auto assign completed issues to current cycle.
6882 pub cycle_issue_auto_assign_completed: Option<bool>,
6883 /// Auto assign issues to current cycle if in active status.
6884 pub cycle_lock_to_active: Option<bool>,
6885 /// How many upcoming cycles to create.
6886 pub upcoming_cycle_count: Option<f64>,
6887 /// The timezone of the team. Defaults to "America/Los_Angeles"
6888 pub timezone: Option<String>,
6889 /// Whether the team should inherit its workflow statuses from its parent. Only applies to sub-teams.
6890 pub inherit_workflow_statuses: Option<bool>,
6891 /// Whether the team should inherit its estimation settings from its parent. Only applies to sub-teams.
6892 pub inherit_issue_estimation: Option<bool>,
6893 /// The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
6894 pub issue_estimation_type: Option<String>,
6895 /// `DEPRECATED` Whether issues without priority should be sorted first.
6896 pub issue_ordering_no_priority_first: Option<bool>,
6897 /// Whether to allow zeros in issues estimates.
6898 pub issue_estimation_allow_zero: Option<bool>,
6899 /// Where to move issues when changing state.
6900 pub set_issue_sort_order_on_state_change: Option<String>,
6901 /// Whether to add additional points to the estimate scale.
6902 pub issue_estimation_extended: Option<bool>,
6903 /// What to use as a default estimate for unestimated issues.
6904 pub default_issue_estimate: Option<f64>,
6905 /// Whether triage mode is enabled for the team or not.
6906 pub triage_enabled: Option<bool>,
6907 /// Whether an issue needs to have a priority set before leaving triage.
6908 pub require_priority_to_leave_triage: Option<bool>,
6909 /// The default workflow state into which issues are set when they are opened by team members.
6910 pub default_issue_state: Option<Box<WorkflowState>>,
6911 /// The default template to use for new issues created by members of the team.
6912 pub default_template_for_members: Option<Box<Template>>,
6913 /// The id of the default template to use for new issues created by members of the team.
6914 pub default_template_for_members_id: Option<String>,
6915 /// The default template to use for new issues created by non-members of the team.
6916 pub default_template_for_non_members: Option<Box<Template>>,
6917 /// The id of the default template to use for new issues created by non-members of the team.
6918 pub default_template_for_non_members_id: Option<String>,
6919 /// The default template to use for new projects created for the team.
6920 pub default_project_template: Option<Box<Template>>,
6921 /// The workflow state into which issues are set when they are opened by non-team members or integrations if triage is enabled.
6922 pub triage_issue_state: Option<Box<WorkflowState>>,
6923 /// Whether the team is private or not.
6924 pub private: Option<bool>,
6925 /// Whether all members in the workspace can join the team. Only used for public teams.
6926 pub all_members_can_join: Option<bool>,
6927 /// Security settings for the team.
6928 pub security_settings: Option<serde_json::Value>,
6929 /// `Internal` Facets associated with the team.
6930 pub facets: Option<Box<Vec<Facet>>>,
6931 /// `Internal` Posts associated with the team.
6932 pub posts: Option<Box<Vec<Post>>>,
6933 /// Whether the team is managed by SCIM integration.
6934 pub scim_managed: Option<bool>,
6935 /// The SCIM group name for the team.
6936 pub scim_group_name: Option<String>,
6937 /// `Internal` The progress history of the team.
6938 pub progress_history: Option<serde_json::Value>,
6939 /// `Internal` The current progress of the team.
6940 pub current_progress: Option<serde_json::Value>,
6941 /// The workflow state into which issues are moved when a PR has been opened as draft.
6942 pub draft_workflow_state: Option<Box<WorkflowState>>,
6943 /// The workflow state into which issues are moved when a PR has been opened.
6944 pub start_workflow_state: Option<Box<WorkflowState>>,
6945 /// The workflow state into which issues are moved when a review has been requested for the PR.
6946 pub review_workflow_state: Option<Box<WorkflowState>>,
6947 /// The workflow state into which issues are moved when a PR is ready to be merged.
6948 pub mergeable_workflow_state: Option<Box<WorkflowState>>,
6949 /// The workflow state into which issues are moved when a PR has been merged.
6950 pub merge_workflow_state: Option<Box<WorkflowState>>,
6951 /// Whether to group recent issue history entries.
6952 pub group_issue_history: Option<bool>,
6953 /// Whether to enable resolved thread AI summaries.
6954 pub ai_thread_summaries_enabled: Option<bool>,
6955 /// Whether to enable AI discussion summaries for issues in this team.
6956 pub ai_discussion_summaries_enabled: Option<bool>,
6957 /// Whether to send new issue notifications to Slack.
6958 pub slack_new_issue: Option<bool>,
6959 /// Whether to send new issue comment notifications to Slack.
6960 pub slack_issue_comments: Option<bool>,
6961 /// Whether to send new issue status updates to Slack.
6962 pub slack_issue_statuses: Option<bool>,
6963 /// Period after which issues are automatically closed in months. Null/undefined means disabled.
6964 pub auto_close_period: Option<f64>,
6965 /// The canceled workflow state which auto closed issues will be set to. Defaults to the first canceled state.
6966 pub auto_close_state_id: Option<String>,
6967 /// Period after which automatically closed and completed issues are automatically archived in months.
6968 pub auto_archive_period: Option<f64>,
6969 /// Whether parent issues should automatically close when all child issues are closed
6970 pub auto_close_parent_issues: Option<bool>,
6971 /// Whether child issues should automatically close when their parent issue is closed
6972 pub auto_close_child_issues: Option<bool>,
6973 /// The workflow state into which issues are moved when they are marked as a duplicate of another issue. Defaults to the first canceled state.
6974 pub marked_as_duplicate_workflow_state: Option<Box<WorkflowState>>,
6975 /// `Internal` Whether new users should join this team by default.
6976 pub join_by_default: Option<bool>,
6977 /// Calendar feed URL (iCal) for cycles.
6978 pub cycle_calender_url: Option<String>,
6979 /// The name of the team including its parent team name if it has one.
6980 pub display_name: Option<String>,
6981 /// Issues associated with the team.
6982 pub issues: Option<Box<IssueConnection>>,
6983 /// Number of issues in the team.
6984 pub issue_count: Option<i64>,
6985 /// Cycles associated with the team.
6986 pub cycles: Option<Box<CycleConnection>>,
6987 /// Team's currently active cycle.
6988 pub active_cycle: Option<Box<Cycle>>,
6989 /// Team's triage responsibility.
6990 pub triage_responsibility: Option<Box<TriageResponsibility>>,
6991 /// Users who are members of this team.
6992 pub members: Option<Box<UserConnection>>,
6993 /// `ALPHA` The membership of the given user in the team.
6994 pub membership: Option<Box<TeamMembership>>,
6995 /// Memberships associated with the team. For easier access of the same data, use `members` query.
6996 pub memberships: Option<Box<TeamMembershipConnection>>,
6997 /// Projects associated with the team.
6998 pub projects: Option<Box<ProjectConnection>>,
6999 /// The states that define the workflow associated with the team.
7000 pub states: Option<Box<WorkflowStateConnection>>,
7001 /// The Git automation states for the team.
7002 pub git_automation_states: Option<Box<GitAutomationStateConnection>>,
7003 /// Templates associated with the team.
7004 pub templates: Option<Box<TemplateConnection>>,
7005 /// Labels associated with the team.
7006 pub labels: Option<Box<IssueLabelConnection>>,
7007 /// Webhooks associated with the team.
7008 pub webhooks: Option<Box<WebhookConnection>>,
7009 /// Settings for all integrations associated with that team.
7010 pub integrations_settings: Option<Box<IntegrationsSettings>>,
7011 /// `DEPRECATED` Whether to move issues to bottom of the column when changing state.
7012 pub issue_sort_order_default_to_bottom: Option<bool>,
7013 /// `DEPRECATED` Unique hash for the team to be used in invite URLs.
7014 pub invite_hash: Option<String>,
7015}
7016/// A generic payload return from entity archive mutations.
7017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7018#[serde(rename_all = "camelCase", default)]
7019pub struct TeamArchivePayload {
7020 /// The identifier of the last sync operation.
7021 pub last_sync_id: Option<f64>,
7022 /// Whether the operation was successful.
7023 pub success: Option<bool>,
7024 /// The archived/unarchived entity. Null if entity was deleted.
7025 pub entity: Option<Box<Team>>,
7026}
7027#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7028#[serde(rename_all = "camelCase", default)]
7029pub struct TeamConnection {
7030 pub edges: Option<Box<Vec<TeamEdge>>>,
7031 pub nodes: Option<Box<Vec<Team>>>,
7032 pub page_info: Option<Box<PageInfo>>,
7033}
7034#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7035#[serde(rename_all = "camelCase", default)]
7036pub struct TeamEdge {
7037 pub node: Option<Box<Team>>,
7038 /// Used in `before` and `after` args
7039 pub cursor: Option<String>,
7040}
7041/// Defines the membership of a user to a team.
7042#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7043#[serde(rename_all = "camelCase", default)]
7044pub struct TeamMembership {
7045 /// The unique identifier of the entity.
7046 pub id: Option<String>,
7047 /// The time at which the entity was created.
7048 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7049 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7050 /// been updated after creation.
7051 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7052 /// The time at which the entity was archived. Null if the entity has not been archived.
7053 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7054 /// The user that the membership is associated with.
7055 pub user: Option<Box<User>>,
7056 /// The team that the membership is associated with.
7057 pub team: Option<Box<Team>>,
7058 /// Whether the user is an owner of the team.
7059 pub owner: Option<bool>,
7060 /// The order of the item in the users team list.
7061 pub sort_order: Option<f64>,
7062}
7063#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7064#[serde(rename_all = "camelCase", default)]
7065pub struct TeamMembershipConnection {
7066 pub edges: Option<Box<Vec<TeamMembershipEdge>>>,
7067 pub nodes: Option<Box<Vec<TeamMembership>>>,
7068 pub page_info: Option<Box<PageInfo>>,
7069}
7070#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7071#[serde(rename_all = "camelCase", default)]
7072pub struct TeamMembershipEdge {
7073 pub node: Option<Box<TeamMembership>>,
7074 /// Used in `before` and `after` args
7075 pub cursor: Option<String>,
7076}
7077#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7078#[serde(rename_all = "camelCase", default)]
7079pub struct TeamMembershipPayload {
7080 /// The identifier of the last sync operation.
7081 pub last_sync_id: Option<f64>,
7082 /// The team membership that was created or updated.
7083 pub team_membership: Option<Box<TeamMembership>>,
7084 /// Whether the operation was successful.
7085 pub success: Option<bool>,
7086}
7087/// A team notification subscription.
7088#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7089#[serde(rename_all = "camelCase", default)]
7090pub struct TeamNotificationSubscription {
7091 /// The unique identifier of the entity.
7092 pub id: Option<String>,
7093 /// The time at which the entity was created.
7094 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7095 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7096 /// been updated after creation.
7097 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7098 /// The time at which the entity was archived. Null if the entity has not been archived.
7099 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7100 /// The user that subscribed to receive notifications.
7101 pub subscriber: Option<Box<User>>,
7102 /// The customer associated with the notification subscription.
7103 pub customer: Option<Box<Customer>>,
7104 /// The contextual custom view associated with the notification subscription.
7105 pub custom_view: Option<Box<CustomView>>,
7106 /// The contextual cycle view associated with the notification subscription.
7107 pub cycle: Option<Box<Cycle>>,
7108 /// The contextual label view associated with the notification subscription.
7109 pub label: Option<Box<IssueLabel>>,
7110 /// The contextual project view associated with the notification subscription.
7111 pub project: Option<Box<Project>>,
7112 /// The contextual initiative view associated with the notification subscription.
7113 pub initiative: Option<Box<Initiative>>,
7114 /// The team subscribed to.
7115 pub team: Option<Box<Team>>,
7116 /// The user view associated with the notification subscription.
7117 pub user: Option<Box<User>>,
7118 /// The type of view to which the notification subscription context is associated with.
7119 pub context_view_type: Option<ContextViewType>,
7120 /// The type of user view to which the notification subscription context is associated with.
7121 pub user_context_view_type: Option<UserContextViewType>,
7122 /// Whether the subscription is active or not.
7123 pub active: Option<bool>,
7124 /// The type of subscription.
7125 pub notification_subscription_types: Option<Vec<String>>,
7126}
7127#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7128#[serde(rename_all = "camelCase", default)]
7129pub struct TeamPayload {
7130 /// The identifier of the last sync operation.
7131 pub last_sync_id: Option<f64>,
7132 /// The team that was created or updated.
7133 pub team: Option<Box<Team>>,
7134 /// Whether the operation was successful.
7135 pub success: Option<bool>,
7136}
7137/// A template object used for creating entities faster.
7138#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7139#[serde(rename_all = "camelCase", default)]
7140pub struct Template {
7141 /// The unique identifier of the entity.
7142 pub id: Option<String>,
7143 /// The time at which the entity was created.
7144 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7145 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7146 /// been updated after creation.
7147 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7148 /// The time at which the entity was archived. Null if the entity has not been archived.
7149 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7150 /// The entity type this template is for.
7151 pub r#type: Option<String>,
7152 /// The name of the template.
7153 pub name: Option<String>,
7154 /// Template description.
7155 pub description: Option<String>,
7156 /// Template data.
7157 pub template_data: Option<serde_json::Value>,
7158 /// The sort order of the template.
7159 pub sort_order: Option<f64>,
7160 /// The date when the template was last applied.
7161 pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
7162 /// The organization that the template is associated with. If null, the template is associated with a particular team.
7163 pub organization: Option<Box<Organization>>,
7164 /// The team that the template is associated with. If null, the template is global to the workspace.
7165 pub team: Option<Box<Team>>,
7166 /// The user who created the template.
7167 pub creator: Option<Box<User>>,
7168 /// The user who last updated the template.
7169 pub last_updated_by: Option<Box<User>>,
7170 /// The original template inherited from.
7171 pub inherited_from: Option<Box<Template>>,
7172 /// `Internal` Whether the template has form fields
7173 pub has_form_fields: Option<bool>,
7174}
7175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7176#[serde(rename_all = "camelCase", default)]
7177pub struct TemplateConnection {
7178 pub edges: Option<Box<Vec<TemplateEdge>>>,
7179 pub nodes: Option<Box<Vec<Template>>>,
7180 pub page_info: Option<Box<PageInfo>>,
7181}
7182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7183#[serde(rename_all = "camelCase", default)]
7184pub struct TemplateEdge {
7185 pub node: Option<Box<Template>>,
7186 /// Used in `before` and `after` args
7187 pub cursor: Option<String>,
7188}
7189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7190#[serde(rename_all = "camelCase", default)]
7191pub struct TemplatePayload {
7192 /// The identifier of the last sync operation.
7193 pub last_sync_id: Option<f64>,
7194 /// The template that was created or updated.
7195 pub template: Option<Box<Template>>,
7196 /// Whether the operation was successful.
7197 pub success: Option<bool>,
7198}
7199/// A time schedule.
7200#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7201#[serde(rename_all = "camelCase", default)]
7202pub struct TimeSchedule {
7203 /// The unique identifier of the entity.
7204 pub id: Option<String>,
7205 /// The time at which the entity was created.
7206 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7207 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7208 /// been updated after creation.
7209 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7210 /// The time at which the entity was archived. Null if the entity has not been archived.
7211 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7212 /// The name of the schedule.
7213 pub name: Option<String>,
7214 /// The schedule entries.
7215 pub entries: Option<Box<Vec<TimeScheduleEntry>>>,
7216 /// The identifier of the external schedule.
7217 pub external_id: Option<String>,
7218 /// The URL to the external schedule.
7219 pub external_url: Option<String>,
7220 /// The organization of the schedule.
7221 pub organization: Option<Box<Organization>>,
7222 /// The identifier of the Linear integration populating the schedule.
7223 pub integration: Option<Box<Integration>>,
7224}
7225#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7226#[serde(rename_all = "camelCase", default)]
7227pub struct TimeScheduleConnection {
7228 pub edges: Option<Box<Vec<TimeScheduleEdge>>>,
7229 pub nodes: Option<Box<Vec<TimeSchedule>>>,
7230 pub page_info: Option<Box<PageInfo>>,
7231}
7232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7233#[serde(rename_all = "camelCase", default)]
7234pub struct TimeScheduleEdge {
7235 pub node: Option<Box<TimeSchedule>>,
7236 /// Used in `before` and `after` args
7237 pub cursor: Option<String>,
7238}
7239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7240#[serde(rename_all = "camelCase", default)]
7241pub struct TimeScheduleEntry {
7242 /// The start date of the schedule in ISO 8601 date-time format.
7243 pub starts_at: Option<chrono::DateTime<chrono::Utc>>,
7244 /// The end date of the schedule in ISO 8601 date-time format.
7245 pub ends_at: Option<chrono::DateTime<chrono::Utc>>,
7246 /// The Linear user id of the user on schedule. If the user cannot be mapped to a Linear user then `userEmail` can be used as a reference.
7247 pub user_id: Option<String>,
7248 /// The email, name or reference to the user on schedule. This is used in case the external user could not be mapped to a Linear user id.
7249 pub user_email: Option<String>,
7250}
7251#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7252#[serde(rename_all = "camelCase", default)]
7253pub struct TimeSchedulePayload {
7254 /// The identifier of the last sync operation.
7255 pub last_sync_id: Option<f64>,
7256 pub time_schedule: Option<Box<TimeSchedule>>,
7257 /// Whether the operation was successful.
7258 pub success: Option<bool>,
7259}
7260/// A team's triage responsibility.
7261#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7262#[serde(rename_all = "camelCase", default)]
7263pub struct TriageResponsibility {
7264 /// The unique identifier of the entity.
7265 pub id: Option<String>,
7266 /// The time at which the entity was created.
7267 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7268 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7269 /// been updated after creation.
7270 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7271 /// The time at which the entity was archived. Null if the entity has not been archived.
7272 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7273 /// The action to take when an issue is added to triage.
7274 pub action: Option<TriageResponsibilityAction>,
7275 /// Set of users used for triage responsibility.
7276 pub manual_selection: Option<Box<TriageResponsibilityManualSelection>>,
7277 /// The team to which the triage responsibility belongs to.
7278 pub team: Option<Box<Team>>,
7279 /// The time schedule used for scheduling.
7280 pub time_schedule: Option<Box<TimeSchedule>>,
7281 /// The user currently responsible for triage.
7282 pub current_user: Option<Box<User>>,
7283}
7284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7285#[serde(rename_all = "camelCase", default)]
7286pub struct TriageResponsibilityConnection {
7287 pub edges: Option<Box<Vec<TriageResponsibilityEdge>>>,
7288 pub nodes: Option<Box<Vec<TriageResponsibility>>>,
7289 pub page_info: Option<Box<PageInfo>>,
7290}
7291#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7292#[serde(rename_all = "camelCase", default)]
7293pub struct TriageResponsibilityEdge {
7294 pub node: Option<Box<TriageResponsibility>>,
7295 /// Used in `before` and `after` args
7296 pub cursor: Option<String>,
7297}
7298#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7299#[serde(rename_all = "camelCase", default)]
7300pub struct TriageResponsibilityManualSelection {
7301 /// The set of users responsible for triage.
7302 pub user_ids: Option<Vec<String>>,
7303 /// `Internal` The index of the current userId used for the assign action when having more than one user.
7304 pub assignment_index: Option<i64>,
7305}
7306#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7307#[serde(rename_all = "camelCase", default)]
7308pub struct TriageResponsibilityPayload {
7309 /// The identifier of the last sync operation.
7310 pub last_sync_id: Option<f64>,
7311 pub triage_responsibility: Option<Box<TriageResponsibility>>,
7312 /// Whether the operation was successful.
7313 pub success: Option<bool>,
7314}
7315/// Object representing Google Cloud upload policy, plus additional data.
7316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7317#[serde(rename_all = "camelCase", default)]
7318pub struct UploadFile {
7319 /// The filename.
7320 pub filename: Option<String>,
7321 /// The content type.
7322 pub content_type: Option<String>,
7323 /// The size of the uploaded file.
7324 pub size: Option<i64>,
7325 /// The signed URL the for the uploaded file. (assigned automatically).
7326 pub upload_url: Option<String>,
7327 /// The asset URL for the uploaded file. (assigned automatically).
7328 pub asset_url: Option<String>,
7329 pub meta_data: Option<serde_json::Value>,
7330 pub headers: Option<Box<Vec<UploadFileHeader>>>,
7331}
7332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7333#[serde(rename_all = "camelCase", default)]
7334pub struct UploadFileHeader {
7335 /// Upload file header key.
7336 pub key: Option<String>,
7337 /// Upload file header value.
7338 pub value: Option<String>,
7339}
7340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7341#[serde(rename_all = "camelCase", default)]
7342pub struct UploadPayload {
7343 /// The identifier of the last sync operation.
7344 pub last_sync_id: Option<f64>,
7345 /// Object describing the file to be uploaded.
7346 pub upload_file: Option<Box<UploadFile>>,
7347 /// Whether the operation was successful.
7348 pub success: Option<bool>,
7349}
7350/// A user that has access to the the resources of an organization.
7351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7352#[serde(rename_all = "camelCase", default)]
7353pub struct User {
7354 /// The unique identifier of the entity.
7355 pub id: Option<String>,
7356 /// The time at which the entity was created.
7357 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7358 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7359 /// been updated after creation.
7360 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7361 /// The time at which the entity was archived. Null if the entity has not been archived.
7362 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7363 /// The user's full name.
7364 pub name: Option<String>,
7365 /// The user's display (nick) name. Unique within each organization.
7366 pub display_name: Option<String>,
7367 /// The user's email address.
7368 pub email: Option<String>,
7369 /// An URL to the user's avatar image.
7370 pub avatar_url: Option<String>,
7371 /// Reason why is the account disabled.
7372 pub disable_reason: Option<String>,
7373 /// `DEPRECATED` Hash for the user to be used in calendar URLs.
7374 pub calendar_hash: Option<String>,
7375 /// A short description of the user, either its title or bio.
7376 pub description: Option<String>,
7377 /// The emoji to represent the user current status.
7378 pub status_emoji: Option<String>,
7379 /// The label of the user current status.
7380 pub status_label: Option<String>,
7381 /// A date at which the user current status should be cleared.
7382 pub status_until_at: Option<chrono::DateTime<chrono::Utc>>,
7383 /// The local timezone of the user.
7384 pub timezone: Option<String>,
7385 /// Organization the user belongs to.
7386 pub organization: Option<Box<Organization>>,
7387 /// The last time the user was seen online.
7388 pub last_seen: Option<chrono::DateTime<chrono::Utc>>,
7389 /// `INTERNAL` Identity provider the user is managed by.
7390 pub identity_provider: Option<Box<IdentityProvider>>,
7391 /// The initials of the user.
7392 pub initials: Option<String>,
7393 /// The background color of the avatar for users without set avatar.
7394 pub avatar_background_color: Option<String>,
7395 /// Whether the user is a guest in the workspace and limited to accessing a subset of teams.
7396 pub guest: Option<bool>,
7397 /// Whether the user is an app.
7398 pub app: Option<bool>,
7399 /// Whether the user is mentionable.
7400 pub is_mentionable: Option<bool>,
7401 /// Whether the user is assignable.
7402 pub is_assignable: Option<bool>,
7403 /// Whether the user account is active or disabled (suspended).
7404 pub active: Option<bool>,
7405 /// The user's issue drafts
7406 pub issue_drafts: Option<Box<IssueDraftConnection>>,
7407 /// The user's drafts
7408 pub drafts: Option<Box<DraftConnection>>,
7409 /// User's profile URL.
7410 pub url: Option<String>,
7411 /// Issues assigned to the user.
7412 pub assigned_issues: Option<Box<IssueConnection>>,
7413 /// Issues delegated to this user.
7414 pub delegated_issues: Option<Box<IssueConnection>>,
7415 /// Issues created by the user.
7416 pub created_issues: Option<Box<IssueConnection>>,
7417 /// Number of issues created.
7418 pub created_issue_count: Option<i64>,
7419 /// Teams the user is part of.
7420 pub teams: Option<Box<TeamConnection>>,
7421 /// Memberships associated with the user. For easier access of the same data, use `teams` query.
7422 pub team_memberships: Option<Box<TeamMembershipConnection>>,
7423 /// `INTERNAL` The user's pinned feeds.
7424 pub feed_facets: Option<Box<FacetConnection>>,
7425 /// Whether this user can access any public team in the organization.
7426 pub can_access_any_public_team: Option<bool>,
7427 /// Whether the user is the currently authenticated user.
7428 pub is_me: Option<bool>,
7429 /// Whether the user is an organization administrator.
7430 pub admin: Option<bool>,
7431 /// Whether the user is an organization owner.
7432 pub owner: Option<bool>,
7433 /// Whether this agent user supports agent sessions.
7434 pub supports_agent_sessions: Option<bool>,
7435 /// `DEPRECATED` Unique hash for the user to be used in invite URLs.
7436 pub invite_hash: Option<String>,
7437 /// The user's GitHub user ID.
7438 pub git_hub_user_id: Option<String>,
7439}
7440#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7441#[serde(rename_all = "camelCase", default)]
7442pub struct UserAdminPayload {
7443 /// Whether the operation was successful.
7444 pub success: Option<bool>,
7445}
7446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7447#[serde(rename_all = "camelCase", default)]
7448pub struct UserConnection {
7449 pub edges: Option<Box<Vec<UserEdge>>>,
7450 pub nodes: Option<Box<Vec<User>>>,
7451 pub page_info: Option<Box<PageInfo>>,
7452}
7453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7454#[serde(rename_all = "camelCase", default)]
7455pub struct UserEdge {
7456 pub node: Option<Box<User>>,
7457 /// Used in `before` and `after` args
7458 pub cursor: Option<String>,
7459}
7460/// A user notification subscription.
7461#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7462#[serde(rename_all = "camelCase", default)]
7463pub struct UserNotificationSubscription {
7464 /// The unique identifier of the entity.
7465 pub id: Option<String>,
7466 /// The time at which the entity was created.
7467 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7468 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7469 /// been updated after creation.
7470 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7471 /// The time at which the entity was archived. Null if the entity has not been archived.
7472 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7473 /// The user that subscribed to receive notifications.
7474 pub subscriber: Option<Box<User>>,
7475 /// The customer associated with the notification subscription.
7476 pub customer: Option<Box<Customer>>,
7477 /// The contextual custom view associated with the notification subscription.
7478 pub custom_view: Option<Box<CustomView>>,
7479 /// The contextual cycle view associated with the notification subscription.
7480 pub cycle: Option<Box<Cycle>>,
7481 /// The contextual label view associated with the notification subscription.
7482 pub label: Option<Box<IssueLabel>>,
7483 /// The contextual project view associated with the notification subscription.
7484 pub project: Option<Box<Project>>,
7485 /// The contextual initiative view associated with the notification subscription.
7486 pub initiative: Option<Box<Initiative>>,
7487 /// The team associated with the notification subscription.
7488 pub team: Option<Box<Team>>,
7489 /// The user subscribed to.
7490 pub user: Option<Box<User>>,
7491 /// The type of view to which the notification subscription context is associated with.
7492 pub context_view_type: Option<ContextViewType>,
7493 /// The type of user view to which the notification subscription context is associated with.
7494 pub user_context_view_type: Option<UserContextViewType>,
7495 /// Whether the subscription is active or not.
7496 pub active: Option<bool>,
7497 /// The type of subscription.
7498 pub notification_subscription_types: Option<Vec<String>>,
7499}
7500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7501#[serde(rename_all = "camelCase", default)]
7502pub struct UserPayload {
7503 /// The identifier of the last sync operation.
7504 pub last_sync_id: Option<f64>,
7505 /// The user that was created or updated.
7506 pub user: Option<Box<User>>,
7507 /// Whether the operation was successful.
7508 pub success: Option<bool>,
7509}
7510/// The settings of a user as a JSON object.
7511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7512#[serde(rename_all = "camelCase", default)]
7513pub struct UserSettings {
7514 /// The unique identifier of the entity.
7515 pub id: Option<String>,
7516 /// The time at which the entity was created.
7517 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7518 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7519 /// been updated after creation.
7520 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7521 /// The time at which the entity was archived. Null if the entity has not been archived.
7522 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7523 /// The notification delivery preferences for the user. Note: notificationDisabled field is deprecated in favor of notificationChannelPreferences.
7524 pub notification_delivery_preferences: Option<Box<NotificationDeliveryPreferences>>,
7525 /// The email types the user has unsubscribed from.
7526 pub unsubscribed_from: Option<Vec<String>>,
7527 /// The user associated with these settings.
7528 pub user: Option<Box<User>>,
7529 /// Hash for the user to be used in calendar URLs.
7530 pub calendar_hash: Option<String>,
7531 /// Whether this user is subscribed to changelog email or not.
7532 pub subscribed_to_changelog: Option<bool>,
7533 /// Whether this user is subscribed to DPA emails or not.
7534 pub subscribed_to_dpa: Option<bool>,
7535 /// Whether this user is subscribed to invite accepted emails or not.
7536 pub subscribed_to_invite_accepted: Option<bool>,
7537 /// Whether this user is subscribed to privacy and legal update emails or not.
7538 pub subscribed_to_privacy_legal_updates: Option<bool>,
7539 /// The user's feed summary schedule preference.
7540 pub feed_summary_schedule: Option<FeedSummarySchedule>,
7541 /// Whether to show full user names instead of display names.
7542 pub show_full_user_names: Option<bool>,
7543 /// The user's last seen time for the pulse feed.
7544 pub feed_last_seen_time: Option<chrono::DateTime<chrono::Utc>>,
7545 /// Whether to auto-assign newly created issues to the current user by default.
7546 pub auto_assign_to_self: Option<bool>,
7547 /// The user's notification category preferences.
7548 pub notification_category_preferences: Option<Box<NotificationCategoryPreferences>>,
7549 /// The user's notification channel preferences.
7550 pub notification_channel_preferences: Option<Box<NotificationChannelPreferences>>,
7551 /// The user's theme for a given mode and device type.
7552 pub theme: Option<Box<UserSettingsTheme>>,
7553}
7554#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7555#[serde(rename_all = "camelCase", default)]
7556pub struct UserSettingsCustomSidebarTheme {
7557 /// The accent color in LCH format.
7558 pub accent: Option<Vec<f64>>,
7559 /// The base color in LCH format.
7560 pub base: Option<Vec<f64>>,
7561 /// The contrast value.
7562 pub contrast: Option<i64>,
7563}
7564#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7565#[serde(rename_all = "camelCase", default)]
7566pub struct UserSettingsCustomTheme {
7567 /// The accent color in LCH format.
7568 pub accent: Option<Vec<f64>>,
7569 /// The base color in LCH format.
7570 pub base: Option<Vec<f64>>,
7571 /// The contrast value.
7572 pub contrast: Option<i64>,
7573 /// Optional sidebar theme colors.
7574 pub sidebar: Option<Box<UserSettingsCustomSidebarTheme>>,
7575}
7576#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7577#[serde(rename_all = "camelCase", default)]
7578pub struct UserSettingsFlagPayload {
7579 /// The identifier of the last sync operation.
7580 pub last_sync_id: Option<f64>,
7581 /// The flag key which was updated.
7582 pub flag: Option<String>,
7583 /// The flag value after update.
7584 pub value: Option<i64>,
7585 /// Whether the operation was successful.
7586 pub success: Option<bool>,
7587}
7588#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7589#[serde(rename_all = "camelCase", default)]
7590pub struct UserSettingsFlagsResetPayload {
7591 /// The identifier of the last sync operation.
7592 pub last_sync_id: Option<f64>,
7593 /// Whether the operation was successful.
7594 pub success: Option<bool>,
7595}
7596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7597#[serde(rename_all = "camelCase", default)]
7598pub struct UserSettingsPayload {
7599 /// The identifier of the last sync operation.
7600 pub last_sync_id: Option<f64>,
7601 /// The user's settings.
7602 pub user_settings: Option<Box<UserSettings>>,
7603 /// Whether the operation was successful.
7604 pub success: Option<bool>,
7605}
7606#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7607#[serde(rename_all = "camelCase", default)]
7608pub struct UserSettingsTheme {
7609 /// The theme preset.
7610 pub preset: Option<UserSettingsThemePreset>,
7611 /// The custom theme definition, only present when preset is 'custom'.
7612 pub custom: Option<Box<UserSettingsCustomTheme>>,
7613}
7614/// View preferences.
7615#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7616#[serde(rename_all = "camelCase", default)]
7617pub struct ViewPreferences {
7618 /// The unique identifier of the entity.
7619 pub id: Option<String>,
7620 /// The time at which the entity was created.
7621 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7622 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7623 /// been updated after creation.
7624 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7625 /// The time at which the entity was archived. Null if the entity has not been archived.
7626 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7627 /// The view preference type.
7628 pub r#type: Option<String>,
7629 /// The view type.
7630 pub view_type: Option<String>,
7631 /// The view preferences
7632 pub preferences: Option<Box<ViewPreferencesValues>>,
7633}
7634#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7635#[serde(rename_all = "camelCase", default)]
7636pub struct ViewPreferencesPayload {
7637 /// The identifier of the last sync operation.
7638 pub last_sync_id: Option<f64>,
7639 /// The view preferences entity being mutated.
7640 pub view_preferences: Option<Box<ViewPreferences>>,
7641 /// Whether the operation was successful.
7642 pub success: Option<bool>,
7643}
7644#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7645#[serde(rename_all = "camelCase", default)]
7646pub struct ViewPreferencesValues {
7647 /// The issue ordering.
7648 pub view_ordering: Option<String>,
7649 /// The issue grouping.
7650 pub issue_grouping: Option<String>,
7651 /// The issue sub grouping.
7652 pub issue_sub_grouping: Option<String>,
7653 /// Whether to show completed issues.
7654 pub show_completed_issues: Option<String>,
7655}
7656/// A webhook used to send HTTP notifications over data updates.
7657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7658#[serde(rename_all = "camelCase", default)]
7659pub struct Webhook {
7660 /// The unique identifier of the entity.
7661 pub id: Option<String>,
7662 /// The time at which the entity was created.
7663 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7664 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7665 /// been updated after creation.
7666 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7667 /// The time at which the entity was archived. Null if the entity has not been archived.
7668 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7669 /// Webhook label.
7670 pub label: Option<String>,
7671 /// Webhook URL.
7672 pub url: Option<String>,
7673 /// Whether the Webhook is enabled.
7674 pub enabled: Option<bool>,
7675 /// The team that the webhook is associated with. If null, the webhook is associated with all public teams of the organization or multiple teams.
7676 pub team: Option<Box<Team>>,
7677 /// `INTERNAL` The teams that the webhook is associated with. Used to represent a webhook that targets multiple teams, potentially in addition to all public teams of the organization.
7678 pub team_ids: Option<Vec<String>>,
7679 /// Whether the Webhook is enabled for all public teams, including teams created after the webhook was created.
7680 pub all_public_teams: Option<bool>,
7681 /// The user who created the webhook.
7682 pub creator: Option<Box<User>>,
7683 /// Secret token for verifying the origin on the recipient side.
7684 pub secret: Option<String>,
7685 /// The resource types this webhook is subscribed to.
7686 pub resource_types: Option<Vec<String>>,
7687 /// `INTERNAL` Webhook failure events associated with the webhook (last 50).
7688 pub failures: Option<Box<Vec<WebhookFailureEvent>>>,
7689}
7690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7691#[serde(rename_all = "camelCase", default)]
7692pub struct WebhookConnection {
7693 pub edges: Option<Box<Vec<WebhookEdge>>>,
7694 pub nodes: Option<Box<Vec<Webhook>>>,
7695 pub page_info: Option<Box<PageInfo>>,
7696}
7697#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7698#[serde(rename_all = "camelCase", default)]
7699pub struct WebhookEdge {
7700 pub node: Option<Box<Webhook>>,
7701 /// Used in `before` and `after` args
7702 pub cursor: Option<String>,
7703}
7704/// Entity representing a webhook execution failure.
7705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7706#[serde(rename_all = "camelCase", default)]
7707pub struct WebhookFailureEvent {
7708 /// The unique identifier of the entity.
7709 pub id: Option<String>,
7710 /// The time at which the entity was created.
7711 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7712 /// The webhook that this failure event is associated with.
7713 pub webhook: Option<Box<Webhook>>,
7714 /// The URL that the webhook was trying to push to.
7715 pub url: Option<String>,
7716 /// The HTTP status code returned by the recipient.
7717 pub http_status: Option<f64>,
7718 /// The HTTP response body returned by the recipient or error occured.
7719 pub response_or_error: Option<String>,
7720 /// The unique execution ID of the webhook push. This is retained between retries of the same push.
7721 pub execution_id: Option<String>,
7722}
7723#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7724#[serde(rename_all = "camelCase", default)]
7725pub struct WebhookPayload {
7726 /// The identifier of the last sync operation.
7727 pub last_sync_id: Option<f64>,
7728 /// The webhook entity being mutated.
7729 pub webhook: Option<Box<Webhook>>,
7730 /// Whether the operation was successful.
7731 pub success: Option<bool>,
7732}
7733#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7734#[serde(rename_all = "camelCase", default)]
7735pub struct WebhookRotateSecretPayload {
7736 /// The identifier of the last sync operation.
7737 pub last_sync_id: Option<f64>,
7738 /// Whether the operation was successful.
7739 pub success: Option<bool>,
7740 /// The new webhook signing secret.
7741 pub secret: Option<String>,
7742}
7743/// A welcome message for new users joining the workspace.
7744#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7745#[serde(rename_all = "camelCase", default)]
7746pub struct WelcomeMessage {
7747 /// The unique identifier of the entity.
7748 pub id: Option<String>,
7749 /// The time at which the entity was created.
7750 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7751 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7752 /// been updated after creation.
7753 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7754 /// The time at which the entity was archived. Null if the entity has not been archived.
7755 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7756 /// The title of the welcome message notification.
7757 pub title: Option<String>,
7758 /// Whether the welcome message is enabled.
7759 pub enabled: Option<bool>,
7760 /// The user who last updated the welcome message.
7761 pub updated_by: Option<Box<User>>,
7762}
7763/// A welcome message related notification.
7764#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7765#[serde(rename_all = "camelCase", default)]
7766pub struct WelcomeMessageNotification {
7767 /// The unique identifier of the entity.
7768 pub id: Option<String>,
7769 /// The time at which the entity was created.
7770 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7771 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7772 /// been updated after creation.
7773 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7774 /// The time at which the entity was archived. Null if the entity has not been archived.
7775 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7776 /// Notification type.
7777 pub r#type: Option<String>,
7778 /// The user that caused the notification.
7779 pub actor: Option<Box<User>>,
7780 /// The external user that caused the notification.
7781 pub external_user_actor: Option<Box<ExternalUser>>,
7782 /// The user that received the notification.
7783 pub user: Option<Box<User>>,
7784 /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
7785 pub read_at: Option<chrono::DateTime<chrono::Utc>>,
7786 /// The time at when an email reminder for this notification was sent to the user. Null, if no email
7787 /// reminder has been sent.
7788 pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
7789 /// The time until a notification will be snoozed. After that it will appear in the inbox again.
7790 pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
7791 /// The time at which a notification was unsnoozed..
7792 pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
7793 /// The category of the notification.
7794 pub category: Option<NotificationCategory>,
7795 /// `Internal` URL to the target of the notification.
7796 pub url: Option<String>,
7797 /// `Internal` Inbox URL for the notification.
7798 pub inbox_url: Option<String>,
7799 /// `Internal` Notification title.
7800 pub title: Option<String>,
7801 /// `Internal` Notification subtitle.
7802 pub subtitle: Option<String>,
7803 /// `Internal` If notification actor was Linear.
7804 pub is_linear_actor: Option<bool>,
7805 /// `Internal` Notification avatar URL.
7806 pub actor_avatar_url: Option<String>,
7807 /// `Internal` Notification actor initials if avatar is not available.
7808 pub actor_initials: Option<String>,
7809 /// `Internal` Notification actor initials if avatar is not available.
7810 pub actor_avatar_color: Option<String>,
7811 /// `Internal` Issue's status type for issue notifications.
7812 pub issue_status_type: Option<String>,
7813 /// `Internal` Project update health for new updates.
7814 pub project_update_health: Option<String>,
7815 /// `Internal` Initiative update health for new updates.
7816 pub initiative_update_health: Option<String>,
7817 /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
7818 pub grouping_key: Option<String>,
7819 /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
7820 pub grouping_priority: Option<f64>,
7821 /// The bot that caused the notification.
7822 pub bot_actor: Option<Box<ActorBot>>,
7823 /// Related welcome message.
7824 pub welcome_message_id: Option<String>,
7825}
7826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7827#[serde(rename_all = "camelCase", default)]
7828pub struct WorkflowDefinition {
7829 /// The unique identifier of the entity.
7830 pub id: Option<String>,
7831 /// The time at which the entity was created.
7832 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7833 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7834 /// been updated after creation.
7835 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7836 /// The time at which the entity was archived. Null if the entity has not been archived.
7837 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7838 /// The name of the workflow.
7839 pub name: Option<String>,
7840 /// The name of the group that the workflow belongs to.
7841 pub group_name: Option<String>,
7842 /// The description of the workflow.
7843 pub description: Option<String>,
7844 /// The type of the workflow.
7845 pub r#type: Option<WorkflowType>,
7846 /// The type of the event that triggers off the workflow.
7847 pub trigger: Option<WorkflowTrigger>,
7848 /// The object type (e.g. Issue) that triggers this workflow.
7849 pub trigger_type: Option<WorkflowTriggerType>,
7850 /// The conditions that need to be match for the workflow to be triggered.
7851 pub conditions: Option<serde_json::Value>,
7852 pub enabled: Option<bool>,
7853 /// The team associated with the workflow. If not set, the workflow is associated with the entire organization.
7854 pub team: Option<Box<Team>>,
7855 /// The user who created the workflow.
7856 pub creator: Option<Box<User>>,
7857 /// An array of activities that will be executed as part of the workflow.
7858 pub activities: Option<serde_json::Value>,
7859 /// The sort order of the workflow definition within its siblings.
7860 pub sort_order: Option<String>,
7861 /// The date when the workflow was last executed.
7862 pub last_executed_at: Option<chrono::DateTime<chrono::Utc>>,
7863 /// The user who last updated the workflow.
7864 pub last_updated_by: Option<Box<User>>,
7865 /// The contextual label view associated with the workflow.
7866 pub label: Option<Box<IssueLabel>>,
7867 /// The contextual cycle view associated with the workflow.
7868 pub cycle: Option<Box<Cycle>>,
7869 /// The contextual user view associated with the workflow.
7870 pub user: Option<Box<User>>,
7871 /// The contextual project view associated with the workflow.
7872 pub project: Option<Box<Project>>,
7873 /// The contextual initiative view associated with the workflow.
7874 pub initiative: Option<Box<Initiative>>,
7875 /// The context custom view associated with the workflow.
7876 pub custom_view: Option<Box<CustomView>>,
7877 /// The type of view to which this workflow's context is associated with.
7878 pub context_view_type: Option<ContextViewType>,
7879 /// The type of user view to which this workflow's context is associated with.
7880 pub user_context_view_type: Option<UserContextViewType>,
7881}
7882/// A state in a team workflow.
7883#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7884#[serde(rename_all = "camelCase", default)]
7885pub struct WorkflowState {
7886 /// The unique identifier of the entity.
7887 pub id: Option<String>,
7888 /// The time at which the entity was created.
7889 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7890 /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7891 /// been updated after creation.
7892 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7893 /// The time at which the entity was archived. Null if the entity has not been archived.
7894 pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7895 /// The state's name.
7896 pub name: Option<String>,
7897 /// The state's UI color as a HEX string.
7898 pub color: Option<String>,
7899 /// Description of the state.
7900 pub description: Option<String>,
7901 /// The position of the state in the team flow.
7902 pub position: Option<f64>,
7903 /// The type of the state. One of "triage", "backlog", "unstarted", "started", "completed", "canceled".
7904 pub r#type: Option<String>,
7905 /// The team to which this state belongs to.
7906 pub team: Option<Box<Team>>,
7907 /// The state inherited from
7908 pub inherited_from: Option<Box<WorkflowState>>,
7909 /// Issues belonging in this state.
7910 pub issues: Option<Box<IssueConnection>>,
7911}
7912/// A generic payload return from entity archive mutations.
7913#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7914#[serde(rename_all = "camelCase", default)]
7915pub struct WorkflowStateArchivePayload {
7916 /// The identifier of the last sync operation.
7917 pub last_sync_id: Option<f64>,
7918 /// Whether the operation was successful.
7919 pub success: Option<bool>,
7920 /// The archived/unarchived entity. Null if entity was deleted.
7921 pub entity: Option<Box<WorkflowState>>,
7922}
7923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7924#[serde(rename_all = "camelCase", default)]
7925pub struct WorkflowStateConnection {
7926 pub edges: Option<Box<Vec<WorkflowStateEdge>>>,
7927 pub nodes: Option<Box<Vec<WorkflowState>>>,
7928 pub page_info: Option<Box<PageInfo>>,
7929}
7930#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7931#[serde(rename_all = "camelCase", default)]
7932pub struct WorkflowStateEdge {
7933 pub node: Option<Box<WorkflowState>>,
7934 /// Used in `before` and `after` args
7935 pub cursor: Option<String>,
7936}
7937#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7938#[serde(rename_all = "camelCase", default)]
7939pub struct WorkflowStatePayload {
7940 /// The identifier of the last sync operation.
7941 pub last_sync_id: Option<f64>,
7942 /// The state that was created or updated.
7943 pub workflow_state: Option<Box<WorkflowState>>,
7944 /// Whether the operation was successful.
7945 pub success: Option<bool>,
7946}