linear

package
v0.0.0-...-e409e96 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultClient

func DefaultClient() *gqlclient.Client

Types

type ActorBot

type ActorBot struct {
	Id string `json:"id,omitempty"`
	// The type of bot.
	Type string `json:"type"`
	// The sub type of the bot.
	SubType *string `json:"subType,omitempty"`
	// The display name of the bot.
	Name *string `json:"name,omitempty"`
	// The display name of the external user on behalf of which the bot acted.
	UserDisplayName *string `json:"userDisplayName,omitempty"`
	// A url pointing to the avatar representing this bot.
	AvatarUrl *string `json:"avatarUrl,omitempty"`
}

A bot actor is an actor that is not a user, but an application or integration.

type AirbyteConfigurationInput

type AirbyteConfigurationInput struct {
	// Linear export API key.
	ApiKey string `json:"apiKey"`
}

type ApiKey

type ApiKey struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The label of the API key.
	Label string `json:"label"`
}

An API key. Grants access to the user's resources.

type ApiKeyConnection

type ApiKeyConnection struct {
	Edges    []ApiKeyEdge `json:"edges"`
	Nodes    []ApiKey     `json:"nodes"`
	PageInfo *PageInfo    `json:"pageInfo"`
}

type ApiKeyCreateInput

type ApiKeyCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The label for the API key.
	Label string `json:"label"`
	// The API key value.
	Key string `json:"key"`
}

type ApiKeyEdge

type ApiKeyEdge struct {
	Node *ApiKey `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ApiKeyPayload

type ApiKeyPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The API key that was created.
	ApiKey *ApiKey `json:"apiKey"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type Application

type Application struct {
	// OAuth application's ID.
	Id string `json:"id"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// Application name.
	Name string `json:"name"`
	// Information about the application.
	Description *string `json:"description,omitempty"`
	// Name of the developer.
	Developer string `json:"developer"`
	// Url of the developer (homepage or docs).
	DeveloperUrl string `json:"developerUrl"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
}

Public information of the OAuth application.

type ArchivePayload

type ArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`

	// Underlying value of the GraphQL interface
	Value ArchivePayloadValue `json:"-"`
}

A generic payload return from entity archive or deletion mutations.

func (*ArchivePayload) UnmarshalJSON

func (base *ArchivePayload) UnmarshalJSON(b []byte) error

type ArchivePayloadValue

type ArchivePayloadValue interface {
	// contains filtered or unexported methods
}

ArchivePayloadValue is one of: DeletePayload | AttachmentArchivePayload | CycleArchivePayload | InitiativeArchivePayload | IssueArchivePayload | NotificationArchivePayload | ProjectArchivePayload | RoadmapArchivePayload | TeamArchivePayload | WorkflowStateArchivePayload

type ArchiveResponse

type ArchiveResponse struct {
	// A JSON serialized collection of model objects loaded from the archive
	Archive string `json:"archive"`
	// The total number of entities in the archive.
	TotalCount float64 `json:"totalCount"`
	// The version of the remote database. Incremented by 1 for each migration run on the database.
	DatabaseVersion float64 `json:"databaseVersion"`
	// Whether the dependencies for the model objects are included in the archive.
	IncludesDependencies bool `json:"includesDependencies"`
}

Contains requested archived model objects.

type AsksChannelConnectPayload

type AsksChannelConnectPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The integration that was created or updated.
	Integration *Integration `json:"integration,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The new Asks Slack channel mapping for the connected channel.
	Mapping *SlackChannelNameMapping `json:"mapping"`
	// Whether the bot needs to be manually added to the channel.
	AddBot bool `json:"addBot"`
}

type AssigneeSort

type AssigneeSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue assignee sorting options.

type Attachment

type Attachment struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Content for the title line in the Linear attachment widget.
	Title string `json:"title"`
	// Content for the subtitle line in the Linear attachment widget.
	Subtitle *string `json:"subtitle,omitempty"`
	// Location of the attachment which is also used as an identifier.
	Url string `json:"url"`
	// The creator of the attachment.
	Creator *User `json:"creator,omitempty"`
	// The non-Linear user who created the attachment.
	ExternalUserCreator *ExternalUser `json:"externalUserCreator,omitempty"`
	// Custom metadata related to the attachment.
	Metadata JSONObject `json:"metadata"`
	// Information about the source which created the attachment.
	Source *JSONObject `json:"source,omitempty"`
	// An accessor helper to source.type, defines the source type of the attachment.
	SourceType *string `json:"sourceType,omitempty"`
	// Indicates if attachments for the same source application should be grouped in the Linear UI.
	GroupBySource bool `json:"groupBySource"`
	// The issue this attachment belongs to.
	Issue *Issue `json:"issue"`
}

Issue attachment (e.g. support ticket, pull request).

type AttachmentArchivePayload

type AttachmentArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Attachment `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type AttachmentCollectionFilter

type AttachmentCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the subtitle.
	Subtitle *NullableStringComparator `json:"subtitle,omitempty"`
	// Comparator for the url.
	Url *StringComparator `json:"url,omitempty"`
	// Filters that the attachments creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Comparator for the source type.
	SourceType *SourceTypeComparator `json:"sourceType,omitempty"`
	// Compound filters, all of which need to be matched by the attachment.
	And []AttachmentCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the attachment.
	Or []AttachmentCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some attachments.
	Some *AttachmentFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all attachments.
	Every *AttachmentFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Attachment collection filtering options.

type AttachmentConnection

type AttachmentConnection struct {
	Edges    []AttachmentEdge `json:"edges"`
	Nodes    []Attachment     `json:"nodes"`
	PageInfo *PageInfo        `json:"pageInfo"`
}

type AttachmentCreateInput

type AttachmentCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The attachment title.
	Title string `json:"title"`
	// The attachment subtitle.
	Subtitle *string `json:"subtitle,omitempty"`
	// Attachment location which is also used as an unique identifier for the attachment. If another attachment is created with the same `url` value, existing record is updated instead.
	Url string `json:"url"`
	// The issue to associate the attachment with.
	IssueId string `json:"issueId"`
	// An icon url to display with the attachment. Should be of jpg or png format. Maximum of 1MB in size. Dimensions should be 20x20px for optimal display quality.
	IconUrl *string `json:"iconUrl,omitempty"`
	// Attachment metadata object with string and number values.
	Metadata *JSONObject `json:"metadata,omitempty"`
	// Indicates if attachments for the same source application should be grouped in the Linear UI.
	GroupBySource *bool `json:"groupBySource,omitempty"`
	// Create a linked comment with markdown body.
	CommentBody *string `json:"commentBody,omitempty"`
	// [Internal] Create a linked comment with Prosemirror body. Please use `commentBody` instead.
	CommentBodyData *JSONObject `json:"commentBodyData,omitempty"`
	// Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
	CreateAsUser *string `json:"createAsUser,omitempty"`
}

type AttachmentEdge

type AttachmentEdge struct {
	Node *Attachment `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type AttachmentFilter

type AttachmentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the subtitle.
	Subtitle *NullableStringComparator `json:"subtitle,omitempty"`
	// Comparator for the url.
	Url *StringComparator `json:"url,omitempty"`
	// Filters that the attachments creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Comparator for the source type.
	SourceType *SourceTypeComparator `json:"sourceType,omitempty"`
	// Compound filters, all of which need to be matched by the attachment.
	And []AttachmentFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the attachment.
	Or []AttachmentFilter `json:"or,omitempty"`
}

Attachment filtering options.

type AttachmentPayload

type AttachmentPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The issue attachment that was created.
	Attachment *Attachment `json:"attachment"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type AttachmentSourcesPayload

type AttachmentSourcesPayload struct {
	// A unique list of all source types used in this workspace.
	Sources JSONObject `json:"sources"`
}

type AttachmentUpdateInput

type AttachmentUpdateInput struct {
	// The attachment title.
	Title string `json:"title"`
	// The attachment subtitle.
	Subtitle *string `json:"subtitle,omitempty"`
	// Attachment metadata object with string and number values.
	Metadata *JSONObject `json:"metadata,omitempty"`
	// An icon url to display with the attachment. Should be of jpg or png format. Maximum of 1MB in size. Dimensions should be 20x20px for optimal display quality.
	IconUrl *string `json:"iconUrl,omitempty"`
}

type AuditEntry

type AuditEntry struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	Type       string    `json:"type"`
	// The organization the audit log belongs to.
	Organization *Organization `json:"organization,omitempty"`
	// The user that caused the audit entry to be created.
	Actor *User `json:"actor,omitempty"`
	// The ID of the user that caused the audit entry to be created.
	ActorId *string `json:"actorId,omitempty"`
	// IP from actor when entry was recorded.
	Ip *string `json:"ip,omitempty"`
	// Country code of request resulting to audit entry.
	CountryCode *string `json:"countryCode,omitempty"`
	// Additional metadata related to the audit entry.
	Metadata *JSONObject `json:"metadata,omitempty"`
	// Additional information related to the request which performed the action.
	RequestInformation *JSONObject `json:"requestInformation,omitempty"`
}

Workspace audit log entry object.

type AuditEntryConnection

type AuditEntryConnection struct {
	Edges    []AuditEntryEdge `json:"edges"`
	Nodes    []AuditEntry     `json:"nodes"`
	PageInfo *PageInfo        `json:"pageInfo"`
}

type AuditEntryEdge

type AuditEntryEdge struct {
	Node *AuditEntry `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type AuditEntryFilter

type AuditEntryFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the type.
	Type *StringComparator `json:"type,omitempty"`
	// Comparator for the IP address.
	Ip *StringComparator `json:"ip,omitempty"`
	// Comparator for the country code.
	CountryCode *StringComparator `json:"countryCode,omitempty"`
	// Filters that the audit entry actor must satisfy.
	Actor *NullableUserFilter `json:"actor,omitempty"`
}

Audit entry filtering options.

type AuditEntryType

type AuditEntryType struct {
	// The audit entry type.
	Type string `json:"type"`
	// Description of the audit entry type.
	Description string `json:"description"`
}

type AuthApiKey

type AuthApiKey struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
}

type AuthApiKeyCreateInput

type AuthApiKeyCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The label for the API key.
	Label string `json:"label"`
	// The API key value.
	Key string `json:"key"`
}

type AuthApiKeyPayload

type AuthApiKeyPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The auth API key that was created.
	AuthApiKey *AuthApiKey `json:"authApiKey"`
}

type AuthEmailIntakeAddress

type AuthEmailIntakeAddress struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// Unique email address user name (before @) used for incoming email.
	Address string `json:"address"`
	// Whether the email address is enabled.
	Enabled bool `json:"enabled"`
	// The auth organization that the email address is associated with.
	Organization *AuthOrganization `json:"organization"`
	// The auth user who created the email intake address.
	Creator *AuthUser `json:"creator,omitempty"`
}

An email address that can be used for submitting issues.

type AuthHeader

type AuthHeader struct{ Header string }

func (AuthHeader) RoundTrip

func (h AuthHeader) RoundTrip(req *http.Request) (*http.Response, error)

type AuthIntegration

type AuthIntegration struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
}

type AuthMembership

type AuthMembership struct {
	// The authorizing userId
	UserId string `json:"userId"`
	// The date of the authorization
	CreatedAt DateTime `json:"createdAt"`
}

[INTERNAL] An OAuth userId/createdDate tuple

type AuthOauthClient

type AuthOauthClient struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// OAuth application's client name.
	Name string `json:"name"`
	// Information about the application.
	Description *string `json:"description,omitempty"`
	// Name of the developer.
	Developer string `json:"developer"`
	// Url of the developer.
	DeveloperUrl string `json:"developerUrl"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// OAuth application's client secret.
	ClientSecret string `json:"clientSecret"`
	// List of allowed redirect URIs for the application.
	RedirectUris []string `json:"redirectUris"`
	// Whether the OAuth application can be installed in other organizations.
	PublicEnabled bool `json:"publicEnabled"`
	// The ID of the user who created the OAuth application.
	CreatorId string `json:"creatorId"`
	// The ID of the workspace the OAuth application belongs to.
	OrganizationId string `json:"organizationId"`
	// Webhook URL
	WebhookUrl *string   `json:"webhookUrl,omitempty"`
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
}

type AuthOauthClientWithMemberships

type AuthOauthClientWithMemberships struct {
	// Application name.
	Name string `json:"name"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Scopes that are authorized for this application for a given user.
	Scope []string `json:"scope"`
	// OAuth application's ID.
	AppId string `json:"appId"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// The application's webhook URL.
	WebhookUrl *string `json:"webhookUrl,omitempty"`
	// Total number of members that authorized the application.
	TotalMembers float64 `json:"totalMembers"`
	// User IDs and membership dates of everyone who has authorized the application with the set of scopes.
	Memberships []AuthMembership `json:"memberships"`
}

AuthOauthClient with token creator IDs and counts (memberships), for use in the GraphQL API.

type AuthOauthClientWithScope

type AuthOauthClientWithScope struct {
	// Application name.
	Name string `json:"name"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Scopes that are authorized for this application for a given user.
	Scope []string `json:"scope"`
	// OAuth application's ID.
	AppId string `json:"appId"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// The application's webhook URL.
	WebhookUrl *string `json:"webhookUrl,omitempty"`
}

AuthOauthClient with scope from OauthToken, for use in the GraphQL API.

type AuthOauthClientWithTokens

type AuthOauthClientWithTokens struct {
	// The auth OAuth client.
	Client *AuthOauthClient `json:"client"`
	// The token matching the app, scope, and actor.
	Tokens []OauthToken `json:"tokens"`
}

type AuthOrganization

type AuthOrganization struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The organization's name.
	Name string `json:"name"`
	// The organization's unique URL key.
	UrlKey string `json:"urlKey"`
	// Previously used URL keys for the organization (last 3 are kept and redirected).
	PreviousUrlKeys []string `json:"previousUrlKeys"`
	// The organization's logo URL.
	LogoUrl *string `json:"logoUrl,omitempty"`
	// The time at which deletion of the organization was requested.
	DeletionRequestedAt *DateTime `json:"deletionRequestedAt,omitempty"`
	// The feature release channel the organization belongs to.
	ReleaseChannel ReleaseChannel `json:"releaseChannel"`
	// Whether SAML authentication is enabled for organization.
	SamlEnabled bool `json:"samlEnabled"`
	// [INTERNAL] SAML settings
	SamlSettings *JSONObject `json:"samlSettings,omitempty"`
	// Allowed authentication providers, empty array means all are allowed
	AllowedAuthServices []string `json:"allowedAuthServices"`
	// Whether SCIM provisioning is enabled for organization.
	ScimEnabled bool `json:"scimEnabled"`
	// The email domain or URL key for the organization.
	ServiceId string `json:"serviceId"`
	// The region the organization is hosted in.
	Region    string  `json:"region"`
	UserCount float64 `json:"userCount"`
}

An organization. Organizations are root-level objects that contain users and teams.

type AuthOrganizationDomain

type AuthOrganizationDomain struct {
	// The unique identifier of the entity.
	Id             string                     `json:"id"`
	OrganizationId string                     `json:"organizationId"`
	Name           string                     `json:"name"`
	Verified       bool                       `json:"verified"`
	Claimed        *bool                      `json:"claimed,omitempty"`
	AuthType       OrganizationDomainAuthType `json:"authType"`
}

type AuthOrganizationInvite

type AuthOrganizationInvite struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the invite will be expiring. Null, if the invite shouldn't expire.
	ExpiresAt *DateTime `json:"expiresAt,omitempty"`
}

An invitation to the organization that has been sent via email.

type AuthResolverResponse

type AuthResolverResponse struct {
	// User account ID.
	Id string `json:"id"`
	// Email for the authenticated account.
	Email string `json:"email"`
	// Should the signup flow allow access for the domain.
	AllowDomainAccess *bool `json:"allowDomainAccess,omitempty"`
	// List of active users that belong to the user account.
	Users []AuthUser `json:"users"`
	// List of organizations allowing this user account to join automatically.
	AvailableOrganizations []AuthOrganization `json:"availableOrganizations,omitempty"`
	// List of organization available to this user account but locked due to the current auth method.
	LockedOrganizations []AuthOrganization `json:"lockedOrganizations,omitempty"`
	// ID of the organization last accessed by the user.
	LastUsedOrganizationId *string `json:"lastUsedOrganizationId,omitempty"`
	// Application token.
	Token *string `json:"token,omitempty"`
}

type AuthSuccessPayload

type AuthSuccessPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type AuthUser

type AuthUser struct {
	Id string `json:"id"`
	// The user's full name.
	Name string `json:"name"`
	// The user's display (nick) name. Unique within each organization.
	DisplayName string `json:"displayName"`
	// The user's email address.
	Email string `json:"email"`
	// An URL to the user's avatar image.
	AvatarUrl *string `json:"avatarUrl,omitempty"`
	// Whether the user is active.
	Active bool `json:"active"`
	// User account ID the user belongs to.
	UserAccountId string `json:"userAccountId"`
	// Organization the user belongs to.
	Organization *AuthOrganization `json:"organization"`
}

A user that has access to the the resources of an organization.

type AuthenticationSession

type AuthenticationSession struct {
	Id string `json:"id"`
	// Type of application used to authenticate.
	Type AuthenticationSessionType `json:"type"`
	// IP address.
	Ip *string `json:"ip,omitempty"`
	// Location country name.
	LocationCountry *string `json:"locationCountry,omitempty"`
	// Location country code.
	LocationCountryCode *string `json:"locationCountryCode,omitempty"`
	// Country codes of all seen locations.
	CountryCodes []string `json:"countryCodes"`
	// Location city name.
	LocationCity *string `json:"locationCity,omitempty"`
	// Session's user-agent.
	UserAgent *string `json:"userAgent,omitempty"`
	// Used web browser.
	BrowserType *string `json:"browserType,omitempty"`
	// When was the session last seen
	LastActiveAt *DateTime `json:"lastActiveAt,omitempty"`
	// Date when the session was created.
	CreatedAt DateTime `json:"createdAt"`
	// Date when the session was last updated.
	UpdatedAt DateTime `json:"updatedAt"`
	// Human readable location
	Location *string `json:"location,omitempty"`
	// Operating system used for the session
	OperatingSystem *string `json:"operatingSystem,omitempty"`
	// Client used for the session
	Client *string `json:"client,omitempty"`
	// Name of the session, derived from the client and operating system
	Name string `json:"name"`
}

User authentication session.

type AuthenticationSessionResponse

type AuthenticationSessionResponse struct {
	Id string `json:"id"`
	// Type of application used to authenticate.
	Type AuthenticationSessionType `json:"type"`
	// IP address.
	Ip *string `json:"ip,omitempty"`
	// Location country name.
	LocationCountry *string `json:"locationCountry,omitempty"`
	// Location country code.
	LocationCountryCode *string `json:"locationCountryCode,omitempty"`
	// Country codes of all seen locations.
	CountryCodes []string `json:"countryCodes"`
	// Location city name.
	LocationCity *string `json:"locationCity,omitempty"`
	// Session's user-agent.
	UserAgent *string `json:"userAgent,omitempty"`
	// Used web browser.
	BrowserType *string `json:"browserType,omitempty"`
	// When was the session last seen
	LastActiveAt *DateTime `json:"lastActiveAt,omitempty"`
	// Date when the session was created.
	CreatedAt DateTime `json:"createdAt"`
	// Date when the session was last updated.
	UpdatedAt DateTime `json:"updatedAt"`
	// Human readable location
	Location *string `json:"location,omitempty"`
	// Operating system used for the session
	OperatingSystem *string `json:"operatingSystem,omitempty"`
	// Client used for the session
	Client *string `json:"client,omitempty"`
	// Name of the session, derived from the client and operating system
	Name string `json:"name"`
	// Identifies the session used to make the request.
	IsCurrentSession bool `json:"isCurrentSession"`
}

Authentication session information.

type AuthenticationSessionType

type AuthenticationSessionType string
const (
	AuthenticationSessionTypeWeb     AuthenticationSessionType = "web"
	AuthenticationSessionTypeDesktop AuthenticationSessionType = "desktop"
	AuthenticationSessionTypeIos     AuthenticationSessionType = "ios"
	AuthenticationSessionTypeAndroid AuthenticationSessionType = "android"
)

type AuthorizedApplication

type AuthorizedApplication struct {
	// Application name.
	Name string `json:"name"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Scopes that are authorized for this application for a given user.
	Scope []string `json:"scope"`
	// OAuth application's ID.
	AppId string `json:"appId"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// Whether or not webhooks are enabled for the application.
	WebhooksEnabled bool `json:"webhooksEnabled"`
}

[INTERNAL] Public information of the OAuth application, plus the authorized scopes for a given user.

type AuthorizedApplicationBase

type AuthorizedApplicationBase struct {
	// Application name.
	Name string `json:"name"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Scopes that are authorized for this application for a given user.
	Scope []string `json:"scope"`
	// OAuth application's ID.
	AppId string `json:"appId"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
}

type BooleanComparator

type BooleanComparator struct {
	// Equals constraint.
	Eq *bool `json:"eq,omitempty"`
	// Not equals constraint.
	Neq *bool `json:"neq,omitempty"`
}

Comparator for booleans.

type Comment

type Comment struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The comment content in markdown format.
	Body string `json:"body"`
	// The issue that the comment is associated with.
	Issue *Issue `json:"issue,omitempty"`
	// The document content that the comment is associated with.
	DocumentContent *DocumentContent `json:"documentContent,omitempty"`
	// The project update that the comment is associated with.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate,omitempty"`
	// The parent comment under which the current comment is nested.
	Parent *Comment `json:"parent,omitempty"`
	// The user that resolved the thread.
	ResolvingUser *User `json:"resolvingUser,omitempty"`
	// The time the resolvingUser resolved the thread.
	ResolvedAt *DateTime `json:"resolvedAt,omitempty"`
	// The comment that resolved the thread.
	ResolvingComment *Comment `json:"resolvingComment,omitempty"`
	// The user who wrote the comment.
	User *User `json:"user,omitempty"`
	// The external user who wrote the comment.
	ExternalUser *ExternalUser `json:"externalUser,omitempty"`
	// The time user edited the comment.
	EditedAt *DateTime `json:"editedAt,omitempty"`
	// [Internal] The comment content as a Prosemirror document.
	BodyData string `json:"bodyData"`
	// The text that this comment references. Only defined for inline comments.
	QuotedText *string `json:"quotedText,omitempty"`
	// [Internal] Summary for comment thread.
	SummaryText *string `json:"summaryText,omitempty"`
	// Emoji reaction summary, grouped by emoji type.
	ReactionData JSONObject `json:"reactionData"`
	// Comment's URL.
	Url string `json:"url"`
	// The children of the comment.
	Children *CommentConnection `json:"children"`
	// The bot that created the comment.
	BotActor *ActorBot `json:"botActor,omitempty"`
}

A comment associated with an issue.

type CommentCollectionFilter

type CommentCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the comments body.
	Body *StringComparator `json:"body,omitempty"`
	// Filters that the comments creator must satisfy.
	User *UserFilter `json:"user,omitempty"`
	// Filters that the comments issue must satisfy.
	Issue *IssueFilter `json:"issue,omitempty"`
	// Filters that the comments project update must satisfy.
	ProjectUpdate *ProjectUpdateFilter `json:"projectUpdate,omitempty"`
	// Filters that the comments document content must satisfy.
	DocumentContent *DocumentContentFilter `json:"documentContent,omitempty"`
	// Compound filters, all of which need to be matched by the comment.
	And []CommentCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the comment.
	Or []CommentCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some comments.
	Some *CommentFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all comments.
	Every *CommentFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Comment filtering options.

type CommentConnection

type CommentConnection struct {
	Edges    []CommentEdge `json:"edges"`
	Nodes    []Comment     `json:"nodes"`
	PageInfo *PageInfo     `json:"pageInfo"`
}

type CommentCreateInput

type CommentCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The comment content in markdown format.
	Body *string `json:"body,omitempty"`
	// [Internal] The comment content as a Prosemirror document.
	BodyData *JSON `json:"bodyData,omitempty"`
	// The issue to associate the comment with.
	IssueId *string `json:"issueId,omitempty"`
	// The project update to associate the comment with.
	ProjectUpdateId *string `json:"projectUpdateId,omitempty"`
	// The document content to associate the comment with.
	DocumentContentId *string `json:"documentContentId,omitempty"`
	// The parent comment under which to nest a current comment.
	ParentId *string `json:"parentId,omitempty"`
	// Create comment as a user with the provided name. This option is only available to OAuth applications creating comments in `actor=application` mode.
	CreateAsUser *string `json:"createAsUser,omitempty"`
	// Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
	DisplayIconUrl *string `json:"displayIconUrl,omitempty"`
	// The date when the comment was created (e.g. if importing from another system). Must be a date in the past. If none is provided, the backend will generate the time as now.
	CreatedAt *DateTime `json:"createdAt,omitempty"`
	// Flag to prevent auto subscription to the issue the comment is created on.
	DoNotSubscribeToIssue *bool `json:"doNotSubscribeToIssue,omitempty"`
	// Flag to indicate this comment should be created on the issue's synced Slack comment thread. If no synced Slack comment thread exists, the mutation will fail.
	CreateOnSyncedSlackThread *bool `json:"createOnSyncedSlackThread,omitempty"`
	// The text that this comment references. Only defined for inline comments.
	QuotedText *string `json:"quotedText,omitempty"`
}

type CommentEdge

type CommentEdge struct {
	Node *Comment `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type CommentFilter

type CommentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the comments body.
	Body *StringComparator `json:"body,omitempty"`
	// Filters that the comments creator must satisfy.
	User *UserFilter `json:"user,omitempty"`
	// Filters that the comments issue must satisfy.
	Issue *IssueFilter `json:"issue,omitempty"`
	// Filters that the comments project update must satisfy.
	ProjectUpdate *ProjectUpdateFilter `json:"projectUpdate,omitempty"`
	// Filters that the comments document content must satisfy.
	DocumentContent *DocumentContentFilter `json:"documentContent,omitempty"`
	// Compound filters, all of which need to be matched by the comment.
	And []CommentFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the comment.
	Or []CommentFilter `json:"or,omitempty"`
}

Comment filtering options.

type CommentPayload

type CommentPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The comment that was created or updated.
	Comment *Comment `json:"comment"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type CommentUpdateInput

type CommentUpdateInput struct {
	// The comment content.
	Body *string `json:"body,omitempty"`
	// The comment content as a Prosemirror document.
	BodyData *JSON `json:"bodyData,omitempty"`
	// [INTERNAL] The user who resolved this thread.
	ResolvingUserId *string `json:"resolvingUserId,omitempty"`
	// [INTERNAL] The child comment that resolves this thread.
	ResolvingCommentId *string `json:"resolvingCommentId,omitempty"`
	// The text that this comment references. Only defined for inline comments.
	QuotedText *string `json:"quotedText,omitempty"`
}

type Company

type Company struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Company name.
	Name string `json:"name"`
	// Company ID in an external system.
	ExternalId string `json:"externalId"`
	// Company website URL.
	WebsiteUrl *string `json:"websiteUrl,omitempty"`
	// Company logo URL.
	LogoUrl *string `json:"logoUrl,omitempty"`
	// The user who added the company.
	Creator *User `json:"creator"`
	// The organization of the customer.
	Organization *Organization `json:"organization"`
	// Custom company properties.
	CompanyProperties JSONObject `json:"companyProperties"`
}

A company related to issue's origin.

type CompanyConnection

type CompanyConnection struct {
	Edges    []CompanyEdge `json:"edges"`
	Nodes    []Company     `json:"nodes"`
	PageInfo *PageInfo     `json:"pageInfo"`
}

type CompanyEdge

type CompanyEdge struct {
	Node *Company `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type CompletedAtSort

type CompletedAtSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue completion date sorting options.

type ContactCreateInput

type ContactCreateInput struct {
	// The type of support contact.
	Type string `json:"type"`
	// The message the user sent.
	Message string `json:"message"`
	// User's operating system.
	OperatingSystem *string `json:"operatingSystem,omitempty"`
	// User's browser information.
	Browser *string `json:"browser,omitempty"`
	// User's device information.
	Device *string `json:"device,omitempty"`
	// User's Linear client information.
	ClientVersion *string `json:"clientVersion,omitempty"`
	// How disappointed the user would be if they could no longer use Linear.
	DisappointmentRating *int32 `json:"disappointmentRating,omitempty"`
}

type ContactPayload

type ContactPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ContactSalesCreateInput

type ContactSalesCreateInput struct {
	// Name of the person requesting information.
	Name string `json:"name"`
	// Work email of the person requesting information.
	Email string `json:"email"`
	// Size of the company.
	CompanySize *string `json:"companySize,omitempty"`
	// The message the user sent.
	Message *string `json:"message,omitempty"`
}

[INTERNAL] Input for sending a message to the Linear Sales team.

type ContentComparator

type ContentComparator struct {
	// [Internal] Contains constraint.
	Contains *string `json:"contains,omitempty"`
	// [Internal] Not-contains constraint.
	NotContains *string `json:"notContains,omitempty"`
}

[Internal] Comparator for content.

type ContextViewType

type ContextViewType string
const (
	ContextViewTypeActiveissues  ContextViewType = "activeIssues"
	ContextViewTypeActivecycle   ContextViewType = "activeCycle"
	ContextViewTypeUpcomingcycle ContextViewType = "upcomingCycle"
	ContextViewTypeBacklog       ContextViewType = "backlog"
	ContextViewTypeTriage        ContextViewType = "triage"
)

type CreateCsvExportReportPayload

type CreateCsvExportReportPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type CreateOrJoinOrganizationResponse

type CreateOrJoinOrganizationResponse struct {
	Organization *AuthOrganization `json:"organization"`
	User         *AuthUser         `json:"user"`
}

type CreateOrganizationInput

type CreateOrganizationInput struct {
	// The name of the organization.
	Name string `json:"name"`
	// The URL key of the organization.
	UrlKey string `json:"urlKey"`
	// Whether the organization should allow email domain access.
	DomainAccess *bool `json:"domainAccess,omitempty"`
	// The timezone of the organization, passed in by client.
	Timezone *string `json:"timezone,omitempty"`
	// JSON serialized UTM parameters associated with the creation of the workspace.
	Utm *string `json:"utm,omitempty"`
}

type CreatedAtSort

type CreatedAtSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue creation date sorting options.

type CustomView

type CustomView struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the custom view.
	Name string `json:"name"`
	// The description of the custom view.
	Description *string `json:"description,omitempty"`
	// The icon of the custom view.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon of the custom view.
	Color *string `json:"color,omitempty"`
	// The organization of the custom view.
	Organization *Organization `json:"organization"`
	// The team associated with the custom view.
	Team *Team `json:"team,omitempty"`
	// The user who created the custom view.
	Creator *User `json:"creator"`
	// The user who owns the custom view.
	Owner *User `json:"owner"`
	// The user who last updated the custom view.
	UpdatedBy *User `json:"updatedBy"`
	// The filters applied to issues in the custom view.
	Filters JSONObject `json:"filters"`
	// The filter applied to issues in the custom view.
	FilterData JSONObject `json:"filterData"`
	// The filter applied to projects in the custom view.
	ProjectFilterData *JSONObject `json:"projectFilterData,omitempty"`
	// Whether the custom view is shared with everyone in the organization.
	Shared bool `json:"shared"`
	// The model name of the custom view.
	ModelName string `json:"modelName"`
	// Issues associated with the custom view.
	Issues *IssueConnection `json:"issues"`
}

A custom view that has been saved by a user.

type CustomViewConnection

type CustomViewConnection struct {
	Edges    []CustomViewEdge `json:"edges"`
	Nodes    []CustomView     `json:"nodes"`
	PageInfo *PageInfo        `json:"pageInfo"`
}

type CustomViewCreateInput

type CustomViewCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the custom view.
	Name string `json:"name"`
	// The description of the custom view.
	Description *string `json:"description,omitempty"`
	// The icon of the custom view.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon of the custom view.
	Color *string `json:"color,omitempty"`
	// The id of the team associated with the custom view.
	TeamId *string `json:"teamId,omitempty"`
	// [Internal] The id of the project associated with the custom view.
	ProjectId *string `json:"projectId,omitempty"`
	// The owner of the custom view.
	OwnerId *string `json:"ownerId,omitempty"`
	// The filters applied to issues in the custom view.
	Filters *JSONObject `json:"filters,omitempty"`
	// The filter applied to issues in the custom view.
	FilterData *JSONObject `json:"filterData,omitempty"`
	// The project filter applied to issues in the custom view.
	ProjectFilterData *JSONObject `json:"projectFilterData,omitempty"`
	// Whether the custom view is shared with everyone in the organization.
	Shared *bool `json:"shared,omitempty"`
}

type CustomViewEdge

type CustomViewEdge struct {
	Node *CustomView `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type CustomViewHasSubscribersPayload

type CustomViewHasSubscribersPayload struct {
	// Whether the custom view has subscribers.
	HasSubscribers bool `json:"hasSubscribers"`
}

type CustomViewNotificationSubscription

type CustomViewNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The custom view subscribed to.
	CustomView *CustomView `json:"customView"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A custom view notification subscription.

type CustomViewPayload

type CustomViewPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The custom view that was created or updated.
	CustomView *CustomView `json:"customView"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type CustomViewSuggestionPayload

type CustomViewSuggestionPayload struct {
	// The suggested view name.
	Name *string `json:"name,omitempty"`
	// The suggested view description.
	Description *string `json:"description,omitempty"`
	// The suggested view icon.
	Icon *string `json:"icon,omitempty"`
}

type CustomViewUpdateInput

type CustomViewUpdateInput struct {
	// The name of the custom view.
	Name *string `json:"name,omitempty"`
	// The description of the custom view.
	Description *string `json:"description,omitempty"`
	// The icon of the custom view.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon of the custom view.
	Color *string `json:"color,omitempty"`
	// The id of the team associated with the custom view.
	TeamId *string `json:"teamId,omitempty"`
	// [Internal] The id of the project associated with the custom view.
	ProjectId *string `json:"projectId,omitempty"`
	// The owner of the custom view.
	OwnerId *string `json:"ownerId,omitempty"`
	// The filters applied to issues in the custom view.
	Filters *JSONObject `json:"filters,omitempty"`
	// The filter applied to issues in the custom view.
	FilterData *JSONObject `json:"filterData,omitempty"`
	// The project filter applied to issues in the custom view.
	ProjectFilterData *JSONObject `json:"projectFilterData,omitempty"`
	// Whether the custom view is shared with everyone in the organization.
	Shared *bool `json:"shared,omitempty"`
}

type Cycle

type Cycle struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The number of the cycle.
	Number float64 `json:"number"`
	// The custom name of the cycle.
	Name *string `json:"name,omitempty"`
	// The cycle's description.
	Description *string `json:"description,omitempty"`
	// The start time of the cycle.
	StartsAt DateTime `json:"startsAt"`
	// The end time of the cycle.
	EndsAt DateTime `json:"endsAt"`
	// The completion time of the cycle. If null, the cycle hasn't been completed.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The time at which the cycle was automatically archived by the auto pruning process.
	AutoArchivedAt *DateTime `json:"autoArchivedAt,omitempty"`
	// The total number of issues in the cycle after each day.
	IssueCountHistory []float64 `json:"issueCountHistory"`
	// The number of completed issues in the cycle after each day.
	CompletedIssueCountHistory []float64 `json:"completedIssueCountHistory"`
	// The total number of estimation points after each day.
	ScopeHistory []float64 `json:"scopeHistory"`
	// The number of completed estimation points after each day.
	CompletedScopeHistory []float64 `json:"completedScopeHistory"`
	// The number of in progress estimation points after each day.
	InProgressScopeHistory []float64 `json:"inProgressScopeHistory"`
	// The team that the cycle is associated with.
	Team *Team `json:"team"`
	// Issues associated with the cycle.
	Issues *IssueConnection `json:"issues"`
	// Issues that weren't completed when the cycle was closed.
	UncompletedIssuesUponClose *IssueConnection `json:"uncompletedIssuesUponClose"`
	// The overall progress of the cycle. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
	Progress float64 `json:"progress"`
}

A set of issues to be resolved in a specified amount of time.

type CycleArchivePayload

type CycleArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Cycle `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type CycleConnection

type CycleConnection struct {
	Edges    []CycleEdge `json:"edges"`
	Nodes    []Cycle     `json:"nodes"`
	PageInfo *PageInfo   `json:"pageInfo"`
}

type CycleCreateInput

type CycleCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The custom name of the cycle.
	Name *string `json:"name,omitempty"`
	// The description of the cycle.
	Description *string `json:"description,omitempty"`
	// The team to associate the cycle with.
	TeamId string `json:"teamId"`
	// The start date of the cycle.
	StartsAt DateTime `json:"startsAt"`
	// The end date of the cycle.
	EndsAt DateTime `json:"endsAt"`
	// The completion time of the cycle. If null, the cycle hasn't been completed.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
}

type CycleEdge

type CycleEdge struct {
	Node *Cycle `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type CycleFilter

type CycleFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the cycle number.
	Number *NumberComparator `json:"number,omitempty"`
	// Comparator for the cycle name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the cycle start date.
	StartsAt *DateComparator `json:"startsAt,omitempty"`
	// Comparator for the cycle ends at date.
	EndsAt *DateComparator `json:"endsAt,omitempty"`
	// Comparator for the cycle completed at date.
	CompletedAt *DateComparator `json:"completedAt,omitempty"`
	// Comparator for the filtering active cycle.
	IsActive *BooleanComparator `json:"isActive,omitempty"`
	// Comparator for filtering for whether the cycle is currently in cooldown.
	IsInCooldown *BooleanComparator `json:"isInCooldown,omitempty"`
	// Comparator for the filtering next cycle.
	IsNext *BooleanComparator `json:"isNext,omitempty"`
	// Comparator for the filtering previous cycle.
	IsPrevious *BooleanComparator `json:"isPrevious,omitempty"`
	// Comparator for the filtering future cycles.
	IsFuture *BooleanComparator `json:"isFuture,omitempty"`
	// Comparator for the filtering past cycles.
	IsPast *BooleanComparator `json:"isPast,omitempty"`
	// Filters that the cycles team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the cycles issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Compound filters, all of which need to be matched by the cycle.
	And []CycleFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the cycle.
	Or []CycleFilter `json:"or,omitempty"`
}

Cycle filtering options.

type CycleNotificationSubscription

type CycleNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The cycle subscribed to.
	Cycle *Cycle `json:"cycle"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A cycle notification subscription.

type CyclePayload

type CyclePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The Cycle that was created or updated.
	Cycle *Cycle `json:"cycle,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type CycleShiftAllInput

type CycleShiftAllInput struct {
	// [DEPRECATED] The cycle id at which to start the shift.
	Id string `json:"id"`
	// [DEPRECATED] The number of days to shift the cycles by.
	DaysToShift float64 `json:"daysToShift"`
}

[DEPRECATED] Input for shifting all cycles by a certain number of days. Mutation is now deprecated.

type CycleSort

type CycleSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
	// When set to true, cycles wil be ordered with a custom order. Current cycle comes first, followed by upcoming cycles in ASC order, followed by previous cycles in DESC order.
	CurrentCycleFirst *bool `json:"currentCycleFirst,omitempty"`
}

Issue cycle sorting options.

type CycleUpdateInput

type CycleUpdateInput struct {
	// The custom name of the cycle.
	Name *string `json:"name,omitempty"`
	// The description of the cycle.
	Description *string `json:"description,omitempty"`
	// The start date of the cycle.
	StartsAt *DateTime `json:"startsAt,omitempty"`
	// The end date of the cycle.
	EndsAt *DateTime `json:"endsAt,omitempty"`
	// The end date of the cycle.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
}

type DateComparator

type DateComparator struct {
	// Equals constraint.
	Eq *DateTime `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *DateTime `json:"neq,omitempty"`
	// In-array constraint.
	In []DateTime `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []DateTime `json:"nin,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *DateTime `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *DateTime `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *DateTime `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *DateTime `json:"gte,omitempty"`
}

Comparator for dates.

type DateResolutionType

type DateResolutionType string

[INTERNAL] By which resolution is a date defined.

const (
	DateResolutionTypeMonth    DateResolutionType = "month"
	DateResolutionTypeQuarter  DateResolutionType = "quarter"
	DateResolutionTypeHalfyear DateResolutionType = "halfYear"
	DateResolutionTypeYear     DateResolutionType = "year"
)

type DateTime

type DateTime string

Represents a date and time in ISO 8601 format. Accepts shortcuts like `2021` to represent midnight Fri Jan 01 2021. Also accepts ISO 8601 durations strings which are added to the current date to create the represented date (e.g '-P2W1D' represents the date that was two weeks and 1 day ago)

type Day

type Day string

The day of the week.

const (
	DaySunday    Day = "Sunday"
	DayMonday    Day = "Monday"
	DayTuesday   Day = "Tuesday"
	DayWednesday Day = "Wednesday"
	DayThursday  Day = "Thursday"
	DayFriday    Day = "Friday"
	DaySaturday  Day = "Saturday"
)

type DeleteOrganizationInput

type DeleteOrganizationInput struct {
	// The deletion code to confirm operation.
	DeletionCode string `json:"deletionCode"`
}

type DeletePayload

type DeletePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The identifier of the deleted entity.
	EntityId string `json:"entityId"`
}

A generic payload return from entity deletion mutations.

type Document

type Document struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The document title.
	Title string `json:"title"`
	// The icon of the document.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon.
	Color *string `json:"color,omitempty"`
	// The user who created the document.
	Creator *User `json:"creator"`
	// The user who last updated the document.
	UpdatedBy *User `json:"updatedBy"`
	// The project that the document is associated with.
	Project *Project `json:"project"`
	// The document's unique URL slug.
	SlugId string `json:"slugId"`
	// The last template that was applied to this document.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// The time at which the document was hidden. Null if the entity has not been hidden.
	HiddenAt *DateTime `json:"hiddenAt,omitempty"`
	// The order of the item in the project resources list.
	SortOrder float64 `json:"sortOrder"`
	// The documents content in markdown format.
	Content *string `json:"content,omitempty"`
	// [Internal] The documents content as YJS state.
	ContentState *string `json:"contentState,omitempty"`
	// [Internal] The documents content as a Prosemirror document.
	ContentData *JSON `json:"contentData,omitempty"`
}

A document for a project.

type DocumentCollectionFilter

type DocumentCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the document title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the document slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the document's creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the document's project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Compound filters, all of which need to be matched by the document.
	And []DocumentCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the document.
	Or []DocumentCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some documents.
	Some *DocumentFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all documents.
	Every *DocumentFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Document filtering options.

type DocumentConnection

type DocumentConnection struct {
	Edges    []DocumentEdge `json:"edges"`
	Nodes    []Document     `json:"nodes"`
	PageInfo *PageInfo      `json:"pageInfo"`
}

type DocumentContent

type DocumentContent struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The document content in markdown format.
	Content *string `json:"content,omitempty"`
	// [Internal] The document content as a Prosemirror document.
	ContentData *JSONObject `json:"contentData,omitempty"`
	// The document content state as a base64 encoded string.
	ContentState *string `json:"contentState,omitempty"`
	// The issue that the content is associated with.
	Issue *Issue `json:"issue,omitempty"`
	// The project that the content is associated with.
	Project *Project `json:"project,omitempty"`
	// The project milestone that the content is associated with.
	ProjectMilestone *ProjectMilestone `json:"projectMilestone,omitempty"`
	// The document that the content is associated with.
	Document *Document `json:"document,omitempty"`
	// The time at which the document content was restored from a previous version.
	RestoredAt *DateTime `json:"restoredAt,omitempty"`
}

A document content for a project.

type DocumentContentFilter

type DocumentContentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Filters that the document content project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Filters that the document content document must satisfy.
	Document *DocumentFilter `json:"document,omitempty"`
}

Document content filtering options.

type DocumentContentHistory

type DocumentContentHistory struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The document content that this history item is associated with.
	DocumentContent *DocumentContent `json:"documentContent"`
	// [Internal] The document content as a Prosemirror document.
	ContentData *JSONObject `json:"contentData,omitempty"`
	// IDs of actors whose edits went into this history item.
	ActorIds []string `json:"actorIds"`
	// The timestamp associated with the DocumentContent when it was originally saved.
	ContentDataSnapshotAt DateTime `json:"contentDataSnapshotAt"`
}

A document content history for a document.

type DocumentContentHistoryPayload

type DocumentContentHistoryPayload struct {
	// The document content history entries.
	History []DocumentContentHistoryType `json:"history,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type DocumentContentHistoryType

type DocumentContentHistoryType struct {
	// The UUID of the document content history entry.
	Id string `json:"id"`
	// The date when the document content history entry was created.
	CreatedAt DateTime `json:"createdAt"`
	// 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.
	ContentDataSnapshotAt DateTime `json:"contentDataSnapshotAt"`
	// [Internal] The document content as Prosemirror document.
	ContentData JSON `json:"contentData"`
	// The ID of the author of the change.
	ActorIds []string `json:"actorIds,omitempty"`
}

type DocumentCreateInput

type DocumentCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The title of the document.
	Title string `json:"title"`
	// The icon of the document.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon.
	Color *string `json:"color,omitempty"`
	// [Internal] The document content as a Prosemirror document.
	ContentData *JSONObject `json:"contentData,omitempty"`
	// The document content as markdown.
	Content *string `json:"content,omitempty"`
	// Related project for the document.
	ProjectId string `json:"projectId"`
	// The ID of the last template applied to the document.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The order of the item in the project resources list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type DocumentEdge

type DocumentEdge struct {
	Node *Document `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type DocumentFilter

type DocumentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the document title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the document slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the document's creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the document's project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Compound filters, all of which need to be matched by the document.
	And []DocumentFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the document.
	Or []DocumentFilter `json:"or,omitempty"`
}

Document filtering options.

type DocumentPayload

type DocumentPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The document that was created or updated.
	Document *Document `json:"document"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type DocumentSearchPayload

type DocumentSearchPayload struct {
	Edges    []DocumentSearchResultEdge `json:"edges"`
	Nodes    []DocumentSearchResult     `json:"nodes"`
	PageInfo *PageInfo                  `json:"pageInfo"`
	// Archived entities matching the search term along with all their dependencies.
	ArchivePayload *ArchiveResponse `json:"archivePayload"`
	// Total number of results for query without filters applied.
	TotalCount float64 `json:"totalCount"`
}

type DocumentSearchResult

type DocumentSearchResult struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The document title.
	Title string `json:"title"`
	// The icon of the document.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon.
	Color *string `json:"color,omitempty"`
	// The user who created the document.
	Creator *User `json:"creator"`
	// The user who last updated the document.
	UpdatedBy *User `json:"updatedBy"`
	// The project that the document is associated with.
	Project *Project `json:"project"`
	// The document's unique URL slug.
	SlugId string `json:"slugId"`
	// The last template that was applied to this document.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// The time at which the document was hidden. Null if the entity has not been hidden.
	HiddenAt *DateTime `json:"hiddenAt,omitempty"`
	// The order of the item in the project resources list.
	SortOrder float64 `json:"sortOrder"`
	// The documents content in markdown format.
	Content *string `json:"content,omitempty"`
	// [Internal] The documents content as YJS state.
	ContentState *string `json:"contentState,omitempty"`
	// [Internal] The documents content as a Prosemirror document.
	ContentData *JSON `json:"contentData,omitempty"`
	// Metadata related to search result.
	Metadata JSONObject `json:"metadata"`
}

type DocumentSearchResultConnection

type DocumentSearchResultConnection struct {
	Edges    []DocumentSearchResultEdge `json:"edges"`
	Nodes    []DocumentSearchResult     `json:"nodes"`
	PageInfo *PageInfo                  `json:"pageInfo"`
}

type DocumentSearchResultEdge

type DocumentSearchResultEdge struct {
	Node *DocumentSearchResult `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type DocumentUpdateInput

type DocumentUpdateInput struct {
	// The title of the document.
	Title *string `json:"title,omitempty"`
	// The icon of the document.
	Icon *string `json:"icon,omitempty"`
	// The color of the icon.
	Color *string `json:"color,omitempty"`
	// [Internal] The document content as a Prosemirror document.
	ContentData *JSONObject `json:"contentData,omitempty"`
	// The document content as markdown.
	Content *string `json:"content,omitempty"`
	// Related project for the document.
	ProjectId *string `json:"projectId,omitempty"`
	// The ID of the last template applied to the document.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The time at which the document was hidden.
	HiddenAt *DateTime `json:"hiddenAt,omitempty"`
	// The order of the item in the project resources list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type DueDateSort

type DueDateSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue due date sorting options.

type EmailIntakeAddress

type EmailIntakeAddress struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Unique email address user name (before @) used for incoming email.
	Address string `json:"address"`
	// Whether the email address is enabled.
	Enabled bool `json:"enabled"`
	// The template that the email address is associated with.
	Template *Template `json:"template,omitempty"`
	// The team that the email address is associated with.
	Team *Team `json:"team"`
	// The organization that the email address is associated with.
	Organization *Organization `json:"organization"`
	// The user who created the email intake address.
	Creator *User `json:"creator,omitempty"`
}

An email address that can be used for submitting issues.

type EmailIntakeAddressCreateInput

type EmailIntakeAddressCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier or key of the team this email address will intake issues for.
	TeamId *string `json:"teamId,omitempty"`
	// The identifier of the template this email address will intake issues for.
	TemplateId *string `json:"templateId,omitempty"`
}

type EmailIntakeAddressPayload

type EmailIntakeAddressPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The email address that was created or updated.
	EmailIntakeAddress *EmailIntakeAddress `json:"emailIntakeAddress"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type EmailIntakeAddressUpdateInput

type EmailIntakeAddressUpdateInput struct {
	// Whether the email address is currently enabled. If set to false, the email address will be disabled and no longer accept incoming emails.
	Enabled bool `json:"enabled"`
}

type EmailUnsubscribeInput

type EmailUnsubscribeInput struct {
	// Email type to unsubscribed from.
	Type string `json:"type"`
	// The user's email validation token.
	Token string `json:"token"`
	// The identifier of the user.
	UserId string `json:"userId"`
}

type EmailUnsubscribePayload

type EmailUnsubscribePayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type EmailUserAccountAuthChallengeInput

type EmailUserAccountAuthChallengeInput struct {
	// The email for which to generate the magic login code.
	Email string `json:"email"`
	// Whether the login was requested from the desktop app.
	IsDesktop *bool `json:"isDesktop,omitempty"`
	// Auth code for the client initiating the sequence.
	ClientAuthCode *string `json:"clientAuthCode,omitempty"`
	// Signup code.
	SignupCode *string `json:"signupCode,omitempty"`
	// The organization invite link to associate with this authentication.
	InviteLink *string `json:"inviteLink,omitempty"`
}

type EmailUserAccountAuthChallengeResponse

type EmailUserAccountAuthChallengeResponse struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
	// Supported challenge for this user account. Can be either verificationCode or password.
	AuthType string `json:"authType"`
}

type Emoji

type Emoji struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The emoji's name.
	Name string `json:"name"`
	// The emoji image URL.
	Url string `json:"url"`
	// The source of the emoji.
	Source string `json:"source"`
	// The user who created the emoji.
	Creator *User `json:"creator"`
	// The organization that the emoji belongs to.
	Organization *Organization `json:"organization"`
}

A custom emoji.

type EmojiConnection

type EmojiConnection struct {
	Edges    []EmojiEdge `json:"edges"`
	Nodes    []Emoji     `json:"nodes"`
	PageInfo *PageInfo   `json:"pageInfo"`
}

type EmojiCreateInput

type EmojiCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the custom emoji.
	Name string `json:"name"`
	// The URL for the emoji.
	Url string `json:"url"`
}

type EmojiEdge

type EmojiEdge struct {
	Node *Emoji `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type EmojiPayload

type EmojiPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The emoji that was created.
	Emoji *Emoji `json:"emoji"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type Entity

type Entity struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`

	// Underlying value of the GraphQL interface
	Value EntityValue `json:"-"`
}

A basic entity.

func (*Entity) UnmarshalJSON

func (base *Entity) UnmarshalJSON(b []byte) error

type EntityValue

type EntityValue interface {
	// contains filtered or unexported methods
}

EntityValue is one of: Notification | NotificationSubscription | IssueNotification | ProjectNotification | OauthClientApprovalNotification | CustomViewNotificationSubscription | CycleNotificationSubscription | LabelNotificationSubscription | ProjectNotificationSubscription | TeamNotificationSubscription | UserNotificationSubscription

type EstimateComparator

type EstimateComparator struct {
	// Equals constraint.
	Eq *float64 `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *float64 `json:"neq,omitempty"`
	// In-array constraint.
	In []float64 `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []float64 `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *float64 `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *float64 `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *float64 `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *float64 `json:"gte,omitempty"`
	// Compound filters, all of which need to be matched by the estimate.
	Or []NullableNumberComparator `json:"or,omitempty"`
	// Compound filters, one of which need to be matched by the estimate.
	And []NullableNumberComparator `json:"and,omitempty"`
}

Comparator for estimates.

type EstimateSort

type EstimateSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue estimate sorting options.

type ExternalUser

type ExternalUser struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The external user's full name.
	Name string `json:"name"`
	// The external user's display name. Unique within each organization. Can match the display name of an actual user.
	DisplayName string `json:"displayName"`
	// The external user's email address.
	Email *string `json:"email,omitempty"`
	// An URL to the external user's avatar image.
	AvatarUrl *string `json:"avatarUrl,omitempty"`
	// Organization the external user belongs to.
	Organization *Organization `json:"organization"`
	// The last time the external user was seen interacting with Linear.
	LastSeen *DateTime `json:"lastSeen,omitempty"`
}

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.

type ExternalUserConnection

type ExternalUserConnection struct {
	Edges    []ExternalUserEdge `json:"edges"`
	Nodes    []ExternalUser     `json:"nodes"`
	PageInfo *PageInfo          `json:"pageInfo"`
}

type ExternalUserEdge

type ExternalUserEdge struct {
	Node *ExternalUser `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type Facet

type Facet struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The sort order of the facet.
	SortOrder float64 `json:"sortOrder"`
}

[ALPHA] 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.

type FacetConnection

type FacetConnection struct {
	Edges    []FacetEdge `json:"edges"`
	Nodes    []Facet     `json:"nodes"`
	PageInfo *PageInfo   `json:"pageInfo"`
}

type FacetEdge

type FacetEdge struct {
	Node *Facet `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type Favorite

type Favorite struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The type of the favorite.
	Type string `json:"type"`
	// The parent folder of the favorite.
	Parent *Favorite `json:"parent,omitempty"`
	// The name of the folder. Only applies to favorites of type folder.
	FolderName *string `json:"folderName,omitempty"`
	// The targeted tab of the project.
	ProjectTab *ProjectTab `json:"projectTab,omitempty"`
	// The type of favorited predefined view.
	PredefinedViewType *string `json:"predefinedViewType,omitempty"`
	// The owner of the favorite.
	Owner *User `json:"owner"`
	// The order of the item in the favorites list.
	SortOrder float64 `json:"sortOrder"`
	// Children of the favorite. Only applies to favorites of type folder.
	Children *FavoriteConnection `json:"children"`
	// The favorited issue.
	Issue *Issue `json:"issue,omitempty"`
	// The favorited project.
	Project *Project `json:"project,omitempty"`
	// The favorited team of the project.
	ProjectTeam *Team `json:"projectTeam,omitempty"`
	// The favorited cycle.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The favorited custom view.
	CustomView *CustomView `json:"customView,omitempty"`
	// The team of the favorited predefined view.
	PredefinedViewTeam *Team `json:"predefinedViewTeam,omitempty"`
	// The favorited document.
	Document *Document `json:"document,omitempty"`
	// The favorited roadmap.
	Roadmap *Roadmap `json:"roadmap,omitempty"`
	// The favorited label.
	Label *IssueLabel `json:"label,omitempty"`
	// The favorited user.
	User *User `json:"user,omitempty"`
}

User favorites presented in the sidebar.

type FavoriteConnection

type FavoriteConnection struct {
	Edges    []FavoriteEdge `json:"edges"`
	Nodes    []Favorite     `json:"nodes"`
	PageInfo *PageInfo      `json:"pageInfo"`
}

type FavoriteCreateInput

type FavoriteCreateInput struct {
	// The identifier. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the favorite folder.
	FolderName *string `json:"folderName,omitempty"`
	// The parent folder of the favorite.
	ParentId *string `json:"parentId,omitempty"`
	// The identifier of the issue to favorite.
	IssueId *string `json:"issueId,omitempty"`
	// [INTERNAL] The identifier of the facet to favorite.
	FacetId *string `json:"facetId,omitempty"`
	// The identifier of the project to favorite.
	ProjectId *string `json:"projectId,omitempty"`
	// The tab of the project to favorite.
	ProjectTab *ProjectTab `json:"projectTab,omitempty"`
	// The identifier of the project team to favorite.
	ProjectTeamId *string `json:"projectTeamId,omitempty"`
	// The type of the predefined view to favorite.
	PredefinedViewType *string `json:"predefinedViewType,omitempty"`
	// The identifier of team for the predefined view to favorite.
	PredefinedViewTeamId *string `json:"predefinedViewTeamId,omitempty"`
	// The identifier of the cycle to favorite.
	CycleId *string `json:"cycleId,omitempty"`
	// The identifier of the custom view to favorite.
	CustomViewId *string `json:"customViewId,omitempty"`
	// The identifier of the document to favorite.
	DocumentId *string `json:"documentId,omitempty"`
	// The identifier of the roadmap to favorite.
	RoadmapId *string `json:"roadmapId,omitempty"`
	// [INTERNAL] The identifier of the initiative to favorite.
	InitiativeId *string `json:"initiativeId,omitempty"`
	// The identifier of the label to favorite.
	LabelId *string `json:"labelId,omitempty"`
	// The identifier of the user to favorite.
	UserId *string `json:"userId,omitempty"`
	// The position of the item in the favorites list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type FavoriteEdge

type FavoriteEdge struct {
	Node *Favorite `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type FavoritePayload

type FavoritePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The object that was added as a favorite.
	Favorite *Favorite `json:"favorite"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type FavoriteUpdateInput

type FavoriteUpdateInput struct {
	// The position of the item in the favorites list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The identifier (in UUID v4 format) of the folder to move the favorite under.
	ParentId *string `json:"parentId,omitempty"`
	// The name of the favorite folder.
	FolderName *string `json:"folderName,omitempty"`
}

type FrontAttachmentPayload

type FrontAttachmentPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type FrontSettings

type FrontSettings struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
}

Front specific settings.

type FrontSettingsInput

type FrontSettingsInput struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
}

type GitAutomationState

type GitAutomationState struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The associated workflow state.
	State *WorkflowState `json:"state,omitempty"`
	// The team to which this automation state belongs.
	Team *Team `json:"team"`
	// The target branch associated to this automation state.
	TargetBranch *GitAutomationTargetBranch `json:"targetBranch,omitempty"`
	// The event that triggers the automation.
	Event GitAutomationStates `json:"event"`
	// [DEPRECATED] The target branch, if null, the automation will be triggered on any branch.
	BranchPattern *string `json:"branchPattern,omitempty"`
}

A trigger that updates the issue status according to Git automations.

type GitAutomationStateConnection

type GitAutomationStateConnection struct {
	Edges    []GitAutomationStateEdge `json:"edges"`
	Nodes    []GitAutomationState     `json:"nodes"`
	PageInfo *PageInfo                `json:"pageInfo"`
}

type GitAutomationStateCreateInput

type GitAutomationStateCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The team associated with the automation state.
	TeamId string `json:"teamId"`
	// The associated workflow state. If null, will override default behaviour and take no action.
	StateId *string `json:"stateId,omitempty"`
	// [DEPRECATED] The target branch pattern. If null, all branches are targeted.
	BranchPattern *string `json:"branchPattern,omitempty"`
	// The associated target branch. If null, all branches are targeted.
	TargetBranchId *string `json:"targetBranchId,omitempty"`
	// The event that triggers the automation.
	Event GitAutomationStates `json:"event"`
}

type GitAutomationStateEdge

type GitAutomationStateEdge struct {
	Node *GitAutomationState `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type GitAutomationStatePayload

type GitAutomationStatePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The automation state that was created or updated.
	GitAutomationState *GitAutomationState `json:"gitAutomationState"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type GitAutomationStateUpdateInput

type GitAutomationStateUpdateInput struct {
	// The associated workflow state.
	StateId *string `json:"stateId,omitempty"`
	// [DEPRECATED] The target branch pattern. If null, all branches are targeted.
	BranchPattern *string `json:"branchPattern,omitempty"`
	// The associated target branch. If null, all branches are targeted.
	TargetBranchId *string `json:"targetBranchId,omitempty"`
	// The event that triggers the automation.
	Event *GitAutomationStates `json:"event,omitempty"`
}

type GitAutomationStates

type GitAutomationStates string

The various states of a pull/merge request.

const (
	GitAutomationStatesDraft     GitAutomationStates = "draft"
	GitAutomationStatesStart     GitAutomationStates = "start"
	GitAutomationStatesReview    GitAutomationStates = "review"
	GitAutomationStatesMergeable GitAutomationStates = "mergeable"
	GitAutomationStatesMerge     GitAutomationStates = "merge"
)

type GitAutomationTargetBranch

type GitAutomationTargetBranch struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The team to which this Git target branch automation belongs.
	Team *Team `json:"team"`
	// The target branch pattern.
	BranchPattern string `json:"branchPattern"`
	// Whether the branch pattern is a regular expression.
	IsRegex bool `json:"isRegex"`
	// Automation states associated with the target branch.
	AutomationStates *GitAutomationStateConnection `json:"automationStates"`
}

A Git target branch for which there are automations (GitAutomationState).

type GitAutomationTargetBranchCreateInput

type GitAutomationTargetBranchCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The team associated with the Git target branch automation.
	TeamId string `json:"teamId"`
	// The target branch pattern.
	BranchPattern string `json:"branchPattern"`
	// Whether the branch pattern is a regular expression.
	IsRegex *bool `json:"isRegex,omitempty"`
}

type GitAutomationTargetBranchPayload

type GitAutomationTargetBranchPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The Git target branch automation that was created or updated.
	TargetBranch *GitAutomationTargetBranch `json:"targetBranch"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type GitAutomationTargetBranchUpdateInput

type GitAutomationTargetBranchUpdateInput struct {
	// The target branch pattern.
	BranchPattern *string `json:"branchPattern,omitempty"`
	// Whether the branch pattern is a regular expression.
	IsRegex *bool `json:"isRegex,omitempty"`
}

type GitHubCommitIntegrationPayload

type GitHubCommitIntegrationPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The integration that was created or updated.
	Integration *Integration `json:"integration,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The webhook secret to provide to GitHub.
	WebhookSecret string `json:"webhookSecret"`
}

type GitHubPersonalSettings

type GitHubPersonalSettings struct {
	// The GitHub user's name.
	Login string `json:"login"`
}

Metadata and settings for a GitHub Personal integration.

type GitHubPersonalSettingsInput

type GitHubPersonalSettingsInput struct {
	// The GitHub user's name.
	Login string `json:"login"`
}

type GitHubRepo

type GitHubRepo struct {
	// The full name of the repository.
	FullName string `json:"fullName"`
	// The GitHub repo id.
	Id float64 `json:"id"`
}

GitHub repos available to sync.

type GitHubRepoInput

type GitHubRepoInput struct {
	// The full name of the repository.
	FullName string `json:"fullName"`
	// The GitHub repo id.
	Id float64 `json:"id"`
}

type GitHubSettings

type GitHubSettings struct {
	// The avatar URL for the GitHub organization.
	OrgAvatarUrl string `json:"orgAvatarUrl"`
	// The GitHub organization's name.
	OrgLogin string `json:"orgLogin"`
	// The names of the repositories connected for the GitHub integration.
	Repositories []GitHubRepo `json:"repositories,omitempty"`
	// Mapping of team to repository for syncing.
	RepositoriesMapping []TeamRepoMapping `json:"repositoriesMapping,omitempty"`
}

Metadata and settings for a GitHub integration.

type GitHubSettingsInput

type GitHubSettingsInput struct {
	// The avatar URL for the GitHub organization.
	OrgAvatarUrl string `json:"orgAvatarUrl"`
	// The GitHub organization's name.
	OrgLogin string `json:"orgLogin"`
	// The names of the repositories connected for the GitHub integration.
	Repositories []GitHubRepoInput `json:"repositories,omitempty"`
	// Mapping of team to repository for syncing.
	RepositoriesMapping []TeamRepoMappingInput `json:"repositoriesMapping,omitempty"`
}

type GitLabSettings

type GitLabSettings struct {
	// The self-hosted URL of the GitLab instance.
	Url *string `json:"url,omitempty"`
	// Whether the token is limited to a read-only scope.
	Readonly *bool `json:"readonly,omitempty"`
	// The ISO timestamp the GitLab access token expires.
	ExpiresAt *string `json:"expiresAt,omitempty"`
}

Metadata and settings for a GitLab integration.

type GitLabSettingsInput

type GitLabSettingsInput struct {
	// The self-hosted URL of the GitLab instance.
	Url *string `json:"url,omitempty"`
	// Whether the token is limited to a read-only scope.
	Readonly *bool `json:"readonly,omitempty"`
	// The ISO timestamp the GitLab access token expires.
	ExpiresAt *string `json:"expiresAt,omitempty"`
}

type GithubOAuthTokenPayload

type GithubOAuthTokenPayload struct {
	// The OAuth token if the operation to fetch it was successful.
	Token *string `json:"token,omitempty"`
	// A list of the GitHub organizations the user is a member of with attached repositories.
	Organizations []GithubOrg `json:"organizations,omitempty"`
}

GitHub OAuth token, plus information about the organizations the user is a member of.

type GithubOrg

type GithubOrg struct {
	// GitHub organization id.
	Id string `json:"id"`
	// The login for the GitHub organization.
	Login string `json:"login"`
	// Repositories that the organization owns.
	Repositories []GithubRepo `json:"repositories"`
	// Whether or not this org is the user's personal repositories.
	IsPersonal *bool `json:"isPersonal,omitempty"`
}

Relevant information for the GitHub organization.

type GithubRepo

type GithubRepo struct {
	// The id of the GitHub repository.
	Id string `json:"id"`
	// The name of the GitHub repository.
	Name string `json:"name"`
}

Relevant information for the GitHub repository.

type GoogleSheetsSettings

type GoogleSheetsSettings struct {
	SpreadsheetId   string   `json:"spreadsheetId"`
	SpreadsheetUrl  string   `json:"spreadsheetUrl"`
	SheetId         float64  `json:"sheetId"`
	UpdatedIssuesAt DateTime `json:"updatedIssuesAt"`
}

Google Sheets specific settings.

type GoogleSheetsSettingsInput

type GoogleSheetsSettingsInput struct {
	SpreadsheetId   string   `json:"spreadsheetId"`
	SpreadsheetUrl  string   `json:"spreadsheetUrl"`
	SheetId         float64  `json:"sheetId"`
	UpdatedIssuesAt DateTime `json:"updatedIssuesAt"`
}

type GoogleUserAccountAuthInput

type GoogleUserAccountAuthInput struct {
	// Code returned from Google's OAuth flow.
	Code string `json:"code"`
	// The URI to redirect the user to.
	RedirectUri *string `json:"redirectUri,omitempty"`
	// The timezone of the user's browser.
	Timezone string `json:"timezone"`
	// The identifiers of the teams to auto-join.
	TeamIdsToJoin []string `json:"teamIdsToJoin,omitempty"`
	// Signup code.
	SignupCode *string `json:"signupCode,omitempty"`
	// An optional invite link for an organization used to populate available organizations.
	InviteLink *string `json:"inviteLink,omitempty"`
}

type IDComparator

type IDComparator struct {
	// Equals constraint.
	Eq string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
}

Comparator for identifiers.

type ImageUploadFromUrlPayload

type ImageUploadFromUrlPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The URL containing the image.
	Url *string `json:"url,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type Initiative

type Initiative struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the initiative.
	Name string `json:"name"`
	// The description of the initiative.
	Description *string `json:"description,omitempty"`
	// The organization of the initiative.
	Organization *Organization `json:"organization"`
	// The user who created the initiative.
	Creator *User `json:"creator"`
	// The user who owns the initiative.
	Owner *User `json:"owner"`
	// The initiative's unique URL slug.
	SlugId string `json:"slugId"`
	// The sort order of the initiative within the organization.
	SortOrder float64 `json:"sortOrder"`
	// The initiative's color.
	Color *string `json:"color,omitempty"`
	// The estimated completion date of the initiative.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// [INTERNAL] The resolution of the initiative's estimated completion date.
	TargetDateResolution *DateResolutionType `json:"targetDateResolution,omitempty"`
	// Projects associated with the initiative.
	Projects *ProjectConnection `json:"projects"`
}

[INTERNAL] An initiative to group projects.

type InitiativeArchivePayload

type InitiativeArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Initiative `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type InitiativeCollectionFilter

type InitiativeCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the initiative name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the initiative slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the initiative creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Compound filters, all of which need to be matched by the initiative.
	And []InitiativeCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the initiative.
	Or []InitiativeCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some initiatives.
	Some *InitiativeFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all initiatives.
	Every *InitiativeFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Initiative collection filtering options.

type InitiativeConnection

type InitiativeConnection struct {
	Edges    []InitiativeEdge `json:"edges"`
	Nodes    []Initiative     `json:"nodes"`
	PageInfo *PageInfo        `json:"pageInfo"`
}

type InitiativeCreateInput

type InitiativeCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the initiative.
	Name string `json:"name"`
	// The description of the initiative.
	Description *string `json:"description,omitempty"`
	// The owner of the initiative.
	OwnerId *string `json:"ownerId,omitempty"`
	// The sort order of the initiative within the organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The initiative's color.
	Color *string `json:"color,omitempty"`
}

[Internal] The properties of the initiative to create.

type InitiativeEdge

type InitiativeEdge struct {
	Node *Initiative `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type InitiativeFilter

type InitiativeFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the initiative name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the initiative slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the initiative creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Compound filters, all of which need to be matched by the initiative.
	And []InitiativeFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the initiative.
	Or []InitiativeFilter `json:"or,omitempty"`
}

Initiative filtering options.

type InitiativePayload

type InitiativePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The initiative that was created or updated.
	Initiative *Initiative `json:"initiative"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

[Internal] The payload returned by the initiative mutations.

type InitiativeToProject

type InitiativeToProject struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The project that the initiative is associated with.
	Project *Project `json:"project"`
	// The initiative that the project is associated with.
	Initiative *Initiative `json:"initiative"`
	// The sort order of the project within the initiative.
	SortOrder string `json:"sortOrder"`
}

[INTERNAL] Join table between projects and initiatives.

type InitiativeToProjectConnection

type InitiativeToProjectConnection struct {
	Edges    []InitiativeToProjectEdge `json:"edges"`
	Nodes    []InitiativeToProject     `json:"nodes"`
	PageInfo *PageInfo                 `json:"pageInfo"`
}

type InitiativeToProjectCreateInput

type InitiativeToProjectCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the project.
	ProjectId string `json:"projectId"`
	// The identifier of the initiative.
	InitiativeId string `json:"initiativeId"`
	// The sort order for the project within its organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

[INTERNAL] The properties of the initiativeToProject to create.

type InitiativeToProjectEdge

type InitiativeToProjectEdge struct {
	Node *InitiativeToProject `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type InitiativeToProjectPayload

type InitiativeToProjectPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The initiativeToProject that was created or updated.
	InitiativeToProject *InitiativeToProject `json:"initiativeToProject"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

[INTERNAL] The result of a initiativeToProject mutation.

type InitiativeToProjectUpdateInput

type InitiativeToProjectUpdateInput struct {
	// The sort order for the project within its organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

[INTERNAL] The properties of the initiativeToProject to update.

type InitiativeUpdateInput

type InitiativeUpdateInput struct {
	// The name of the initiative.
	Name *string `json:"name,omitempty"`
	// The description of the initiative.
	Description *string `json:"description,omitempty"`
	// The owner of the initiative.
	OwnerId *string `json:"ownerId,omitempty"`
	// The sort order of the initiative within the organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The initiative's color.
	Color *string `json:"color,omitempty"`
	// The estimated completion date of the initiative.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
}

[Internal] The properties of the initiative to update.

type Integration

type Integration struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The integration's type.
	Service string `json:"service"`
	// The organization that the integration is associated with.
	Organization *Organization `json:"organization"`
	// The team that the integration is associated with.
	Team *Team `json:"team,omitempty"`
	// The user that added the integration.
	Creator *User `json:"creator"`
}

An integration with an external service.

type IntegrationConnection

type IntegrationConnection struct {
	Edges    []IntegrationEdge `json:"edges"`
	Nodes    []Integration     `json:"nodes"`
	PageInfo *PageInfo         `json:"pageInfo"`
}

type IntegrationEdge

type IntegrationEdge struct {
	Node *Integration `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IntegrationHasScopesPayload

type IntegrationHasScopesPayload struct {
	// Whether the integration has the required scopes.
	HasAllScopes bool `json:"hasAllScopes"`
	// The missing scopes.
	MissingScopes []string `json:"missingScopes,omitempty"`
}

type IntegrationPayload

type IntegrationPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The integration that was created or updated.
	Integration *Integration `json:"integration,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IntegrationRequestInput

type IntegrationRequestInput struct {
	// Email associated with the request.
	Email *string `json:"email,omitempty"`
	// Name of the requested integration.
	Name string `json:"name"`
}

type IntegrationRequestPayload

type IntegrationRequestPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IntegrationService

type IntegrationService string

Linear supported integration services.

const (
	IntegrationServiceAirbyte                    IntegrationService = "airbyte"
	IntegrationServiceDiscord                    IntegrationService = "discord"
	IntegrationServiceFigma                      IntegrationService = "figma"
	IntegrationServiceFigmaplugin                IntegrationService = "figmaPlugin"
	IntegrationServiceFront                      IntegrationService = "front"
	IntegrationServiceGithub                     IntegrationService = "github"
	IntegrationServiceGithubcommit               IntegrationService = "githubCommit"
	IntegrationServiceGithubpersonal             IntegrationService = "githubPersonal"
	IntegrationServiceGitlab                     IntegrationService = "gitlab"
	IntegrationServiceGooglecalendarpersonal     IntegrationService = "googleCalendarPersonal"
	IntegrationServiceGooglesheets               IntegrationService = "googleSheets"
	IntegrationServiceIntercom                   IntegrationService = "intercom"
	IntegrationServiceJira                       IntegrationService = "jira"
	IntegrationServiceJirapersonal               IntegrationService = "jiraPersonal"
	IntegrationServiceLoom                       IntegrationService = "loom"
	IntegrationServiceNotion                     IntegrationService = "notion"
	IntegrationServiceOpsgenie                   IntegrationService = "opsgenie"
	IntegrationServicePagerduty                  IntegrationService = "pagerDuty"
	IntegrationServiceSlack                      IntegrationService = "slack"
	IntegrationServiceSlackasks                  IntegrationService = "slackAsks"
	IntegrationServiceSlackorgprojectupdatespost IntegrationService = "slackOrgProjectUpdatesPost"
	IntegrationServiceSlackpersonal              IntegrationService = "slackPersonal"
	IntegrationServiceSlackpost                  IntegrationService = "slackPost"
	IntegrationServiceSlackprojectpost           IntegrationService = "slackProjectPost"
	IntegrationServiceSlackprojectupdatespost    IntegrationService = "slackProjectUpdatesPost"
	IntegrationServiceSentry                     IntegrationService = "sentry"
	IntegrationServiceZendesk                    IntegrationService = "zendesk"
)

type IntegrationSettings

type IntegrationSettings struct {
	Slack                      *SlackSettings          `json:"slack,omitempty"`
	SlackAsks                  *SlackAsksSettings      `json:"slackAsks,omitempty"`
	SlackPost                  *SlackPostSettings      `json:"slackPost,omitempty"`
	SlackProjectPost           *SlackPostSettings      `json:"slackProjectPost,omitempty"`
	SlackOrgProjectUpdatesPost *SlackPostSettings      `json:"slackOrgProjectUpdatesPost,omitempty"`
	GoogleSheets               *GoogleSheetsSettings   `json:"googleSheets,omitempty"`
	GitHub                     *GitHubSettings         `json:"gitHub,omitempty"`
	GitHubPersonal             *GitHubPersonalSettings `json:"gitHubPersonal,omitempty"`
	GitLab                     *GitLabSettings         `json:"gitLab,omitempty"`
	Sentry                     *SentrySettings         `json:"sentry,omitempty"`
	Zendesk                    *ZendeskSettings        `json:"zendesk,omitempty"`
	Intercom                   *IntercomSettings       `json:"intercom,omitempty"`
	Front                      *FrontSettings          `json:"front,omitempty"`
	Jira                       *JiraSettings           `json:"jira,omitempty"`
	Notion                     *NotionSettings         `json:"notion,omitempty"`
	Opsgenie                   *OpsgenieSettings       `json:"opsgenie,omitempty"`
	PagerDuty                  *PagerDutySettings      `json:"pagerDuty,omitempty"`
	JiraPersonal               *JiraPersonalSettings   `json:"jiraPersonal,omitempty"`
}

The integration resource's settings.

type IntegrationSettingsInput

type IntegrationSettingsInput struct {
	Slack                      *SlackSettingsInput          `json:"slack,omitempty"`
	SlackAsks                  *SlackAsksSettingsInput      `json:"slackAsks,omitempty"`
	SlackPost                  *SlackPostSettingsInput      `json:"slackPost,omitempty"`
	SlackProjectPost           *SlackPostSettingsInput      `json:"slackProjectPost,omitempty"`
	SlackOrgProjectUpdatesPost *SlackPostSettingsInput      `json:"slackOrgProjectUpdatesPost,omitempty"`
	GoogleSheets               *GoogleSheetsSettingsInput   `json:"googleSheets,omitempty"`
	GitHub                     *GitHubSettingsInput         `json:"gitHub,omitempty"`
	GitHubPersonal             *GitHubPersonalSettingsInput `json:"gitHubPersonal,omitempty"`
	GitLab                     *GitLabSettingsInput         `json:"gitLab,omitempty"`
	Sentry                     *SentrySettingsInput         `json:"sentry,omitempty"`
	Zendesk                    *ZendeskSettingsInput        `json:"zendesk,omitempty"`
	Intercom                   *IntercomSettingsInput       `json:"intercom,omitempty"`
	Front                      *FrontSettingsInput          `json:"front,omitempty"`
	Jira                       *JiraSettingsInput           `json:"jira,omitempty"`
	Notion                     *NotionSettingsInput         `json:"notion,omitempty"`
	Opsgenie                   *OpsgenieInput               `json:"opsgenie,omitempty"`
	PagerDuty                  *PagerDutyInput              `json:"pagerDuty,omitempty"`
	JiraPersonal               *JiraPersonalSettingsInput   `json:"jiraPersonal,omitempty"`
}

type IntegrationTemplate

type IntegrationTemplate struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The template that the integration is associated with.
	Template *Template `json:"template"`
	// The integration that the template is associated with.
	Integration *Integration `json:"integration"`
	// ID of the foreign entity in the external integration this template is for, e.g., Slack channel ID.
	ForeignEntityId *string `json:"foreignEntityId,omitempty"`
}

Join table between templates and integrations.

type IntegrationTemplateConnection

type IntegrationTemplateConnection struct {
	Edges    []IntegrationTemplateEdge `json:"edges"`
	Nodes    []IntegrationTemplate     `json:"nodes"`
	PageInfo *PageInfo                 `json:"pageInfo"`
}

type IntegrationTemplateCreateInput

type IntegrationTemplateCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the integration.
	IntegrationId string `json:"integrationId"`
	// The identifier of the template.
	TemplateId string `json:"templateId"`
	// The foreign identifier in the other service.
	ForeignEntityId *string `json:"foreignEntityId,omitempty"`
}

type IntegrationTemplateEdge

type IntegrationTemplateEdge struct {
	Node *IntegrationTemplate `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IntegrationTemplatePayload

type IntegrationTemplatePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The IntegrationTemplate that was created or updated.
	IntegrationTemplate *IntegrationTemplate `json:"integrationTemplate"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IntegrationsSettings

type IntegrationsSettings struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Whether to send a Slack message when a new issue is created for the project or the team.
	SlackIssueCreated *bool `json:"slackIssueCreated,omitempty"`
	// Whether to send a Slack message when a comment is created on any of the project or team's issues.
	SlackIssueNewComment *bool `json:"slackIssueNewComment,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues change to completed or cancelled.
	SlackIssueStatusChangedDone *bool `json:"slackIssueStatusChangedDone,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues has a change in status.
	SlackIssueStatusChangedAll *bool `json:"slackIssueStatusChangedAll,omitempty"`
	// Whether to send a Slack message when a project update is created.
	SlackProjectUpdateCreated *bool `json:"slackProjectUpdateCreated,omitempty"`
	// Whether to send a new project update to team Slack channels.
	SlackProjectUpdateCreatedToTeam *bool `json:"slackProjectUpdateCreatedToTeam,omitempty"`
	// Whether to send a new project update to workspace Slack channel.
	SlackProjectUpdateCreatedToWorkspace *bool `json:"slackProjectUpdateCreatedToWorkspace,omitempty"`
	// Whether to send a Slack message when a new issue is added to triage.
	SlackIssueAddedToTriage *bool `json:"slackIssueAddedToTriage,omitempty"`
	// Whether to send a Slack message when an SLA is at high risk.
	SlackIssueSlaHighRisk *bool `json:"slackIssueSlaHighRisk,omitempty"`
	// Whether to send a Slack message when an SLA is breached.
	SlackIssueSlaBreached *bool `json:"slackIssueSlaBreached,omitempty"`
	// Team which those settings apply to.
	Team *Team `json:"team,omitempty"`
	// Project which those settings apply to.
	Project *Project `json:"project,omitempty"`
}

The configuration of all integrations for a project or a team.

type IntegrationsSettingsConnection

type IntegrationsSettingsConnection struct {
	Edges    []IntegrationsSettingsEdge `json:"edges"`
	Nodes    []IntegrationsSettings     `json:"nodes"`
	PageInfo *PageInfo                  `json:"pageInfo"`
}

type IntegrationsSettingsCreateInput

type IntegrationsSettingsCreateInput struct {
	// Whether to send a Slack message when a new issue is created for the project or the team.
	SlackIssueCreated *bool `json:"slackIssueCreated,omitempty"`
	// Whether to send a Slack message when a comment is created on any of the project or team's issues.
	SlackIssueNewComment *bool `json:"slackIssueNewComment,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues change to completed or cancelled.
	SlackIssueStatusChangedDone *bool `json:"slackIssueStatusChangedDone,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues has a change in status.
	SlackIssueStatusChangedAll *bool `json:"slackIssueStatusChangedAll,omitempty"`
	// Whether to send a Slack message when a project update is created.
	SlackProjectUpdateCreated *bool `json:"slackProjectUpdateCreated,omitempty"`
	// Whether to send a Slack message when a project update is created to team channels.
	SlackProjectUpdateCreatedToTeam *bool `json:"slackProjectUpdateCreatedToTeam,omitempty"`
	// Whether to send a Slack message when a project update is created to workspace channel.
	SlackProjectUpdateCreatedToWorkspace *bool `json:"slackProjectUpdateCreatedToWorkspace,omitempty"`
	// Whether to send a Slack message when a new issue is added to triage.
	SlackIssueAddedToTriage *bool `json:"slackIssueAddedToTriage,omitempty"`
	// Whether to send a Slack message when an SLA is at high risk.
	SlackIssueSlaHighRisk *bool `json:"slackIssueSlaHighRisk,omitempty"`
	// Whether to receive notification when an SLA has breached on Slack.
	SlackIssueSlaBreached *bool `json:"slackIssueSlaBreached,omitempty"`
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the team to create settings for.
	TeamId *string `json:"teamId,omitempty"`
	// The identifier of the project to create settings for.
	ProjectId *string `json:"projectId,omitempty"`
}

type IntegrationsSettingsEdge

type IntegrationsSettingsEdge struct {
	Node *IntegrationsSettings `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IntegrationsSettingsPayload

type IntegrationsSettingsPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The settings that were created or updated.
	IntegrationsSettings *IntegrationsSettings `json:"integrationsSettings"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IntegrationsSettingsUpdateInput

type IntegrationsSettingsUpdateInput struct {
	// Whether to send a Slack message when a new issue is created for the project or the team.
	SlackIssueCreated *bool `json:"slackIssueCreated,omitempty"`
	// Whether to send a Slack message when a comment is created on any of the project or team's issues.
	SlackIssueNewComment *bool `json:"slackIssueNewComment,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues change to completed or cancelled.
	SlackIssueStatusChangedDone *bool `json:"slackIssueStatusChangedDone,omitempty"`
	// Whether to send a Slack message when any of the project or team's issues has a change in status.
	SlackIssueStatusChangedAll *bool `json:"slackIssueStatusChangedAll,omitempty"`
	// Whether to send a Slack message when a project update is created.
	SlackProjectUpdateCreated *bool `json:"slackProjectUpdateCreated,omitempty"`
	// Whether to send a Slack message when a project update is created to team channels.
	SlackProjectUpdateCreatedToTeam *bool `json:"slackProjectUpdateCreatedToTeam,omitempty"`
	// Whether to send a Slack message when a project update is created to workspace channel.
	SlackProjectUpdateCreatedToWorkspace *bool `json:"slackProjectUpdateCreatedToWorkspace,omitempty"`
	// Whether to send a Slack message when a new issue is added to triage.
	SlackIssueAddedToTriage *bool `json:"slackIssueAddedToTriage,omitempty"`
	// Whether to send a Slack message when an SLA is at high risk.
	SlackIssueSlaHighRisk *bool `json:"slackIssueSlaHighRisk,omitempty"`
	// Whether to receive notification when an SLA has breached on Slack.
	SlackIssueSlaBreached *bool `json:"slackIssueSlaBreached,omitempty"`
}

type IntercomSettings

type IntercomSettings struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
}

Intercom specific settings.

type IntercomSettingsInput

type IntercomSettingsInput struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
}

type Issue

type Issue struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The issue's unique number.
	Number float64 `json:"number"`
	// The issue's title.
	Title string `json:"title"`
	// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
	Priority float64 `json:"priority"`
	// The estimate of the complexity of the issue..
	Estimate *float64 `json:"estimate,omitempty"`
	// The order of the item in its column on the board.
	BoardOrder float64 `json:"boardOrder"`
	// The order of the item in relation to other items in the organization.
	SortOrder float64 `json:"sortOrder"`
	// The time at which the issue was moved into started state.
	StartedAt *DateTime `json:"startedAt,omitempty"`
	// The time at which the issue was moved into completed state.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The time at which the issue entered triage.
	StartedTriageAt *DateTime `json:"startedTriageAt,omitempty"`
	// The time at which the issue left triage.
	TriagedAt *DateTime `json:"triagedAt,omitempty"`
	// The time at which the issue was moved into canceled state.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// The time at which the issue was automatically closed by the auto pruning process.
	AutoClosedAt *DateTime `json:"autoClosedAt,omitempty"`
	// The time at which the issue was automatically archived by the auto pruning process.
	AutoArchivedAt *DateTime `json:"autoArchivedAt,omitempty"`
	// The date at which the issue is due.
	DueDate *TimelessDate `json:"dueDate,omitempty"`
	// [Internal] The time at which the issue's SLA began.
	SlaStartedAt *DateTime `json:"slaStartedAt,omitempty"`
	// [Internal] The time at which the issue's SLA will breach.
	SlaBreachesAt *DateTime `json:"slaBreachesAt,omitempty"`
	// A flag that indicates whether the issue is in the trash bin.
	Trashed *bool `json:"trashed,omitempty"`
	// The time until an issue will be snoozed in Triage view.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// Id of the labels associated with this issue.
	LabelIds []string `json:"labelIds"`
	// The team that the issue is associated with.
	Team *Team `json:"team"`
	// The cycle that the issue is associated with.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The project that the issue is associated with.
	Project *Project `json:"project,omitempty"`
	// The projectMilestone that the issue is associated with.
	ProjectMilestone *ProjectMilestone `json:"projectMilestone,omitempty"`
	// The last template that was applied to this issue.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// Previous identifiers of the issue if it has been moved between teams.
	PreviousIdentifiers []string `json:"previousIdentifiers"`
	// The user who created the issue.
	Creator *User `json:"creator,omitempty"`
	// The external user who created the issue.
	ExternalUserCreator *ExternalUser `json:"externalUserCreator,omitempty"`
	// The user to whom the issue is assigned to.
	Assignee *User `json:"assignee,omitempty"`
	// The user who snoozed the issue.
	SnoozedBy *User `json:"snoozedBy,omitempty"`
	// The workflow state that the issue is associated with.
	State *WorkflowState `json:"state"`
	// The order of the item in the sub-issue list. Only set if the issue has a parent.
	SubIssueSortOrder *float64 `json:"subIssueSortOrder,omitempty"`
	// Label for the priority.
	PriorityLabel string `json:"priorityLabel"`
	// The comment that this issue was created from.
	SourceComment *Comment `json:"sourceComment,omitempty"`
	// Integration type that created this issue, if applicable.
	IntegrationSourceType *IntegrationService `json:"integrationSourceType,omitempty"`
	// The bot that created the issue, if applicable.
	BotActor *ActorBot `json:"botActor,omitempty"`
	// The users favorite associated with this issue.
	Favorite *Favorite `json:"favorite,omitempty"`
	// Issue's human readable identifier (e.g. ENG-123).
	Identifier string `json:"identifier"`
	// Issue URL.
	Url string `json:"url"`
	// Suggested branch name for the issue.
	BranchName string `json:"branchName"`
	// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
	CustomerTicketCount int32 `json:"customerTicketCount"`
	// Users who are subscribed to the issue.
	Subscribers *UserConnection `json:"subscribers"`
	// The parent of the issue.
	Parent *Issue `json:"parent,omitempty"`
	// Children of the issue.
	Children *IssueConnection `json:"children"`
	// Comments associated with the issue.
	Comments *CommentConnection `json:"comments"`
	// History entries associated with the issue.
	History *IssueHistoryConnection `json:"history"`
	// Labels associated with this issue.
	Labels *IssueLabelConnection `json:"labels"`
	// Relations associated with this issue.
	Relations *IssueRelationConnection `json:"relations"`
	// Inverse relations associated with this issue.
	InverseRelations *IssueRelationConnection `json:"inverseRelations"`
	// Attachments associated with the issue.
	Attachments *AttachmentConnection `json:"attachments"`
	// The issue's description in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The issue's description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// [Internal] The issue's description content as YJS state.
	DescriptionState *string `json:"descriptionState,omitempty"`
}

An issue.

func FetchIssue

func FetchIssue(client *gqlclient.Client, ctx context.Context, id string) (issue *Issue, err error)

type IssueArchivePayload

type IssueArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Issue `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type IssueBatchPayload

type IssueBatchPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The issues that were updated.
	Issues []Issue `json:"issues"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueCollectionFilter

type IssueCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the issues number.
	Number *NumberComparator `json:"number,omitempty"`
	// Comparator for the issues title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the issues description.
	Description *NullableStringComparator `json:"description,omitempty"`
	// Comparator for the issues priority.
	Priority *NullableNumberComparator `json:"priority,omitempty"`
	// Comparator for the issues estimate.
	Estimate *EstimateComparator `json:"estimate,omitempty"`
	// Comparator for the issues started at date.
	StartedAt *NullableDateComparator `json:"startedAt,omitempty"`
	// Comparator for the issues triaged at date.
	TriagedAt *NullableDateComparator `json:"triagedAt,omitempty"`
	// Comparator for the issues completed at date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the issues canceled at date.
	CanceledAt *NullableDateComparator `json:"canceledAt,omitempty"`
	// Comparator for the issues auto closed at date.
	AutoClosedAt *NullableDateComparator `json:"autoClosedAt,omitempty"`
	// Comparator for the issues auto archived at date.
	AutoArchivedAt *NullableDateComparator `json:"autoArchivedAt,omitempty"`
	// Comparator for the issues due date.
	DueDate *NullableTimelessDateComparator `json:"dueDate,omitempty"`
	// Comparator for the issues snoozed until date.
	SnoozedUntilAt *NullableDateComparator `json:"snoozedUntilAt,omitempty"`
	// Filters that the issues assignee must satisfy.
	Assignee *NullableUserFilter `json:"assignee,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Filters that the source must satisfy.
	SourceMetadata *SourceMetadataComparator `json:"sourceMetadata,omitempty"`
	// Filters that the issues creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Filters that the issue parent must satisfy.
	Parent *NullableIssueFilter `json:"parent,omitempty"`
	// Filters that the issues snoozer must satisfy.
	SnoozedBy *NullableUserFilter `json:"snoozedBy,omitempty"`
	// Filters that issue labels must satisfy.
	Labels *IssueLabelCollectionFilter `json:"labels,omitempty"`
	// Filters that issue subscribers must satisfy.
	Subscribers *UserCollectionFilter `json:"subscribers,omitempty"`
	// Filters that the issues team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the issues project milestone must satisfy.
	ProjectMilestone *NullableProjectMilestoneFilter `json:"projectMilestone,omitempty"`
	// Filters that the issues comments must satisfy.
	Comments *CommentCollectionFilter `json:"comments,omitempty"`
	// Filters that the issues cycle must satisfy.
	Cycle *NullableCycleFilter `json:"cycle,omitempty"`
	// Filters that the issues project must satisfy.
	Project *NullableProjectFilter `json:"project,omitempty"`
	// Filters that the issues state must satisfy.
	State *WorkflowStateFilter `json:"state,omitempty"`
	// Filters that the child issues must satisfy.
	Children *IssueCollectionFilter `json:"children,omitempty"`
	// Filters that the issues attachments must satisfy.
	Attachments *AttachmentCollectionFilter `json:"attachments,omitempty"`
	// [Internal] Comparator for the issues content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for filtering issues with relations.
	HasRelatedRelations *RelationExistsComparator `json:"hasRelatedRelations,omitempty"`
	// Comparator for filtering issues which are duplicates.
	HasDuplicateRelations *RelationExistsComparator `json:"hasDuplicateRelations,omitempty"`
	// Comparator for filtering issues which are blocked.
	HasBlockedByRelations *RelationExistsComparator `json:"hasBlockedByRelations,omitempty"`
	// Comparator for filtering issues which are blocking.
	HasBlockingRelations *RelationExistsComparator `json:"hasBlockingRelations,omitempty"`
	// Comparator for the issues sla status.
	SlaStatus *SlaStatusComparator `json:"slaStatus,omitempty"`
	// Compound filters, all of which need to be matched by the issue.
	And []IssueCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the issue.
	Or []IssueCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some issues.
	Some *IssueFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all issues.
	Every *IssueFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Issue filtering options.

type IssueConnection

type IssueConnection struct {
	Edges    []IssueEdge `json:"edges"`
	Nodes    []Issue     `json:"nodes"`
	PageInfo *PageInfo   `json:"pageInfo"`
}

func FetchIssues

func FetchIssues(client *gqlclient.Client, ctx context.Context, filter *IssueFilter, first *int32, after *string) (issues *IssueConnection, err error)

type IssueCreateInput

type IssueCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The title of the issue.
	Title *string `json:"title,omitempty"`
	// The issue description in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The issue description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// The identifier of the user to assign the issue to.
	AssigneeId *string `json:"assigneeId,omitempty"`
	// The identifier of the parent issue.
	ParentId *string `json:"parentId,omitempty"`
	// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
	Priority *int32 `json:"priority,omitempty"`
	// The estimated complexity of the issue.
	Estimate *int32 `json:"estimate,omitempty"`
	// The identifiers of the users subscribing to this ticket.
	SubscriberIds []string `json:"subscriberIds,omitempty"`
	// The identifiers of the issue labels associated with this ticket.
	LabelIds []string `json:"labelIds,omitempty"`
	// The identifier or key of the team associated with the issue.
	TeamId string `json:"teamId"`
	// The cycle associated with the issue.
	CycleId *string `json:"cycleId,omitempty"`
	// The project associated with the issue.
	ProjectId *string `json:"projectId,omitempty"`
	// The project milestone associated with the issue.
	ProjectMilestoneId *string `json:"projectMilestoneId,omitempty"`
	// The ID of the last template applied to the issue.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The team state of the issue.
	StateId *string `json:"stateId,omitempty"`
	// The comment the issue is referencing.
	ReferenceCommentId *string `json:"referenceCommentId,omitempty"`
	// The comment the issue is created from.
	SourceCommentId *string `json:"sourceCommentId,omitempty"`
	// The position of the issue in its column on the board view.
	BoardOrder *float64 `json:"boardOrder,omitempty"`
	// The position of the issue related to other issues.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The position of the issue in parent's sub-issue list.
	SubIssueSortOrder *float64 `json:"subIssueSortOrder,omitempty"`
	// The date at which the issue is due.
	DueDate *TimelessDate `json:"dueDate,omitempty"`
	// Create issue as a user with the provided name. This option is only available to OAuth applications creating issues in `actor=application` mode.
	CreateAsUser *string `json:"createAsUser,omitempty"`
	// Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
	DisplayIconUrl *string `json:"displayIconUrl,omitempty"`
	// Whether the passed sort order should be preserved.
	PreserveSortOrderOnCreate *bool `json:"preserveSortOrderOnCreate,omitempty"`
	// The date when the issue was created (e.g. if importing from another system). Must be a date in the past. If none is provided, the backend will generate the time as now.
	CreatedAt *DateTime `json:"createdAt,omitempty"`
	// [Internal] The timestamp at which an issue will be considered in breach of SLA.
	SlaBreachesAt *DateTime `json:"slaBreachesAt,omitempty"`
	// The identifier of a template the issue should be created from. If other values are provided in the input, they will override template values.
	TemplateId *string `json:"templateId,omitempty"`
}

type IssueDraft

type IssueDraft struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The draft's title.
	Title string `json:"title"`
	// The draft's description in markdown format.
	Description *string `json:"description,omitempty"`
	// The priority of the draft.
	Priority float64 `json:"priority"`
	// The estimate of the complexity of the draft.
	Estimate *float64 `json:"estimate,omitempty"`
	// The date at which the issue would be due.
	DueDate *TimelessDate `json:"dueDate,omitempty"`
	// The team associated with the draft.
	TeamId string `json:"teamId"`
	// The cycle associated with the draft.
	CycleId *string `json:"cycleId,omitempty"`
	// The project associated with the draft.
	ProjectId *string `json:"projectId,omitempty"`
	// The project milestone associated with the draft.
	ProjectMilestoneId *string `json:"projectMilestoneId,omitempty"`
	// The user who created the draft.
	Creator *User `json:"creator"`
	// The user assigned to the draft.
	AssigneeId *string `json:"assigneeId,omitempty"`
	// The workflow state associated with the draft.
	StateId string `json:"stateId"`
	// The parent draft of the draft.
	Parent *IssueDraft `json:"parent,omitempty"`
	// The parent issue of the draft.
	ParentIssue *Issue `json:"parentIssue,omitempty"`
	// The order of items in the sub-draft list. Only set if the draft has `parent` set.
	SubIssueSortOrder *float64 `json:"subIssueSortOrder,omitempty"`
	// Label for the priority.
	PriorityLabel string `json:"priorityLabel"`
	// [Internal] The draft's description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// Serialized array of JSONs representing attachments.
	Attachments JSONObject `json:"attachments"`
}

[Internal] A draft issue.

type IssueEdge

type IssueEdge struct {
	Node *Issue `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IssueFilter

type IssueFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the issues number.
	Number *NumberComparator `json:"number,omitempty"`
	// Comparator for the issues title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the issues description.
	Description *NullableStringComparator `json:"description,omitempty"`
	// Comparator for the issues priority.
	Priority *NullableNumberComparator `json:"priority,omitempty"`
	// Comparator for the issues estimate.
	Estimate *EstimateComparator `json:"estimate,omitempty"`
	// Comparator for the issues started at date.
	StartedAt *NullableDateComparator `json:"startedAt,omitempty"`
	// Comparator for the issues triaged at date.
	TriagedAt *NullableDateComparator `json:"triagedAt,omitempty"`
	// Comparator for the issues completed at date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the issues canceled at date.
	CanceledAt *NullableDateComparator `json:"canceledAt,omitempty"`
	// Comparator for the issues auto closed at date.
	AutoClosedAt *NullableDateComparator `json:"autoClosedAt,omitempty"`
	// Comparator for the issues auto archived at date.
	AutoArchivedAt *NullableDateComparator `json:"autoArchivedAt,omitempty"`
	// Comparator for the issues due date.
	DueDate *NullableTimelessDateComparator `json:"dueDate,omitempty"`
	// Comparator for the issues snoozed until date.
	SnoozedUntilAt *NullableDateComparator `json:"snoozedUntilAt,omitempty"`
	// Filters that the issues assignee must satisfy.
	Assignee *NullableUserFilter `json:"assignee,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Filters that the source must satisfy.
	SourceMetadata *SourceMetadataComparator `json:"sourceMetadata,omitempty"`
	// Filters that the issues creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Filters that the issue parent must satisfy.
	Parent *NullableIssueFilter `json:"parent,omitempty"`
	// Filters that the issues snoozer must satisfy.
	SnoozedBy *NullableUserFilter `json:"snoozedBy,omitempty"`
	// Filters that issue labels must satisfy.
	Labels *IssueLabelCollectionFilter `json:"labels,omitempty"`
	// Filters that issue subscribers must satisfy.
	Subscribers *UserCollectionFilter `json:"subscribers,omitempty"`
	// Filters that the issues team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the issues project milestone must satisfy.
	ProjectMilestone *NullableProjectMilestoneFilter `json:"projectMilestone,omitempty"`
	// Filters that the issues comments must satisfy.
	Comments *CommentCollectionFilter `json:"comments,omitempty"`
	// Filters that the issues cycle must satisfy.
	Cycle *NullableCycleFilter `json:"cycle,omitempty"`
	// Filters that the issues project must satisfy.
	Project *NullableProjectFilter `json:"project,omitempty"`
	// Filters that the issues state must satisfy.
	State *WorkflowStateFilter `json:"state,omitempty"`
	// Filters that the child issues must satisfy.
	Children *IssueCollectionFilter `json:"children,omitempty"`
	// Filters that the issues attachments must satisfy.
	Attachments *AttachmentCollectionFilter `json:"attachments,omitempty"`
	// [Internal] Comparator for the issues content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for filtering issues with relations.
	HasRelatedRelations *RelationExistsComparator `json:"hasRelatedRelations,omitempty"`
	// Comparator for filtering issues which are duplicates.
	HasDuplicateRelations *RelationExistsComparator `json:"hasDuplicateRelations,omitempty"`
	// Comparator for filtering issues which are blocked.
	HasBlockedByRelations *RelationExistsComparator `json:"hasBlockedByRelations,omitempty"`
	// Comparator for filtering issues which are blocking.
	HasBlockingRelations *RelationExistsComparator `json:"hasBlockingRelations,omitempty"`
	// Comparator for the issues sla status.
	SlaStatus *SlaStatusComparator `json:"slaStatus,omitempty"`
	// Compound filters, all of which need to be matched by the issue.
	And []IssueFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the issue.
	Or []IssueFilter `json:"or,omitempty"`
}

Issue filtering options.

type IssueFilterSuggestionPayload

type IssueFilterSuggestionPayload struct {
	// The json filter that is suggested.
	Filter *JSONObject `json:"filter,omitempty"`
}

type IssueHistory

type IssueHistory struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The issue that was changed.
	Issue *Issue `json:"issue"`
	// The user who made these changes. If null, possibly means that the change made by an integration.
	Actor *User `json:"actor,omitempty"`
	// The id of user who made these changes. If null, possibly means that the change made by an integration.
	ActorId *string `json:"actorId,omitempty"`
	// Whether the issue's description was updated.
	UpdatedDescription *bool `json:"updatedDescription,omitempty"`
	// What the title was changed from.
	FromTitle *string `json:"fromTitle,omitempty"`
	// What the title was changed to.
	ToTitle *string `json:"toTitle,omitempty"`
	// The user from whom the issue was re-assigned from.
	FromAssignee *User `json:"fromAssignee,omitempty"`
	// The id of user from whom the issue was re-assigned from.
	FromAssigneeId *string `json:"fromAssigneeId,omitempty"`
	// The user to whom the issue was assigned to.
	ToAssignee *User `json:"toAssignee,omitempty"`
	// The id of user to whom the issue was assigned to.
	ToAssigneeId *string `json:"toAssigneeId,omitempty"`
	// What the priority was changed from.
	FromPriority *float64 `json:"fromPriority,omitempty"`
	// What the priority was changed to.
	ToPriority *float64 `json:"toPriority,omitempty"`
	// The team from which the issue was moved from.
	FromTeam *Team `json:"fromTeam,omitempty"`
	// The id of team from which the issue was moved from.
	FromTeamId *string `json:"fromTeamId,omitempty"`
	// The team to which the issue was moved to.
	ToTeam *Team `json:"toTeam,omitempty"`
	// The id of team to which the issue was moved to.
	ToTeamId *string `json:"toTeamId,omitempty"`
	// The previous parent of the issue.
	FromParent *Issue `json:"fromParent,omitempty"`
	// The id of previous parent of the issue.
	FromParentId *string `json:"fromParentId,omitempty"`
	// The new parent of the issue.
	ToParent *Issue `json:"toParent,omitempty"`
	// The id of new parent of the issue.
	ToParentId *string `json:"toParentId,omitempty"`
	// The previous workflow state of the issue.
	FromState *WorkflowState `json:"fromState,omitempty"`
	// The id of previous workflow state of the issue.
	FromStateId *string `json:"fromStateId,omitempty"`
	// The new workflow state of the issue.
	ToState *WorkflowState `json:"toState,omitempty"`
	// The id of new workflow state of the issue.
	ToStateId *string `json:"toStateId,omitempty"`
	// The previous cycle of the issue.
	FromCycle *Cycle `json:"fromCycle,omitempty"`
	// The id of previous cycle of the issue.
	FromCycleId *string `json:"fromCycleId,omitempty"`
	// The new cycle of the issue.
	ToCycle *Cycle `json:"toCycle,omitempty"`
	// The id of new cycle of the issue.
	ToCycleId *string `json:"toCycleId,omitempty"`
	// The new project created from the issue.
	ToConvertedProject *Project `json:"toConvertedProject,omitempty"`
	// The id of new project created from the issue.
	ToConvertedProjectId *string `json:"toConvertedProjectId,omitempty"`
	// The previous project of the issue.
	FromProject *Project `json:"fromProject,omitempty"`
	// The id of previous project of the issue.
	FromProjectId *string `json:"fromProjectId,omitempty"`
	// The new project of the issue.
	ToProject *Project `json:"toProject,omitempty"`
	// The id of new project of the issue.
	ToProjectId *string `json:"toProjectId,omitempty"`
	// What the estimate was changed from.
	FromEstimate *float64 `json:"fromEstimate,omitempty"`
	// What the estimate was changed to.
	ToEstimate *float64 `json:"toEstimate,omitempty"`
	// Whether the issue is archived at the time of this history entry.
	Archived *bool `json:"archived,omitempty"`
	// Whether the issue was trashed or un-trashed.
	Trashed *bool `json:"trashed,omitempty"`
	// The import record.
	IssueImport *IssueImport `json:"issueImport,omitempty"`
	// The linked attachment.
	Attachment *Attachment `json:"attachment,omitempty"`
	// The id of linked attachment.
	AttachmentId *string `json:"attachmentId,omitempty"`
	// ID's of labels that were added.
	AddedLabelIds []string `json:"addedLabelIds,omitempty"`
	// ID's of labels that were removed.
	RemovedLabelIds []string `json:"removedLabelIds,omitempty"`
	// Changed issue relationships.
	RelationChanges []IssueRelationHistoryPayload `json:"relationChanges,omitempty"`
	// Whether the issue was auto-closed.
	AutoClosed *bool `json:"autoClosed,omitempty"`
	// Whether the issue was auto-archived.
	AutoArchived *bool `json:"autoArchived,omitempty"`
	// What the due date was changed from.
	FromDueDate *TimelessDate `json:"fromDueDate,omitempty"`
	// What the due date was changed to.
	ToDueDate *TimelessDate `json:"toDueDate,omitempty"`
	// [Internal] Serialized JSON representing changes for certain non-relational properties.
	Changes *JSONObject `json:"changes,omitempty"`
	// The bot that performed the action.
	BotActor      *ActorBot    `json:"botActor,omitempty"`
	AddedLabels   []IssueLabel `json:"addedLabels,omitempty"`
	RemovedLabels []IssueLabel `json:"removedLabels,omitempty"`
}

A record of changes to an issue.

type IssueHistoryConnection

type IssueHistoryConnection struct {
	Edges    []IssueHistoryEdge `json:"edges"`
	Nodes    []IssueHistory     `json:"nodes"`
	PageInfo *PageInfo          `json:"pageInfo"`
}

type IssueHistoryEdge

type IssueHistoryEdge struct {
	Node *IssueHistory `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IssueImport

type IssueImport struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// New team's name in cases when teamId not set.
	TeamName *string `json:"teamName,omitempty"`
	// The id for the user that started the job.
	CreatorId string `json:"creatorId"`
	// The service from which data will be imported.
	Service string `json:"service"`
	// The status for the import job.
	Status string `json:"status"`
	// The data mapping configuration for the import job.
	Mapping *JSONObject `json:"mapping,omitempty"`
	// User readable error message, if one has occurred during the import.
	Error *string `json:"error,omitempty"`
	// Current step progress in % (0-100).
	Progress *float64 `json:"progress,omitempty"`
	// File URL for the uploaded CSV for the import, if there is one.
	CsvFileUrl *string `json:"csvFileUrl,omitempty"`
	// Error code and metadata, if one has occurred during the import.
	ErrorMetadata *JSONObject `json:"errorMetadata,omitempty"`
}

An import job for data from an external service.

type IssueImportCheckPayload

type IssueImportCheckPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueImportDeletePayload

type IssueImportDeletePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The import job that was deleted.
	IssueImport *IssueImport `json:"issueImport,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueImportMappingInput

type IssueImportMappingInput struct {
	// The mapping configuration for users.
	Users *JSONObject `json:"users,omitempty"`
	// The mapping configuration for workflow states.
	WorkflowStates *JSONObject `json:"workflowStates,omitempty"`
	// The mapping configuration for epics.
	Epics *JSONObject `json:"epics,omitempty"`
}

Issue import mapping input.

type IssueImportPayload

type IssueImportPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The import job that was created or updated.
	IssueImport *IssueImport `json:"issueImport,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueImportUpdateInput

type IssueImportUpdateInput struct {
	// The mapping configuration for the import.
	Mapping JSONObject `json:"mapping"`
}

type IssueLabel

type IssueLabel struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The label's name.
	Name string `json:"name"`
	// The label's description.
	Description *string `json:"description,omitempty"`
	// The label's color as a HEX string.
	Color        string        `json:"color"`
	Organization *Organization `json:"organization"`
	// The team that the label is associated with. If null, the label is associated with the global workspace.
	Team *Team `json:"team,omitempty"`
	// The user who created the label.
	Creator *User `json:"creator,omitempty"`
	// The parent label.
	Parent *IssueLabel `json:"parent,omitempty"`
	// Whether this label is considered to be a group.
	IsGroup bool `json:"isGroup"`
	// Issues associated with the label.
	Issues *IssueConnection `json:"issues"`
	// Children of the label.
	Children *IssueLabelConnection `json:"children"`
}

Labels that can be associated with issues.

type IssueLabelCollectionFilter

type IssueLabelCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the name.
	Name *StringComparator `json:"name,omitempty"`
	// Filters that the issue labels creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Filters that the issue labels team must satisfy.
	Team *NullableTeamFilter `json:"team,omitempty"`
	// Filters that the issue label's parent label must satisfy.
	Parent *IssueLabelFilter `json:"parent,omitempty"`
	// Compound filters, all of which need to be matched by the label.
	And []IssueLabelCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the label.
	Or []IssueLabelCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some issue labels.
	Some *IssueLabelFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all issue labels.
	Every *IssueLabelFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Issue label filtering options.

type IssueLabelConnection

type IssueLabelConnection struct {
	Edges    []IssueLabelEdge `json:"edges"`
	Nodes    []IssueLabel     `json:"nodes"`
	PageInfo *PageInfo        `json:"pageInfo"`
}

type IssueLabelCreateInput

type IssueLabelCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the label.
	Name string `json:"name"`
	// The description of the label.
	Description *string `json:"description,omitempty"`
	// The color of the label.
	Color *string `json:"color,omitempty"`
	// The identifier of the parent label.
	ParentId *string `json:"parentId,omitempty"`
	// The team associated with the label. If not given, the label will be associated with the entire workspace.
	TeamId *string `json:"teamId,omitempty"`
}

type IssueLabelEdge

type IssueLabelEdge struct {
	Node *IssueLabel `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IssueLabelFilter

type IssueLabelFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the name.
	Name *StringComparator `json:"name,omitempty"`
	// Filters that the issue labels creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Filters that the issue labels team must satisfy.
	Team *NullableTeamFilter `json:"team,omitempty"`
	// Filters that the issue label's parent label must satisfy.
	Parent *IssueLabelFilter `json:"parent,omitempty"`
	// Compound filters, all of which need to be matched by the label.
	And []IssueLabelFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the label.
	Or []IssueLabelFilter `json:"or,omitempty"`
}

Issue label filtering options.

type IssueLabelPayload

type IssueLabelPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The label that was created or updated.
	IssueLabel *IssueLabel `json:"issueLabel"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueLabelUpdateInput

type IssueLabelUpdateInput struct {
	// The name of the label.
	Name *string `json:"name,omitempty"`
	// The description of the label.
	Description *string `json:"description,omitempty"`
	// The identifier of the parent label.
	ParentId *string `json:"parentId,omitempty"`
	// The color of the label.
	Color *string `json:"color,omitempty"`
}

type IssueNotification

type IssueNotification struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Notification type.
	Type string `json:"type"`
	// The user that caused the notification.
	Actor *User `json:"actor,omitempty"`
	// The external user that caused the notification.
	ExternalUserActor *ExternalUser `json:"externalUserActor,omitempty"`
	// The user that received the notification.
	User *User `json:"user"`
	// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
	ReadAt *DateTime `json:"readAt,omitempty"`
	// The time at when an email reminder for this notification was sent to the user. Null, if no email
	//     reminder has been sent.
	EmailedAt *DateTime `json:"emailedAt,omitempty"`
	// The time until a notification will be snoozed. After that it will appear in the inbox again.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The time at which a notification was unsnoozed..
	UnsnoozedAt *DateTime `json:"unsnoozedAt,omitempty"`
	// The bot that caused the notification.
	BotActor *ActorBot `json:"botActor,omitempty"`
	// Name of the reaction emoji related to the notification.
	ReactionEmoji *string `json:"reactionEmoji,omitempty"`
	// The issue related to the notification.
	Issue *Issue `json:"issue"`
	// The comment related to the notification.
	Comment *Comment `json:"comment,omitempty"`
	// The team related to the issue notification.
	Team *Team `json:"team"`
	// The subscriptions related to the notification.
	Subscriptions []NotificationSubscription `json:"subscriptions,omitempty"`
}

An issue related notification.

type IssuePayload

type IssuePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The issue that was created or updated.
	Issue *Issue `json:"issue,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssuePriorityValue

type IssuePriorityValue struct {
	// Priority's number value.
	Priority int32 `json:"priority"`
	// Priority's label.
	Label string `json:"label"`
}

type IssueRelation

type IssueRelation struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The relationship of the issue with the related issue.
	Type string `json:"type"`
	// The issue whose relationship is being described.
	Issue *Issue `json:"issue"`
	// The related issue.
	RelatedIssue *Issue `json:"relatedIssue"`
}

A relation between two issues.

type IssueRelationConnection

type IssueRelationConnection struct {
	Edges    []IssueRelationEdge `json:"edges"`
	Nodes    []IssueRelation     `json:"nodes"`
	PageInfo *PageInfo           `json:"pageInfo"`
}

type IssueRelationCreateInput

type IssueRelationCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The type of relation of the issue to the related issue.
	Type IssueRelationType `json:"type"`
	// The identifier of the issue that is related to another issue.
	IssueId string `json:"issueId"`
	// The identifier of the related issue.
	RelatedIssueId string `json:"relatedIssueId"`
}

type IssueRelationEdge

type IssueRelationEdge struct {
	Node *IssueRelation `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IssueRelationHistoryPayload

type IssueRelationHistoryPayload struct {
	// The identifier of the related issue.
	Identifier string `json:"identifier"`
	// The type of the change.
	Type string `json:"type"`
}

Issue relation history's payload.

type IssueRelationPayload

type IssueRelationPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The issue relation that was created or updated.
	IssueRelation *IssueRelation `json:"issueRelation"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type IssueRelationType

type IssueRelationType string

The type of the issue relation.

const (
	IssueRelationTypeBlocks    IssueRelationType = "blocks"
	IssueRelationTypeDuplicate IssueRelationType = "duplicate"
	IssueRelationTypeRelated   IssueRelationType = "related"
)

type IssueRelationUpdateInput

type IssueRelationUpdateInput struct {
	// The type of relation of the issue to the related issue.
	Type *string `json:"type,omitempty"`
	// The identifier of the issue that is related to another issue.
	IssueId *string `json:"issueId,omitempty"`
	// The identifier of the related issue.
	RelatedIssueId *string `json:"relatedIssueId,omitempty"`
}

type IssueSearchPayload

type IssueSearchPayload struct {
	Edges    []IssueSearchResultEdge `json:"edges"`
	Nodes    []IssueSearchResult     `json:"nodes"`
	PageInfo *PageInfo               `json:"pageInfo"`
	// Archived entities matching the search term along with all their dependencies.
	ArchivePayload *ArchiveResponse `json:"archivePayload"`
	// Total number of results for query without filters applied.
	TotalCount float64 `json:"totalCount"`
}

type IssueSearchResult

type IssueSearchResult struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The issue's unique number.
	Number float64 `json:"number"`
	// The issue's title.
	Title string `json:"title"`
	// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
	Priority float64 `json:"priority"`
	// The estimate of the complexity of the issue..
	Estimate *float64 `json:"estimate,omitempty"`
	// The order of the item in its column on the board.
	BoardOrder float64 `json:"boardOrder"`
	// The order of the item in relation to other items in the organization.
	SortOrder float64 `json:"sortOrder"`
	// The time at which the issue was moved into started state.
	StartedAt *DateTime `json:"startedAt,omitempty"`
	// The time at which the issue was moved into completed state.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The time at which the issue entered triage.
	StartedTriageAt *DateTime `json:"startedTriageAt,omitempty"`
	// The time at which the issue left triage.
	TriagedAt *DateTime `json:"triagedAt,omitempty"`
	// The time at which the issue was moved into canceled state.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// The time at which the issue was automatically closed by the auto pruning process.
	AutoClosedAt *DateTime `json:"autoClosedAt,omitempty"`
	// The time at which the issue was automatically archived by the auto pruning process.
	AutoArchivedAt *DateTime `json:"autoArchivedAt,omitempty"`
	// The date at which the issue is due.
	DueDate *TimelessDate `json:"dueDate,omitempty"`
	// [Internal] The time at which the issue's SLA began.
	SlaStartedAt *DateTime `json:"slaStartedAt,omitempty"`
	// [Internal] The time at which the issue's SLA will breach.
	SlaBreachesAt *DateTime `json:"slaBreachesAt,omitempty"`
	// A flag that indicates whether the issue is in the trash bin.
	Trashed *bool `json:"trashed,omitempty"`
	// The time until an issue will be snoozed in Triage view.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// Id of the labels associated with this issue.
	LabelIds []string `json:"labelIds"`
	// The team that the issue is associated with.
	Team *Team `json:"team"`
	// The cycle that the issue is associated with.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The project that the issue is associated with.
	Project *Project `json:"project,omitempty"`
	// The projectMilestone that the issue is associated with.
	ProjectMilestone *ProjectMilestone `json:"projectMilestone,omitempty"`
	// The last template that was applied to this issue.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// Previous identifiers of the issue if it has been moved between teams.
	PreviousIdentifiers []string `json:"previousIdentifiers"`
	// The user who created the issue.
	Creator *User `json:"creator,omitempty"`
	// The external user who created the issue.
	ExternalUserCreator *ExternalUser `json:"externalUserCreator,omitempty"`
	// The user to whom the issue is assigned to.
	Assignee *User `json:"assignee,omitempty"`
	// The user who snoozed the issue.
	SnoozedBy *User `json:"snoozedBy,omitempty"`
	// The workflow state that the issue is associated with.
	State *WorkflowState `json:"state"`
	// The order of the item in the sub-issue list. Only set if the issue has a parent.
	SubIssueSortOrder *float64 `json:"subIssueSortOrder,omitempty"`
	// Label for the priority.
	PriorityLabel string `json:"priorityLabel"`
	// The comment that this issue was created from.
	SourceComment *Comment `json:"sourceComment,omitempty"`
	// Integration type that created this issue, if applicable.
	IntegrationSourceType *IntegrationService `json:"integrationSourceType,omitempty"`
	// The bot that created the issue, if applicable.
	BotActor *ActorBot `json:"botActor,omitempty"`
	// The users favorite associated with this issue.
	Favorite *Favorite `json:"favorite,omitempty"`
	// Issue's human readable identifier (e.g. ENG-123).
	Identifier string `json:"identifier"`
	// Issue URL.
	Url string `json:"url"`
	// Suggested branch name for the issue.
	BranchName string `json:"branchName"`
	// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
	CustomerTicketCount int32 `json:"customerTicketCount"`
	// Users who are subscribed to the issue.
	Subscribers *UserConnection `json:"subscribers"`
	// The parent of the issue.
	Parent *Issue `json:"parent,omitempty"`
	// Children of the issue.
	Children *IssueConnection `json:"children"`
	// Comments associated with the issue.
	Comments *CommentConnection `json:"comments"`
	// History entries associated with the issue.
	History *IssueHistoryConnection `json:"history"`
	// Labels associated with this issue.
	Labels *IssueLabelConnection `json:"labels"`
	// Relations associated with this issue.
	Relations *IssueRelationConnection `json:"relations"`
	// Inverse relations associated with this issue.
	InverseRelations *IssueRelationConnection `json:"inverseRelations"`
	// Attachments associated with the issue.
	Attachments *AttachmentConnection `json:"attachments"`
	// The issue's description in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The issue's description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// [Internal] The issue's description content as YJS state.
	DescriptionState *string `json:"descriptionState,omitempty"`
	// Metadata related to search result.
	Metadata JSONObject `json:"metadata"`
}

type IssueSearchResultConnection

type IssueSearchResultConnection struct {
	Edges    []IssueSearchResultEdge `json:"edges"`
	Nodes    []IssueSearchResult     `json:"nodes"`
	PageInfo *PageInfo               `json:"pageInfo"`
}

type IssueSearchResultEdge

type IssueSearchResultEdge struct {
	Node *IssueSearchResult `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type IssueSortInput

type IssueSortInput struct {
	// Sort by priority
	Priority *PrioritySort `json:"priority,omitempty"`
	// Sort by estimate
	Estimate *EstimateSort `json:"estimate,omitempty"`
	// Sort by issue title
	Title *TitleSort `json:"title,omitempty"`
	// Sort by label
	Label *LabelSort `json:"label,omitempty"`
	// Sort by SLA status
	SlaStatus *SlaStatusSort `json:"slaStatus,omitempty"`
	// Sort by issue creation date
	CreatedAt *CreatedAtSort `json:"createdAt,omitempty"`
	// Sort by issue update date
	UpdatedAt *UpdatedAtSort `json:"updatedAt,omitempty"`
	// Sort by issue completion date
	CompletedAt *CompletedAtSort `json:"completedAt,omitempty"`
	// Sort by issue due date
	DueDate *DueDateSort `json:"dueDate,omitempty"`
	// Sort by Cycle start date
	Cycle *CycleSort `json:"cycle,omitempty"`
	// Sort by Project Milestone target date
	Milestone *MilestoneSort `json:"milestone,omitempty"`
	// Sort by assignee name
	Assignee *AssigneeSort `json:"assignee,omitempty"`
	// Sort by Project name
	Project *ProjectSort `json:"project,omitempty"`
	// Sort by Team name
	Team *TeamSort `json:"team,omitempty"`
	// Sort by manual order
	Manual *ManualSort `json:"manual,omitempty"`
	// Sort by workflow state type
	WorkflowState *WorkflowStateSort `json:"workflowState,omitempty"`
}

Issue filtering options.

type IssueUpdateInput

type IssueUpdateInput struct {
	// The issue title.
	Title *string `json:"title,omitempty"`
	// The issue description in markdown format.
	Description *string `json:"description,omitempty"`
	// The issue description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// The identifier of the user to assign the issue to.
	AssigneeId *string `json:"assigneeId,omitempty"`
	// The identifier of the parent issue.
	ParentId *string `json:"parentId,omitempty"`
	// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
	Priority *int32 `json:"priority,omitempty"`
	// The estimated complexity of the issue.
	Estimate *int32 `json:"estimate,omitempty"`
	// The identifiers of the users subscribing to this ticket.
	SubscriberIds []string `json:"subscriberIds,omitempty"`
	// The identifiers of the issue labels associated with this ticket.
	LabelIds []string `json:"labelIds,omitempty"`
	// The identifier or key of the team associated with the issue.
	TeamId *string `json:"teamId,omitempty"`
	// The cycle associated with the issue.
	CycleId *string `json:"cycleId,omitempty"`
	// The project associated with the issue.
	ProjectId *string `json:"projectId,omitempty"`
	// The project milestone associated with the issue.
	ProjectMilestoneId *string `json:"projectMilestoneId,omitempty"`
	// The ID of the last template applied to the issue.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The team state of the issue.
	StateId *string `json:"stateId,omitempty"`
	// The position of the issue in its column on the board view.
	BoardOrder *float64 `json:"boardOrder,omitempty"`
	// The position of the issue related to other issues.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The position of the issue in parent's sub-issue list.
	SubIssueSortOrder *float64 `json:"subIssueSortOrder,omitempty"`
	// The date at which the issue is due.
	DueDate *TimelessDate `json:"dueDate,omitempty"`
	// Whether the issue has been trashed.
	Trashed *bool `json:"trashed,omitempty"`
	// [Internal] The timestamp at which an issue will be considered in breach of SLA.
	SlaBreachesAt *DateTime `json:"slaBreachesAt,omitempty"`
	// The time until an issue will be snoozed in Triage view.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The identifier of the user who snoozed the issue.
	SnoozedById *string `json:"snoozedById,omitempty"`
	// The identifiers of the companies associated with this ticket.
	CompanyIds []string `json:"companyIds,omitempty"`
}

type JSON

type JSON string

The `JSON` scalar type represents arbitrary values as *stringified* JSON

type JSONObject

type JSONObject string

The `JSONObject` scalar type represents arbitrary values as *embedded* JSON

type JiraConfigurationInput

type JiraConfigurationInput struct {
	// The Jira personal access token.
	AccessToken string `json:"accessToken"`
	// The Jira user's email address.
	Email string `json:"email"`
	// The Jira installation hostname.
	Hostname string `json:"hostname"`
	// The Jira project keys to scope the integration to.
	Project *string `json:"project,omitempty"`
}

type JiraLinearMapping

type JiraLinearMapping struct {
	// The Jira id for this project.
	JiraProjectId string `json:"jiraProjectId"`
	// The Linear team id to map to the given project.
	LinearTeamId string `json:"linearTeamId"`
	// Whether the sync for this mapping is bidirectional.
	Bidirectional *bool `json:"bidirectional,omitempty"`
	// Whether this mapping is the default one for issue creation.
	Default *bool `json:"default,omitempty"`
}

Tuple for mapping Jira projects to Linear teams.

type JiraLinearMappingInput

type JiraLinearMappingInput struct {
	// The Jira id for this project.
	JiraProjectId string `json:"jiraProjectId"`
	// The Linear team id to map to the given project.
	LinearTeamId string `json:"linearTeamId"`
	// Whether the sync for this mapping is bidirectional.
	Bidirectional *bool `json:"bidirectional,omitempty"`
	// Whether this mapping is the default one for issue creation.
	Default *bool `json:"default,omitempty"`
}

type JiraPersonalSettings

type JiraPersonalSettings struct {
	// The name of the Jira site currently authorized through the integration.
	SiteName *string `json:"siteName,omitempty"`
}

Jira personal specific settings.

type JiraPersonalSettingsInput

type JiraPersonalSettingsInput struct {
	// The name of the Jira site currently authorized through the integration.
	SiteName *string `json:"siteName,omitempty"`
}

type JiraProjectData

type JiraProjectData struct {
	// The Jira id for this project.
	Id string `json:"id"`
	// The Jira key for this project, such as ENG.
	Key string `json:"key"`
	// The Jira name for this project, such as Engineering.
	Name string `json:"name"`
}

Metadata about a Jira project.

type JiraProjectDataInput

type JiraProjectDataInput struct {
	// The Jira id for this project.
	Id string `json:"id"`
	// The Jira key for this project, such as ENG.
	Key string `json:"key"`
	// The Jira name for this project, such as Engineering.
	Name string `json:"name"`
}

type JiraSettings

type JiraSettings struct {
	// The mapping of Jira project id => Linear team id.
	ProjectMapping []JiraLinearMapping `json:"projectMapping,omitempty"`
	// The Jira projects for the organization.
	Projects []JiraProjectData `json:"projects"`
	// Whether this integration is for Jira Server or not.
	IsJiraServer *bool `json:"isJiraServer,omitempty"`
}

Jira specific settings.

type JiraSettingsInput

type JiraSettingsInput struct {
	// The mapping of Jira project id => Linear team id.
	ProjectMapping []JiraLinearMappingInput `json:"projectMapping,omitempty"`
	// The Jira projects for the organization.
	Projects []JiraProjectDataInput `json:"projects"`
	// Whether this integration is for Jira Server or not.
	IsJiraServer *bool `json:"isJiraServer,omitempty"`
}

type JiraUpdateInput

type JiraUpdateInput struct {
	// The id of the integration to update.
	Id string `json:"id"`
	// Whether to refresh Jira Projects for the integration.
	UpdateProjects *bool `json:"updateProjects,omitempty"`
	// Whether to refresh Jira metadata for the integration.
	UpdateMetadata *bool `json:"updateMetadata,omitempty"`
}

type JoinOrganizationInput

type JoinOrganizationInput struct {
	// The identifier of the organization.
	OrganizationId string `json:"organizationId"`
	// An optional invite link for an organization.
	InviteLink *string `json:"inviteLink,omitempty"`
}

type LabelNotificationSubscription

type LabelNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The label subscribed to.
	Label *IssueLabel `json:"label"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A label notification subscription.

type LabelSort

type LabelSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue sorting options.

type LogoutResponse

type LogoutResponse struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ManualSort

type ManualSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue manual sorting options.

type MilestoneSort

type MilestoneSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue project milestone options.

type Node

type Node struct {
	// The unique identifier of the entity.
	Id string `json:"id"`

	// Underlying value of the GraphQL interface
	Value NodeValue `json:"-"`
}

func (*Node) UnmarshalJSON

func (base *Node) UnmarshalJSON(b []byte) error

type NodeValue

type NodeValue interface {
	// contains filtered or unexported methods
}

NodeValue is one of: ApiKey | User | Attachment | AuditEntry | ProjectUpdate | Project | Reaction | Comment | Company | CustomView | Issue | Cycle | Document | DocumentContentHistory | DocumentContent | EmailIntakeAddress | Emoji | IntegrationTemplate | Integration | ExternalUser | Template | Organization | InitiativeToProject | RoadmapToProject | Roadmap | Initiative | Facet | Favorite | GitAutomationTargetBranch | GitAutomationState | IntegrationsSettings | IssueLabel | IssueDraft | IssueHistory | IssueImport | IssueRelation | OauthClientApproval | Entity | OauthClient | OrganizationDomain | OrganizationInvite | ProjectMilestone | ProjectLink | ProjectStatus | ProjectUpdateInteraction | PushSubscription | PaidSubscription | Team | TeamMembership | TimeSchedule | TriageResponsibility | UserSettings | ViewPreferences | Webhook | WorkflowCronJobDefinition | WorkflowDefinition | WorkflowState | IssueSearchResult | DocumentSearchResult | ProjectSearchResult | Notification | NotificationSubscription | IssueNotification | ProjectNotification | OauthClientApprovalNotification | CustomViewNotificationSubscription | CycleNotificationSubscription | LabelNotificationSubscription | ProjectNotificationSubscription | TeamNotificationSubscription | UserNotificationSubscription

type Notification

type Notification struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Notification type.
	Type string `json:"type"`
	// The user that caused the notification.
	Actor *User `json:"actor,omitempty"`
	// The external user that caused the notification.
	ExternalUserActor *ExternalUser `json:"externalUserActor,omitempty"`
	// The user that received the notification.
	User *User `json:"user"`
	// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
	ReadAt *DateTime `json:"readAt,omitempty"`
	// The time at when an email reminder for this notification was sent to the user. Null, if no email
	//     reminder has been sent.
	EmailedAt *DateTime `json:"emailedAt,omitempty"`
	// The time until a notification will be snoozed. After that it will appear in the inbox again.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The time at which a notification was unsnoozed..
	UnsnoozedAt *DateTime `json:"unsnoozedAt,omitempty"`
	// The bot that caused the notification.
	BotActor *ActorBot `json:"botActor,omitempty"`

	// Underlying value of the GraphQL interface
	Value NotificationValue `json:"-"`
}

A notification sent to a user.

func (*Notification) UnmarshalJSON

func (base *Notification) UnmarshalJSON(b []byte) error

type NotificationArchivePayload

type NotificationArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Notification `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type NotificationBatchActionPayload

type NotificationBatchActionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The notifications that were updated.
	Notifications []Notification `json:"notifications"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type NotificationConnection

type NotificationConnection struct {
	Edges    []NotificationEdge `json:"edges"`
	Nodes    []Notification     `json:"nodes"`
	PageInfo *PageInfo          `json:"pageInfo"`
}

type NotificationEdge

type NotificationEdge struct {
	Node *Notification `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type NotificationEntityInput

type NotificationEntityInput struct {
	// The id of the issue related to the notification.
	IssueId *string `json:"issueId,omitempty"`
	// The id of the project related to the notification.
	ProjectId *string `json:"projectId,omitempty"`
	// The id of the project update related to the notification.
	ProjectUpdateId *string `json:"projectUpdateId,omitempty"`
	// The id of the OAuth client approval related to the notification.
	OauthClientApprovalId *string `json:"oauthClientApprovalId,omitempty"`
}

Describes the type and id of the entity to target for notifications.

type NotificationPayload

type NotificationPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The notification that was created or updated.
	Notification *Notification `json:"notification"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type NotificationSubscription

type NotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`

	// Underlying value of the GraphQL interface
	Value NotificationSubscriptionValue `json:"-"`
}

Notification subscriptions for models.

func (*NotificationSubscription) UnmarshalJSON

func (base *NotificationSubscription) UnmarshalJSON(b []byte) error

type NotificationSubscriptionConnection

type NotificationSubscriptionConnection struct {
	Edges    []NotificationSubscriptionEdge `json:"edges"`
	Nodes    []NotificationSubscription     `json:"nodes"`
	PageInfo *PageInfo                      `json:"pageInfo"`
}

type NotificationSubscriptionCreateInput

type NotificationSubscriptionCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the custom view to subscribe to.
	CustomViewId *string `json:"customViewId,omitempty"`
	// The identifier of the cycle to subscribe to.
	CycleId *string `json:"cycleId,omitempty"`
	// The identifier of the label to subscribe to.
	LabelId *string `json:"labelId,omitempty"`
	// The identifier of the project to subscribe to.
	ProjectId *string `json:"projectId,omitempty"`
	// The identifier of the team to subscribe to.
	TeamId *string `json:"teamId,omitempty"`
	// The identifier of the user to subscribe to.
	UserId *string `json:"userId,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// The types of notifications of the subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes,omitempty"`
	// Whether the subscription is active.
	Active *bool `json:"active,omitempty"`
}

type NotificationSubscriptionEdge

type NotificationSubscriptionEdge struct {
	Node *NotificationSubscription `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type NotificationSubscriptionPayload

type NotificationSubscriptionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The notification subscription that was created or updated.
	NotificationSubscription *NotificationSubscription `json:"notificationSubscription"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type NotificationSubscriptionUpdateInput

type NotificationSubscriptionUpdateInput struct {
	// The types of notifications of the subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes,omitempty"`
	// Whether the subscription is active.
	Active *bool `json:"active,omitempty"`
}

type NotificationSubscriptionValue

type NotificationSubscriptionValue interface {
	// contains filtered or unexported methods
}

NotificationSubscriptionValue is one of: CustomViewNotificationSubscription | CycleNotificationSubscription | LabelNotificationSubscription | ProjectNotificationSubscription | TeamNotificationSubscription | UserNotificationSubscription

type NotificationUpdateInput

type NotificationUpdateInput struct {
	// The time when notification was marked as read.
	ReadAt *DateTime `json:"readAt,omitempty"`
	// The time until a notification will be snoozed. After that it will appear in the inbox again.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The id of the project update related to the notification.
	ProjectUpdateId *string `json:"projectUpdateId,omitempty"`
}

type NotificationValue

type NotificationValue interface {
	// contains filtered or unexported methods
}

NotificationValue is one of: IssueNotification | ProjectNotification | OauthClientApprovalNotification

type NotionSettings

type NotionSettings struct {
	// The ID of the Notion workspace being connected.
	WorkspaceId string `json:"workspaceId"`
	// The name of the Notion workspace being connected.
	WorkspaceName string `json:"workspaceName"`
}

Notion specific settings.

type NotionSettingsInput

type NotionSettingsInput struct {
	// The ID of the Notion workspace being connected.
	WorkspaceId string `json:"workspaceId"`
	// The name of the Notion workspace being connected.
	WorkspaceName string `json:"workspaceName"`
}

type NullableCycleFilter

type NullableCycleFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the cycle number.
	Number *NumberComparator `json:"number,omitempty"`
	// Comparator for the cycle name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the cycle start date.
	StartsAt *DateComparator `json:"startsAt,omitempty"`
	// Comparator for the cycle ends at date.
	EndsAt *DateComparator `json:"endsAt,omitempty"`
	// Comparator for the cycle completed at date.
	CompletedAt *DateComparator `json:"completedAt,omitempty"`
	// Comparator for the filtering active cycle.
	IsActive *BooleanComparator `json:"isActive,omitempty"`
	// Comparator for filtering for whether the cycle is currently in cooldown.
	IsInCooldown *BooleanComparator `json:"isInCooldown,omitempty"`
	// Comparator for the filtering next cycle.
	IsNext *BooleanComparator `json:"isNext,omitempty"`
	// Comparator for the filtering previous cycle.
	IsPrevious *BooleanComparator `json:"isPrevious,omitempty"`
	// Comparator for the filtering future cycles.
	IsFuture *BooleanComparator `json:"isFuture,omitempty"`
	// Comparator for the filtering past cycles.
	IsPast *BooleanComparator `json:"isPast,omitempty"`
	// Filters that the cycles team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the cycles issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, one of which need to be matched by the cycle.
	And []NullableCycleFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the cycle.
	Or []NullableCycleFilter `json:"or,omitempty"`
}

Cycle filtering options.

type NullableDateComparator

type NullableDateComparator struct {
	// Equals constraint.
	Eq *DateTime `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *DateTime `json:"neq,omitempty"`
	// In-array constraint.
	In []DateTime `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []DateTime `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *DateTime `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *DateTime `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *DateTime `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *DateTime `json:"gte,omitempty"`
}

Comparator for optional dates.

type NullableDocumentContentFilter

type NullableDocumentContentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Filters that the document content project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Filters that the document content document must satisfy.
	Document *DocumentFilter `json:"document,omitempty"`
}

Document content filtering options.

type NullableDocumentFilter

type NullableDocumentFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the document title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the document slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the document's creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the document's project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the document.
	And []NullableDocumentFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the document.
	Or []NullableDocumentFilter `json:"or,omitempty"`
}

Document filtering options.

type NullableIssueFilter

type NullableIssueFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the issues number.
	Number *NumberComparator `json:"number,omitempty"`
	// Comparator for the issues title.
	Title *StringComparator `json:"title,omitempty"`
	// Comparator for the issues description.
	Description *NullableStringComparator `json:"description,omitempty"`
	// Comparator for the issues priority.
	Priority *NullableNumberComparator `json:"priority,omitempty"`
	// Comparator for the issues estimate.
	Estimate *EstimateComparator `json:"estimate,omitempty"`
	// Comparator for the issues started at date.
	StartedAt *NullableDateComparator `json:"startedAt,omitempty"`
	// Comparator for the issues triaged at date.
	TriagedAt *NullableDateComparator `json:"triagedAt,omitempty"`
	// Comparator for the issues completed at date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the issues canceled at date.
	CanceledAt *NullableDateComparator `json:"canceledAt,omitempty"`
	// Comparator for the issues auto closed at date.
	AutoClosedAt *NullableDateComparator `json:"autoClosedAt,omitempty"`
	// Comparator for the issues auto archived at date.
	AutoArchivedAt *NullableDateComparator `json:"autoArchivedAt,omitempty"`
	// Comparator for the issues due date.
	DueDate *NullableTimelessDateComparator `json:"dueDate,omitempty"`
	// Comparator for the issues snoozed until date.
	SnoozedUntilAt *NullableDateComparator `json:"snoozedUntilAt,omitempty"`
	// Filters that the issues assignee must satisfy.
	Assignee *NullableUserFilter `json:"assignee,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Filters that the source must satisfy.
	SourceMetadata *SourceMetadataComparator `json:"sourceMetadata,omitempty"`
	// Filters that the issues creator must satisfy.
	Creator *NullableUserFilter `json:"creator,omitempty"`
	// Filters that the issue parent must satisfy.
	Parent *NullableIssueFilter `json:"parent,omitempty"`
	// Filters that the issues snoozer must satisfy.
	SnoozedBy *NullableUserFilter `json:"snoozedBy,omitempty"`
	// Filters that issue labels must satisfy.
	Labels *IssueLabelCollectionFilter `json:"labels,omitempty"`
	// Filters that issue subscribers must satisfy.
	Subscribers *UserCollectionFilter `json:"subscribers,omitempty"`
	// Filters that the issues team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the issues project milestone must satisfy.
	ProjectMilestone *NullableProjectMilestoneFilter `json:"projectMilestone,omitempty"`
	// Filters that the issues comments must satisfy.
	Comments *CommentCollectionFilter `json:"comments,omitempty"`
	// Filters that the issues cycle must satisfy.
	Cycle *NullableCycleFilter `json:"cycle,omitempty"`
	// Filters that the issues project must satisfy.
	Project *NullableProjectFilter `json:"project,omitempty"`
	// Filters that the issues state must satisfy.
	State *WorkflowStateFilter `json:"state,omitempty"`
	// Filters that the child issues must satisfy.
	Children *IssueCollectionFilter `json:"children,omitempty"`
	// Filters that the issues attachments must satisfy.
	Attachments *AttachmentCollectionFilter `json:"attachments,omitempty"`
	// [Internal] Comparator for the issues content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for filtering issues with relations.
	HasRelatedRelations *RelationExistsComparator `json:"hasRelatedRelations,omitempty"`
	// Comparator for filtering issues which are duplicates.
	HasDuplicateRelations *RelationExistsComparator `json:"hasDuplicateRelations,omitempty"`
	// Comparator for filtering issues which are blocked.
	HasBlockedByRelations *RelationExistsComparator `json:"hasBlockedByRelations,omitempty"`
	// Comparator for filtering issues which are blocking.
	HasBlockingRelations *RelationExistsComparator `json:"hasBlockingRelations,omitempty"`
	// Comparator for the issues sla status.
	SlaStatus *SlaStatusComparator `json:"slaStatus,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the issue.
	And []NullableIssueFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the issue.
	Or []NullableIssueFilter `json:"or,omitempty"`
}

Issue filtering options.

type NullableNumberComparator

type NullableNumberComparator struct {
	// Equals constraint.
	Eq *float64 `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *float64 `json:"neq,omitempty"`
	// In-array constraint.
	In []float64 `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []float64 `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *float64 `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *float64 `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *float64 `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *float64 `json:"gte,omitempty"`
}

Comparator for optional numbers.

type NullableProjectFilter

type NullableProjectFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// [DEPRECATED] Comparator for the project state.
	State *StringComparator `json:"state,omitempty"`
	// Filters that the project's status must satisfy.
	Status *ProjectStatusFilter `json:"status,omitempty"`
	// [Internal] Comparator for the project's content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for the project completion date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the project start date.
	StartDate *NullableDateComparator `json:"startDate,omitempty"`
	// Comparator for the project target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Comparator for the project health.
	Health *StringComparator `json:"health,omitempty"`
	// Filters that the projects creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the projects lead must satisfy.
	Lead *NullableUserFilter `json:"lead,omitempty"`
	// Filters that the projects members must satisfy.
	Members *UserFilter `json:"members,omitempty"`
	// Filters that the projects issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Filters that the projects roadmaps must satisfy.
	Roadmaps *RoadmapCollectionFilter `json:"roadmaps,omitempty"`
	// Filters that the projects initiatives must satisfy.
	Initiatives *InitiativeCollectionFilter `json:"initiatives,omitempty"`
	// Filters that the project's milestones must satisfy.
	ProjectMilestones *ProjectMilestoneCollectionFilter `json:"projectMilestones,omitempty"`
	// Filters that the project's completed milestones must satisfy.
	CompletedProjectMilestones *ProjectMilestoneCollectionFilter `json:"completedProjectMilestones,omitempty"`
	// Filters that the project's next milestone must satisfy.
	NextProjectMilestone *ProjectMilestoneFilter `json:"nextProjectMilestone,omitempty"`
	// Filters that the project's team must satisfy.
	AccessibleTeams *TeamCollectionFilter `json:"accessibleTeams,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the project.
	And []NullableProjectFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the project.
	Or []NullableProjectFilter `json:"or,omitempty"`
}

Project filtering options.

type NullableProjectMilestoneFilter

type NullableProjectMilestoneFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project milestone name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project milestone target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the project milestone.
	And []NullableProjectMilestoneFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the project milestone.
	Or []NullableProjectMilestoneFilter `json:"or,omitempty"`
}

Project milestone filtering options.

type NullableStringComparator

type NullableStringComparator struct {
	// Equals constraint.
	Eq *string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Equals case insensitive. Matches any values that matches the given string case insensitive.
	EqIgnoreCase *string `json:"eqIgnoreCase,omitempty"`
	// Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
	NeqIgnoreCase *string `json:"neqIgnoreCase,omitempty"`
	// Starts with constraint. Matches any values that start with the given string.
	StartsWith *string `json:"startsWith,omitempty"`
	// Starts with case insensitive constraint. Matches any values that start with the given string.
	StartsWithIgnoreCase *string `json:"startsWithIgnoreCase,omitempty"`
	// Doesn't start with constraint. Matches any values that don't start with the given string.
	NotStartsWith *string `json:"notStartsWith,omitempty"`
	// Ends with constraint. Matches any values that end with the given string.
	EndsWith *string `json:"endsWith,omitempty"`
	// Doesn't end with constraint. Matches any values that don't end with the given string.
	NotEndsWith *string `json:"notEndsWith,omitempty"`
	// Contains constraint. Matches any values that contain the given string.
	Contains *string `json:"contains,omitempty"`
	// Contains case insensitive constraint. Matches any values that contain the given string case insensitive.
	ContainsIgnoreCase *string `json:"containsIgnoreCase,omitempty"`
	// Doesn't contain constraint. Matches any values that don't contain the given string.
	NotContains *string `json:"notContains,omitempty"`
	// Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive.
	NotContainsIgnoreCase *string `json:"notContainsIgnoreCase,omitempty"`
}

Comparator for optional strings.

type NullableTeamFilter

type NullableTeamFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the team name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the team key.
	Key *StringComparator `json:"key,omitempty"`
	// Comparator for the team description.
	Description *NullableStringComparator `json:"description,omitempty"`
	// Filters that the teams issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the team.
	And []NullableTeamFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the team.
	Or []NullableTeamFilter `json:"or,omitempty"`
}

Team filtering options.

type NullableTemplateFilter

type NullableTemplateFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the template's name.
	Name *StringComparator `json:"name,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the template.
	And []NullableTemplateFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the template.
	Or []NullableTemplateFilter `json:"or,omitempty"`
}

Template filtering options.

type NullableTimelessDateComparator

type NullableTimelessDateComparator struct {
	// Equals constraint.
	Eq *TimelessDate `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *TimelessDate `json:"neq,omitempty"`
	// In-array constraint.
	In []TimelessDate `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []TimelessDate `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *TimelessDate `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *TimelessDate `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *TimelessDate `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *TimelessDate `json:"gte,omitempty"`
}

type NullableUserFilter

type NullableUserFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the user's name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the user's display name.
	DisplayName *StringComparator `json:"displayName,omitempty"`
	// Comparator for the user's email.
	Email *StringComparator `json:"email,omitempty"`
	// Comparator for the user's activity status.
	Active *BooleanComparator `json:"active,omitempty"`
	// Filters that the users assigned issues must satisfy.
	AssignedIssues *IssueCollectionFilter `json:"assignedIssues,omitempty"`
	// Comparator for the user's admin status.
	Admin *BooleanComparator `json:"admin,omitempty"`
	// Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
	IsMe *BooleanComparator `json:"isMe,omitempty"`
	// Filter based on the existence of the relation.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the user.
	And []NullableUserFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the user.
	Or []NullableUserFilter `json:"or,omitempty"`
}

User filtering options.

type NumberComparator

type NumberComparator struct {
	// Equals constraint.
	Eq *float64 `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *float64 `json:"neq,omitempty"`
	// In-array constraint.
	In []float64 `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []float64 `json:"nin,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *float64 `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *float64 `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *float64 `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *float64 `json:"gte,omitempty"`
}

Comparator for numbers.

type OAuthClientApprovalStatus

type OAuthClientApprovalStatus string

The different requests statuses possible for an OAuth client approval request.

const (
	OAuthClientApprovalStatusRequested OAuthClientApprovalStatus = "requested"
	OAuthClientApprovalStatusApproved  OAuthClientApprovalStatus = "approved"
	OAuthClientApprovalStatusDenied    OAuthClientApprovalStatus = "denied"
)

type OauthClient

type OauthClient struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// OAuth application's client name.
	Name string `json:"name"`
	// Information about the application.
	Description *string `json:"description,omitempty"`
	// Name of the developer.
	Developer string `json:"developer"`
	// Url of the developer.
	DeveloperUrl string `json:"developerUrl"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// OAuth application's client secret.
	ClientSecret string `json:"clientSecret"`
	// List of allowed redirect URIs for the application.
	RedirectUris []string `json:"redirectUris"`
	// Whether the OAuth application can be installed in other organizations.
	PublicEnabled bool `json:"publicEnabled"`
	// The user who created the OAuth application.
	Creator *User `json:"creator"`
	// The organization that the OAuth application is associated with.
	Organization *Organization `json:"organization"`
	// The resource types to request when creating new webhooks.
	WebhookResourceTypes []string `json:"webhookResourceTypes"`
	// Webhook URL.
	WebhookUrl *string `json:"webhookUrl,omitempty"`
	// Webhook secret token for verifying the origin on the recipient side.
	WebhookSecret *string `json:"webhookSecret,omitempty"`
}

OAuth2 client application

type OauthClientApproval

type OauthClientApproval struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The uuid of the OAuth client being requested for installation.
	OauthClientId string `json:"oauthClientId"`
	// The person who requested installing the OAuth client.
	RequesterId string `json:"requesterId"`
	// The person who responded to the request to install the OAuth client.
	ResponderId *string `json:"responderId,omitempty"`
	// The status for the OAuth client approval request.
	Status OAuthClientApprovalStatus `json:"status"`
	// The scopes the app has requested.
	Scopes []string `json:"scopes"`
	// The reason the person wants to install this OAuth client.
	RequestReason *string `json:"requestReason,omitempty"`
	// The reason the request for the OAuth client approval was denied.
	DenyReason *string `json:"denyReason,omitempty"`
}

Request to install OAuth clients on organizations and the response to the request.

type OauthClientApprovalNotification

type OauthClientApprovalNotification struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Notification type.
	Type string `json:"type"`
	// The user that caused the notification.
	Actor *User `json:"actor,omitempty"`
	// The external user that caused the notification.
	ExternalUserActor *ExternalUser `json:"externalUserActor,omitempty"`
	// The user that received the notification.
	User *User `json:"user"`
	// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
	ReadAt *DateTime `json:"readAt,omitempty"`
	// The time at when an email reminder for this notification was sent to the user. Null, if no email
	//     reminder has been sent.
	EmailedAt *DateTime `json:"emailedAt,omitempty"`
	// The time until a notification will be snoozed. After that it will appear in the inbox again.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The time at which a notification was unsnoozed..
	UnsnoozedAt *DateTime `json:"unsnoozedAt,omitempty"`
	// The bot that caused the notification.
	BotActor *ActorBot `json:"botActor,omitempty"`
	// The OAuth client approval request related to the notification.
	OauthClientApproval *OauthClientApproval `json:"oauthClientApproval"`
}

An oauth client approval related notification.

type OauthClientConnection

type OauthClientConnection struct {
	Edges    []OauthClientEdge `json:"edges"`
	Nodes    []OauthClient     `json:"nodes"`
	PageInfo *PageInfo         `json:"pageInfo"`
}

type OauthClientEdge

type OauthClientEdge struct {
	Node *OauthClient `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type OauthToken

type OauthToken struct {
	Id        float64   `json:"id"`
	RevokedAt *DateTime `json:"revokedAt,omitempty"`
	CreatedAt DateTime  `json:"createdAt"`
	// OAuth2 client for which the access token belongs to.
	Client   *AuthOauthClient `json:"client"`
	ClientId string           `json:"clientId"`
	// Auth user who authorized the OAuth application.
	User *AuthUser `json:"user"`
	// Id of the user who authorized the OAuth application.
	UserId string `json:"userId"`
}

type OnboardingCustomerSurvey

type OnboardingCustomerSurvey struct {
	CompanyRole *string `json:"companyRole,omitempty"`
	CompanySize *string `json:"companySize,omitempty"`
}

type OpsgenieInput

type OpsgenieInput struct {
	// The date when the Opsgenie API failed with an unauthorized error.
	ApiFailedWithUnauthorizedErrorAt DateTime `json:"apiFailedWithUnauthorizedErrorAt"`
}

type OpsgenieSettings

type OpsgenieSettings struct {
	// The date when the Opsgenie API failed with an unauthorized error.
	ApiFailedWithUnauthorizedErrorAt DateTime `json:"apiFailedWithUnauthorizedErrorAt"`
}

Opsgenie specific settings.

type Organization

type Organization struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The organization's name.
	Name string `json:"name"`
	// The organization's unique URL key.
	UrlKey string `json:"urlKey"`
	// The organization's logo URL.
	LogoUrl *string `json:"logoUrl,omitempty"`
	// Rolling 30-day total upload volume for the organization, in megabytes.
	PeriodUploadVolume float64 `json:"periodUploadVolume"`
	// How git branches are formatted. If null, default formatting will be used.
	GitBranchFormat *string `json:"gitBranchFormat,omitempty"`
	// Whether the Git integration linkback messages should be sent to private repositories.
	GitLinkbackMessagesEnabled bool `json:"gitLinkbackMessagesEnabled"`
	// Whether the Git integration linkback messages should be sent to public repositories.
	GitPublicLinkbackMessagesEnabled bool `json:"gitPublicLinkbackMessagesEnabled"`
	// Whether the organization is using a roadmap.
	RoadmapEnabled bool `json:"roadmapEnabled"`
	// The frequency at which to prompt for project updates.
	ProjectUpdatesReminderFrequency ProjectUpdateReminderFrequency `json:"projectUpdatesReminderFrequency"`
	// The day at which to prompt for project updates.
	ProjectUpdateRemindersDay Day `json:"projectUpdateRemindersDay"`
	// The hour at which to prompt for project updates.
	ProjectUpdateRemindersHour float64 `json:"projectUpdateRemindersHour"`
	// The month at which the fiscal year starts. Defaults to January (0).
	FiscalYearStartMonth float64 `json:"fiscalYearStartMonth"`
	// Whether SAML authentication is enabled for organization.
	SamlEnabled bool `json:"samlEnabled"`
	// [INTERNAL] SAML settings.
	SamlSettings *JSONObject `json:"samlSettings,omitempty"`
	// Whether SCIM provisioning is enabled for organization.
	ScimEnabled bool `json:"scimEnabled"`
	// Allowed authentication providers, empty array means all are allowed.
	AllowedAuthServices []string `json:"allowedAuthServices"`
	// The time at which deletion of the organization was requested.
	DeletionRequestedAt *DateTime `json:"deletionRequestedAt,omitempty"`
	// The time at which the trial of the plus plan will end.
	TrialEndsAt *DateTime `json:"trialEndsAt,omitempty"`
	// Previously used URL keys for the organization (last 3 are kept and redirected).
	PreviousUrlKeys []string `json:"previousUrlKeys"`
	// Whether member users are allowed to send invites.
	AllowMembersToInvite *bool `json:"allowMembersToInvite,omitempty"`
	// The feature release channel the organization belongs to.
	ReleaseChannel ReleaseChannel `json:"releaseChannel"`
	// Which day count to use for SLA calculations.
	SlaDayCount SLADayCountType `json:"slaDayCount"`
	// Users associated with the organization.
	Users *UserConnection `json:"users"`
	// Teams associated with the organization.
	Teams *TeamConnection `json:"teams"`
	// Integrations associated with the organization.
	Integrations *IntegrationConnection `json:"integrations"`
	// The organization's subscription to a paid plan.
	Subscription *PaidSubscription `json:"subscription,omitempty"`
	// Number of active users in the organization.
	UserCount int32 `json:"userCount"`
	// Number of issues in the organization.
	CreatedIssueCount int32 `json:"createdIssueCount"`
	// Templates associated with the organization.
	Templates *TemplateConnection `json:"templates"`
	// Labels associated with the organization.
	Labels *IssueLabelConnection `json:"labels"`
}

An organization. Organizations are root-level objects that contain user accounts and teams.

type OrganizationAcceptedOrExpiredInviteDetailsPayload

type OrganizationAcceptedOrExpiredInviteDetailsPayload struct {
	// The status of the invite.
	Status OrganizationInviteStatus `json:"status"`
}

type OrganizationCancelDeletePayload

type OrganizationCancelDeletePayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type OrganizationDeletePayload

type OrganizationDeletePayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type OrganizationDomain

type OrganizationDomain struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Domain name.
	Name string `json:"name"`
	// Is this domain verified.
	Verified bool `json:"verified"`
	// E-mail used to verify this domain.
	VerificationEmail *string `json:"verificationEmail,omitempty"`
	// The user who added the domain.
	Creator *User `json:"creator,omitempty"`
	// What type of auth is the domain used for.
	AuthType OrganizationDomainAuthType `json:"authType"`
	// Whether the domains was claimed by the organization through DNS verification.
	Claimed *bool `json:"claimed,omitempty"`
}

Defines the use of a domain by an organization.

type OrganizationDomainAuthType

type OrganizationDomainAuthType string

What type of auth is the domain used for.

const (
	OrganizationDomainAuthTypeSaml    OrganizationDomainAuthType = "saml"
	OrganizationDomainAuthTypeGeneral OrganizationDomainAuthType = "general"
)

type OrganizationDomainClaimPayload

type OrganizationDomainClaimPayload struct {
	// String to put into DNS for verification.
	VerificationString string `json:"verificationString"`
}

[INTERNAL] Domain claim request response.

type OrganizationDomainCreateInput

type OrganizationDomainCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The domain name to add.
	Name string `json:"name"`
	// The email address to which to send the verification code.
	VerificationEmail *string `json:"verificationEmail,omitempty"`
	// The authentication type this domain is for.
	AuthType *string `json:"authType,omitempty"`
}

type OrganizationDomainPayload

type OrganizationDomainPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The organization domain that was created or updated.
	OrganizationDomain *OrganizationDomain `json:"organizationDomain"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

[INTERNAL] Organization domain operation response.

type OrganizationDomainSimplePayload

type OrganizationDomainSimplePayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

[INTERNAL] Organization domain operation response.

type OrganizationDomainVerificationInput

type OrganizationDomainVerificationInput struct {
	// The identifier in UUID v4 format of the domain being verified.
	OrganizationDomainId string `json:"organizationDomainId"`
	// The verification code sent via email.
	VerificationCode string `json:"verificationCode"`
}

type OrganizationExistsPayload

type OrganizationExistsPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
	// Whether the organization exists.
	Exists bool `json:"exists"`
}

type OrganizationInvite

type OrganizationInvite struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The invitees email address.
	Email string `json:"email"`
	// The user role that the invitee will receive upon accepting the invite.
	Role UserRoleType `json:"role"`
	// The invite was sent to external address.
	External bool `json:"external"`
	// The time at which the invite was accepted. Null, if the invite hasn't been accepted.
	AcceptedAt *DateTime `json:"acceptedAt,omitempty"`
	// The time at which the invite will be expiring. Null, if the invite shouldn't expire.
	ExpiresAt *DateTime `json:"expiresAt,omitempty"`
	// Extra metadata associated with the organization invite.
	Metadata JSONObject `json:"metadata"`
	// The user who created the invitation.
	Inviter *User `json:"inviter"`
	// The user who has accepted the invite. Null, if the invite hasn't been accepted.
	Invitee *User `json:"invitee,omitempty"`
	// The organization that the invite is associated with.
	Organization *Organization `json:"organization"`
}

An invitation to the organization that has been sent via email.

type OrganizationInviteConnection

type OrganizationInviteConnection struct {
	Edges    []OrganizationInviteEdge `json:"edges"`
	Nodes    []OrganizationInvite     `json:"nodes"`
	PageInfo *PageInfo                `json:"pageInfo"`
}

type OrganizationInviteCreateInput

type OrganizationInviteCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The email of the invitee.
	Email string `json:"email"`
	// What user role the invite should grant.
	Role *UserRoleType `json:"role,omitempty"`
	// The message to send to the invitee.
	Message *string `json:"message,omitempty"`
	// The teams that the user has been invited to.
	TeamIds []string `json:"teamIds,omitempty"`
	// [INTERNAL] Optional metadata about the invite.
	Metadata *JSONObject `json:"metadata,omitempty"`
}

type OrganizationInviteDetailsPayload

type OrganizationInviteDetailsPayload struct {
	// Underlying value of the GraphQL union
	Value OrganizationInviteDetailsPayloadValue `json:"-"`
}

func (*OrganizationInviteDetailsPayload) UnmarshalJSON

func (base *OrganizationInviteDetailsPayload) UnmarshalJSON(b []byte) error

type OrganizationInviteDetailsPayloadValue

type OrganizationInviteDetailsPayloadValue interface {
	// contains filtered or unexported methods
}

OrganizationInviteDetailsPayloadValue is one of: OrganizationInviteFullDetailsPayload | OrganizationAcceptedOrExpiredInviteDetailsPayload

type OrganizationInviteEdge

type OrganizationInviteEdge struct {
	Node *OrganizationInvite `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type OrganizationInviteFullDetailsPayload

type OrganizationInviteFullDetailsPayload struct {
	// The status of the invite.
	Status OrganizationInviteStatus `json:"status"`
	// The name of the inviter.
	Inviter string `json:"inviter"`
	// The email of the invitee.
	Email string `json:"email"`
	// What user role the invite should grant.
	Role UserRoleType `json:"role"`
	// When the invite was created.
	CreatedAt DateTime `json:"createdAt"`
	// Name of the workspace the invite is for.
	OrganizationName string `json:"organizationName"`
	// ID of the workspace the invite is for.
	OrganizationId string `json:"organizationId"`
	// URL of the workspace logo the invite is for.
	OrganizationLogoUrl *string `json:"organizationLogoUrl,omitempty"`
	// Whether the invite has already been accepted.
	Accepted bool `json:"accepted"`
	// Whether the invite has expired.
	Expired bool `json:"expired"`
	// Allowed authentication providers, empty array means all are allowed.
	AllowedAuthServices []string `json:"allowedAuthServices"`
}

type OrganizationInviteLinkDetailsPayload

type OrganizationInviteLinkDetailsPayload struct {
	// Name of the workspace the invite link is for.
	OrganizationName *string `json:"organizationName,omitempty"`
	// ID of the workspace the invite link is for.
	OrganizationId *string `json:"organizationId,omitempty"`
	// URL of the workspace logo the invite link is for.
	OrganizationLogoUrl *string `json:"organizationLogoUrl,omitempty"`
	// URL key of the workspace the invite link is for.
	OrganizationUrlKey *string `json:"organizationUrlKey,omitempty"`
	// Region of the workspace the invite link is for.
	OrganizationRegion *string `json:"organizationRegion,omitempty"`
	// Allowed authentication providers, empty array means all are allowed.
	AllowedAuthServices []string `json:"allowedAuthServices"`
}

type OrganizationInvitePayload

type OrganizationInvitePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The organization invite that was created or updated.
	OrganizationInvite *OrganizationInvite `json:"organizationInvite"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type OrganizationInviteStatus

type OrganizationInviteStatus string

The different statuses possible for an organization invite.

const (
	OrganizationInviteStatusPending  OrganizationInviteStatus = "pending"
	OrganizationInviteStatusAccepted OrganizationInviteStatus = "accepted"
	OrganizationInviteStatusExpired  OrganizationInviteStatus = "expired"
)

type OrganizationInviteUpdateInput

type OrganizationInviteUpdateInput struct {
	// The teams that the user has been invited to.
	TeamIds []string `json:"teamIds"`
}

type OrganizationPayload

type OrganizationPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The organization that was created or updated.
	Organization *Organization `json:"organization,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type OrganizationRegionResponse

type OrganizationRegionResponse struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The region for the organization.
	Region *string `json:"region,omitempty"`
}

type OrganizationStartPlusTrialPayload

type OrganizationStartPlusTrialPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type OrganizationUpdateInput

type OrganizationUpdateInput struct {
	// The name of the organization.
	Name *string `json:"name,omitempty"`
	// The logo of the organization.
	LogoUrl *string `json:"logoUrl,omitempty"`
	// The URL key of the organization.
	UrlKey *string `json:"urlKey,omitempty"`
	// How git branches are formatted. If null, default formatting will be used.
	GitBranchFormat *string `json:"gitBranchFormat,omitempty"`
	// Whether the Git integration linkback messages should be sent for private repositories.
	GitLinkbackMessagesEnabled *bool `json:"gitLinkbackMessagesEnabled,omitempty"`
	// Whether the Git integration linkback messages should be sent for public repositories.
	GitPublicLinkbackMessagesEnabled *bool `json:"gitPublicLinkbackMessagesEnabled,omitempty"`
	// Whether the organization is using roadmap.
	RoadmapEnabled *bool `json:"roadmapEnabled,omitempty"`
	// The frequency at which project updates are sent.
	ProjectUpdatesReminderFrequency *ProjectUpdateReminderFrequency `json:"projectUpdatesReminderFrequency,omitempty"`
	// The day at which project updates are sent.
	ProjectUpdateRemindersDay *Day `json:"projectUpdateRemindersDay,omitempty"`
	// The hour at which project updates are sent.
	ProjectUpdateRemindersHour *float64 `json:"projectUpdateRemindersHour,omitempty"`
	// The month at which the fiscal year starts.
	FiscalYearStartMonth *float64 `json:"fiscalYearStartMonth,omitempty"`
	// Whether the organization has opted for reduced customer support attachment information.
	ReducedPersonalInformation *bool `json:"reducedPersonalInformation,omitempty"`
	// Whether the organization has opted for having to approve all OAuth applications for install.
	OauthAppReview *bool `json:"oauthAppReview,omitempty"`
	// Linear Preview feature flags.
	LinearPreviewFlags *JSONObject `json:"linearPreviewFlags,omitempty"`
	// List of services that are allowed to be used for login.
	AllowedAuthServices []string `json:"allowedAuthServices,omitempty"`
	// Internal. Whether SLAs have been enabled for the organization.
	SlaEnabled *bool `json:"slaEnabled,omitempty"`
	// Which day count to use for SLA calculation.
	SlaDayCount *SLADayCountType `json:"slaDayCount,omitempty"`
	// Whether member users are allowed to send invites.
	AllowMembersToInvite *bool `json:"allowMembersToInvite,omitempty"`
}

type PageInfo

type PageInfo struct {
	// Indicates if there are more results when paginating backward.
	HasPreviousPage bool `json:"hasPreviousPage"`
	// Indicates if there are more results when paginating forward.
	HasNextPage bool `json:"hasNextPage"`
	// Cursor representing the first result in the paginated results.
	StartCursor *string `json:"startCursor,omitempty"`
	// Cursor representing the last result in the paginated results.
	EndCursor *string `json:"endCursor,omitempty"`
}

type PagerDutyInput

type PagerDutyInput struct {
	// The date when the PagerDuty API failed with an unauthorized error.
	ApiFailedWithUnauthorizedErrorAt DateTime `json:"apiFailedWithUnauthorizedErrorAt"`
}

type PagerDutySettings

type PagerDutySettings struct {
	// The date when the PagerDuty API failed with an unauthorized error.
	ApiFailedWithUnauthorizedErrorAt DateTime `json:"apiFailedWithUnauthorizedErrorAt"`
}

PagerDuty specific settings.

type PaginationNulls

type PaginationNulls string

How to treat NULL values, whether they should appear first or last

const (
	PaginationNullsFirst PaginationNulls = "first"
	PaginationNullsLast  PaginationNulls = "last"
)

type PaginationOrderBy

type PaginationOrderBy string

By which field should the pagination order by

const (
	PaginationOrderByCreatedat PaginationOrderBy = "createdAt"
	PaginationOrderByUpdatedat PaginationOrderBy = "updatedAt"
)

type PaginationSortOrder

type PaginationSortOrder string

Whether to sort in ascending or descending order

const (
	PaginationSortOrderAscending  PaginationSortOrder = "Ascending"
	PaginationSortOrderDescending PaginationSortOrder = "Descending"
)

type PaidSubscription

type PaidSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The subscription type.
	Type string `json:"type"`
	// The number of seats in the subscription.
	Seats float64 `json:"seats"`
	// The minimum number of seats that will be billed in the subscription.
	SeatsMinimum *float64 `json:"seatsMinimum,omitempty"`
	// The maximum number of seats that will be billed in the subscription.
	SeatsMaximum *float64 `json:"seatsMaximum,omitempty"`
	// The creator of the subscription.
	Creator *User `json:"creator,omitempty"`
	// The organization that the subscription is associated with.
	Organization *Organization `json:"organization"`
	// The collection method for this subscription, either automatically charged or invoiced.
	CollectionMethod *string `json:"collectionMethod,omitempty"`
	// The date the subscription was canceled, if any.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// The subscription type of a pending change. Null if no change pending.
	PendingChangeType *string `json:"pendingChangeType,omitempty"`
	// The date the subscription will be billed next.
	NextBillingAt *DateTime `json:"nextBillingAt,omitempty"`
}

The paid subscription of an organization.

type PrioritySort

type PrioritySort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
	// Whether to consider no priority as the highest or lowest priority
	NoPriorityFirst *bool `json:"noPriorityFirst,omitempty"`
}

Issue priority sorting options.

type Project

type Project struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The project's name.
	Name string `json:"name"`
	// The project's description.
	Description string `json:"description"`
	// The project's unique URL slug.
	SlugId string `json:"slugId"`
	// The icon of the project.
	Icon *string `json:"icon,omitempty"`
	// The project's color.
	Color string `json:"color"`
	// The status that the project is associated with.
	Status *ProjectStatus `json:"status"`
	// The user who created the project.
	Creator *User `json:"creator,omitempty"`
	// The project lead.
	Lead *User `json:"lead,omitempty"`
	// The time until which project update reminders are paused.
	ProjectUpdateRemindersPausedUntilAt *DateTime `json:"projectUpdateRemindersPausedUntilAt,omitempty"`
	// The estimated start date of the project.
	StartDate *TimelessDate `json:"startDate,omitempty"`
	// [INTERNAL] The resolution of the project's start date.
	StartDateResolution *DateResolutionType `json:"startDateResolution,omitempty"`
	// The estimated completion date of the project.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// [INTERNAL] The resolution of the project's estimated completion date.
	TargetDateResolution *DateResolutionType `json:"targetDateResolution,omitempty"`
	// The time at which the project was moved into started state.
	StartedAt *DateTime `json:"startedAt,omitempty"`
	// The time at which the project was moved into completed state.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The time at which the project was moved into canceled state.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// The time at which the project was automatically archived by the auto pruning process.
	AutoArchivedAt *DateTime `json:"autoArchivedAt,omitempty"`
	// A flag that indicates whether the project is in the trash bin.
	Trashed *bool `json:"trashed,omitempty"`
	// The sort order for the project within the organization.
	SortOrder float64 `json:"sortOrder"`
	// The project was created based on this issue.
	ConvertedFromIssue *Issue `json:"convertedFromIssue,omitempty"`
	// The last template that was applied to this project.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// The total number of issues in the project after each week.
	IssueCountHistory []float64 `json:"issueCountHistory"`
	// The number of completed issues in the project after each week.
	CompletedIssueCountHistory []float64 `json:"completedIssueCountHistory"`
	// The total number of estimation points after each week.
	ScopeHistory []float64 `json:"scopeHistory"`
	// The number of completed estimation points after each week.
	CompletedScopeHistory []float64 `json:"completedScopeHistory"`
	// The number of in progress estimation points after each week.
	InProgressScopeHistory []float64 `json:"inProgressScopeHistory"`
	// Whether to send new issue notifications to Slack.
	SlackNewIssue bool `json:"slackNewIssue"`
	// Whether to send new issue comment notifications to Slack.
	SlackIssueComments bool `json:"slackIssueComments"`
	// Whether to send new issue status updates to Slack.
	SlackIssueStatuses bool `json:"slackIssueStatuses"`
	// The user's favorite associated with this project.
	Favorite *Favorite `json:"favorite,omitempty"`
	// Project URL.
	Url string `json:"url"`
	// Teams associated with this project.
	Teams *TeamConnection `json:"teams"`
	// Users that are members of the project.
	Members *UserConnection `json:"members"`
	// Project updates associated with the project.
	ProjectUpdates *ProjectUpdateConnection `json:"projectUpdates"`
	// Documents associated with the project.
	Documents *DocumentConnection `json:"documents"`
	// Milestones associated with the project.
	ProjectMilestones *ProjectMilestoneConnection `json:"projectMilestones"`
	// Issues associated with the project.
	Issues *IssueConnection `json:"issues"`
	// Links associated with the project.
	Links *ProjectLinkConnection `json:"links"`
	// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
	Progress float64 `json:"progress"`
	// The overall scope (total estimate points) of the project.
	Scope float64 `json:"scope"`
	// Settings for all integrations associated with that project.
	IntegrationsSettings *IntegrationsSettings `json:"integrationsSettings,omitempty"`
	// The project's content in markdown format.
	Content *string `json:"content,omitempty"`
	// [Internal] The project's content as YJS state.
	ContentState *string `json:"contentState,omitempty"`
	// [DEPRECATED] The type of the state.
	State string `json:"state"`
}

A project.

type ProjectArchivePayload

type ProjectArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Project `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type ProjectCollectionFilter

type ProjectCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// [DEPRECATED] Comparator for the project state.
	State *StringComparator `json:"state,omitempty"`
	// Filters that the project's status must satisfy.
	Status *ProjectStatusFilter `json:"status,omitempty"`
	// [Internal] Comparator for the project's content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for the project completion date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the project start date.
	StartDate *NullableDateComparator `json:"startDate,omitempty"`
	// Comparator for the project target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Comparator for the project health.
	Health *StringComparator `json:"health,omitempty"`
	// Filters that the projects creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the projects lead must satisfy.
	Lead *NullableUserFilter `json:"lead,omitempty"`
	// Filters that the projects members must satisfy.
	Members *UserFilter `json:"members,omitempty"`
	// Filters that the projects issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Filters that the projects roadmaps must satisfy.
	Roadmaps *RoadmapCollectionFilter `json:"roadmaps,omitempty"`
	// Filters that the projects initiatives must satisfy.
	Initiatives *InitiativeCollectionFilter `json:"initiatives,omitempty"`
	// Filters that the project's milestones must satisfy.
	ProjectMilestones *ProjectMilestoneCollectionFilter `json:"projectMilestones,omitempty"`
	// Filters that the project's completed milestones must satisfy.
	CompletedProjectMilestones *ProjectMilestoneCollectionFilter `json:"completedProjectMilestones,omitempty"`
	// Filters that the project's next milestone must satisfy.
	NextProjectMilestone *ProjectMilestoneFilter `json:"nextProjectMilestone,omitempty"`
	// Filters that the project's team must satisfy.
	AccessibleTeams *TeamCollectionFilter `json:"accessibleTeams,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Compound filters, all of which need to be matched by the project.
	And []ProjectCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the project.
	Or []ProjectCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some projects.
	Some *ProjectFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all projects.
	Every *ProjectFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Project filtering options.

type ProjectConnection

type ProjectConnection struct {
	Edges    []ProjectEdge `json:"edges"`
	Nodes    []Project     `json:"nodes"`
	PageInfo *PageInfo     `json:"pageInfo"`
}

type ProjectCreateInput

type ProjectCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the project.
	Name string `json:"name"`
	// The icon of the project.
	Icon *string `json:"icon,omitempty"`
	// The color of the project.
	Color *string `json:"color,omitempty"`
	// [DEPRECATED] The state of the project.
	State *string `json:"state,omitempty"`
	// The ID of the project status.
	StatusId *string `json:"statusId,omitempty"`
	// The description for the project.
	Description *string `json:"description,omitempty"`
	// The identifiers of the teams this project is associated with.
	TeamIds []string `json:"teamIds"`
	// The ID of the issue from which that project is created.
	ConvertedFromIssueId *string `json:"convertedFromIssueId,omitempty"`
	// The ID of the last template applied to the project.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The identifier of the project lead.
	LeadId *string `json:"leadId,omitempty"`
	// The identifiers of the members of this project.
	MemberIds []string `json:"memberIds,omitempty"`
	// The planned start date of the project.
	StartDate *TimelessDate `json:"startDate,omitempty"`
	// [INTERNAL] The resolution of the project's start date.
	StartDateResolution *DateResolutionType `json:"startDateResolution,omitempty"`
	// The planned target date of the project.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// [INTERNAL] The resolution of the project's estimated completion date.
	TargetDateResolution *DateResolutionType `json:"targetDateResolution,omitempty"`
	// The sort order for the project within shared views.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectEdge

type ProjectEdge struct {
	Node *Project `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectFilter

type ProjectFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// [DEPRECATED] Comparator for the project state.
	State *StringComparator `json:"state,omitempty"`
	// Filters that the project's status must satisfy.
	Status *ProjectStatusFilter `json:"status,omitempty"`
	// [Internal] Comparator for the project's content.
	SearchableContent *ContentComparator `json:"searchableContent,omitempty"`
	// Comparator for the project completion date.
	CompletedAt *NullableDateComparator `json:"completedAt,omitempty"`
	// Comparator for the project start date.
	StartDate *NullableDateComparator `json:"startDate,omitempty"`
	// Comparator for the project target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Comparator for the project health.
	Health *StringComparator `json:"health,omitempty"`
	// Filters that the projects creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Filters that the projects lead must satisfy.
	Lead *NullableUserFilter `json:"lead,omitempty"`
	// Filters that the projects members must satisfy.
	Members *UserFilter `json:"members,omitempty"`
	// Filters that the projects issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Filters that the projects roadmaps must satisfy.
	Roadmaps *RoadmapCollectionFilter `json:"roadmaps,omitempty"`
	// Filters that the projects initiatives must satisfy.
	Initiatives *InitiativeCollectionFilter `json:"initiatives,omitempty"`
	// Filters that the project's milestones must satisfy.
	ProjectMilestones *ProjectMilestoneCollectionFilter `json:"projectMilestones,omitempty"`
	// Filters that the project's completed milestones must satisfy.
	CompletedProjectMilestones *ProjectMilestoneCollectionFilter `json:"completedProjectMilestones,omitempty"`
	// Filters that the project's next milestone must satisfy.
	NextProjectMilestone *ProjectMilestoneFilter `json:"nextProjectMilestone,omitempty"`
	// Filters that the project's team must satisfy.
	AccessibleTeams *TeamCollectionFilter `json:"accessibleTeams,omitempty"`
	// Filters that the last applied template must satisfy.
	LastAppliedTemplate *NullableTemplateFilter `json:"lastAppliedTemplate,omitempty"`
	// Compound filters, all of which need to be matched by the project.
	And []ProjectFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the project.
	Or []ProjectFilter `json:"or,omitempty"`
}

Project filtering options.

type ProjectFilterSuggestionPayload

type ProjectFilterSuggestionPayload struct {
	// The json filter that is suggested.
	Filter *JSONObject `json:"filter,omitempty"`
}
type ProjectLink struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The link's URL.
	Url string `json:"url"`
	// The link's label.
	Label string `json:"label"`
	// The order of the item in the project resources list.
	SortOrder float64 `json:"sortOrder"`
	// The user who created the link.
	Creator *User `json:"creator"`
	// The project that the link is associated with.
	Project *Project `json:"project"`
}

An external link for a project.

type ProjectLinkConnection

type ProjectLinkConnection struct {
	Edges    []ProjectLinkEdge `json:"edges"`
	Nodes    []ProjectLink     `json:"nodes"`
	PageInfo *PageInfo         `json:"pageInfo"`
}

type ProjectLinkCreateInput

type ProjectLinkCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The URL of the link.
	Url string `json:"url"`
	// The label for the link.
	Label string `json:"label"`
	// Related project for the link.
	ProjectId string `json:"projectId"`
	// The order of the item in the project resources list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectLinkEdge

type ProjectLinkEdge struct {
	Node *ProjectLink `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectLinkPayload

type ProjectLinkPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project that was created or updated.
	ProjectLink *ProjectLink `json:"projectLink"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectLinkUpdateInput

type ProjectLinkUpdateInput struct {
	// The URL of the link.
	Url *string `json:"url,omitempty"`
	// The label for the link.
	Label *string `json:"label,omitempty"`
	// The order of the item in the project resources list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectMilestone

type ProjectMilestone struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the project milestone.
	Name string `json:"name"`
	// The planned completion date of the milestone.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// The project of the milestone.
	Project *Project `json:"project"`
	// The order of the milestone in relation to other milestones within a project.
	SortOrder float64 `json:"sortOrder"`
	// The project milestone's description in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The project milestone's description as a Prosemirror document.
	DescriptionData *JSON `json:"descriptionData,omitempty"`
	// [Internal] The project milestone's description as YJS state.
	DescriptionState *string `json:"descriptionState,omitempty"`
	// Issues associated with the project milestone.
	Issues *IssueConnection `json:"issues"`
}

A milestone for a project.

type ProjectMilestoneCollectionFilter

type ProjectMilestoneCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project milestone name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project milestone target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Compound filters, all of which need to be matched by the milestone.
	And []ProjectMilestoneCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the milestone.
	Or []ProjectMilestoneCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some milestones.
	Some *ProjectMilestoneFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all milestones.
	Every *ProjectMilestoneFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Milestone collection filtering options.

type ProjectMilestoneConnection

type ProjectMilestoneConnection struct {
	Edges    []ProjectMilestoneEdge `json:"edges"`
	Nodes    []ProjectMilestone     `json:"nodes"`
	PageInfo *PageInfo              `json:"pageInfo"`
}

type ProjectMilestoneCreateInput

type ProjectMilestoneCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the project milestone.
	Name string `json:"name"`
	// The description of the project milestone in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The description of the project milestone as a Prosemirror document.
	DescriptionData *JSONObject `json:"descriptionData,omitempty"`
	// The planned target date of the project milestone.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// Related project for the project milestone.
	ProjectId string `json:"projectId"`
	// The sort order for the project milestone within a project.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectMilestoneEdge

type ProjectMilestoneEdge struct {
	Node *ProjectMilestone `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectMilestoneFilter

type ProjectMilestoneFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project milestone name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project milestone target date.
	TargetDate *NullableDateComparator `json:"targetDate,omitempty"`
	// Compound filters, all of which need to be matched by the project milestone.
	And []ProjectMilestoneFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the project milestone.
	Or []ProjectMilestoneFilter `json:"or,omitempty"`
}

Project milestone filtering options.

type ProjectMilestonePayload

type ProjectMilestonePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project milestone that was created or updated.
	ProjectMilestone *ProjectMilestone `json:"projectMilestone"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectMilestoneUpdateInput

type ProjectMilestoneUpdateInput struct {
	// The name of the project milestone.
	Name *string `json:"name,omitempty"`
	// The description of the project milestone in markdown format.
	Description *string `json:"description,omitempty"`
	// [Internal] The description of the project milestone as a Prosemirror document.
	DescriptionData *JSONObject `json:"descriptionData,omitempty"`
	// The planned target date of the project milestone.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// The sort order for the project milestone within a project.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectNotification

type ProjectNotification struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Notification type.
	Type string `json:"type"`
	// The user that caused the notification.
	Actor *User `json:"actor,omitempty"`
	// The external user that caused the notification.
	ExternalUserActor *ExternalUser `json:"externalUserActor,omitempty"`
	// The user that received the notification.
	User *User `json:"user"`
	// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
	ReadAt *DateTime `json:"readAt,omitempty"`
	// The time at when an email reminder for this notification was sent to the user. Null, if no email
	//     reminder has been sent.
	EmailedAt *DateTime `json:"emailedAt,omitempty"`
	// The time until a notification will be snoozed. After that it will appear in the inbox again.
	SnoozedUntilAt *DateTime `json:"snoozedUntilAt,omitempty"`
	// The time at which a notification was unsnoozed..
	UnsnoozedAt *DateTime `json:"unsnoozedAt,omitempty"`
	// The bot that caused the notification.
	BotActor *ActorBot `json:"botActor,omitempty"`
	// The project related to the notification.
	Project *Project `json:"project"`
	// The project update related to the notification.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate,omitempty"`
}

A project related notification.

type ProjectNotificationSubscription

type ProjectNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The project subscribed to.
	Project *Project `json:"project"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A project notification subscription.

type ProjectPayload

type ProjectPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project that was created or updated.
	Project *Project `json:"project,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectSearchPayload

type ProjectSearchPayload struct {
	Edges    []ProjectSearchResultEdge `json:"edges"`
	Nodes    []ProjectSearchResult     `json:"nodes"`
	PageInfo *PageInfo                 `json:"pageInfo"`
	// Archived entities matching the search term along with all their dependencies.
	ArchivePayload *ArchiveResponse `json:"archivePayload"`
	// Total number of results for query without filters applied.
	TotalCount float64 `json:"totalCount"`
}

type ProjectSearchResult

type ProjectSearchResult struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The project's name.
	Name string `json:"name"`
	// The project's description.
	Description string `json:"description"`
	// The project's unique URL slug.
	SlugId string `json:"slugId"`
	// The icon of the project.
	Icon *string `json:"icon,omitempty"`
	// The project's color.
	Color string `json:"color"`
	// The status that the project is associated with.
	Status *ProjectStatus `json:"status"`
	// The user who created the project.
	Creator *User `json:"creator,omitempty"`
	// The project lead.
	Lead *User `json:"lead,omitempty"`
	// The time until which project update reminders are paused.
	ProjectUpdateRemindersPausedUntilAt *DateTime `json:"projectUpdateRemindersPausedUntilAt,omitempty"`
	// The estimated start date of the project.
	StartDate *TimelessDate `json:"startDate,omitempty"`
	// [INTERNAL] The resolution of the project's start date.
	StartDateResolution *DateResolutionType `json:"startDateResolution,omitempty"`
	// The estimated completion date of the project.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// [INTERNAL] The resolution of the project's estimated completion date.
	TargetDateResolution *DateResolutionType `json:"targetDateResolution,omitempty"`
	// The time at which the project was moved into started state.
	StartedAt *DateTime `json:"startedAt,omitempty"`
	// The time at which the project was moved into completed state.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The time at which the project was moved into canceled state.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// The time at which the project was automatically archived by the auto pruning process.
	AutoArchivedAt *DateTime `json:"autoArchivedAt,omitempty"`
	// A flag that indicates whether the project is in the trash bin.
	Trashed *bool `json:"trashed,omitempty"`
	// The sort order for the project within the organization.
	SortOrder float64 `json:"sortOrder"`
	// The project was created based on this issue.
	ConvertedFromIssue *Issue `json:"convertedFromIssue,omitempty"`
	// The last template that was applied to this project.
	LastAppliedTemplate *Template `json:"lastAppliedTemplate,omitempty"`
	// The total number of issues in the project after each week.
	IssueCountHistory []float64 `json:"issueCountHistory"`
	// The number of completed issues in the project after each week.
	CompletedIssueCountHistory []float64 `json:"completedIssueCountHistory"`
	// The total number of estimation points after each week.
	ScopeHistory []float64 `json:"scopeHistory"`
	// The number of completed estimation points after each week.
	CompletedScopeHistory []float64 `json:"completedScopeHistory"`
	// The number of in progress estimation points after each week.
	InProgressScopeHistory []float64 `json:"inProgressScopeHistory"`
	// Whether to send new issue notifications to Slack.
	SlackNewIssue bool `json:"slackNewIssue"`
	// Whether to send new issue comment notifications to Slack.
	SlackIssueComments bool `json:"slackIssueComments"`
	// Whether to send new issue status updates to Slack.
	SlackIssueStatuses bool `json:"slackIssueStatuses"`
	// The user's favorite associated with this project.
	Favorite *Favorite `json:"favorite,omitempty"`
	// Project URL.
	Url string `json:"url"`
	// Teams associated with this project.
	Teams *TeamConnection `json:"teams"`
	// Users that are members of the project.
	Members *UserConnection `json:"members"`
	// Project updates associated with the project.
	ProjectUpdates *ProjectUpdateConnection `json:"projectUpdates"`
	// Documents associated with the project.
	Documents *DocumentConnection `json:"documents"`
	// Milestones associated with the project.
	ProjectMilestones *ProjectMilestoneConnection `json:"projectMilestones"`
	// Issues associated with the project.
	Issues *IssueConnection `json:"issues"`
	// Links associated with the project.
	Links *ProjectLinkConnection `json:"links"`
	// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
	Progress float64 `json:"progress"`
	// The overall scope (total estimate points) of the project.
	Scope float64 `json:"scope"`
	// Settings for all integrations associated with that project.
	IntegrationsSettings *IntegrationsSettings `json:"integrationsSettings,omitempty"`
	// The project's content in markdown format.
	Content *string `json:"content,omitempty"`
	// [Internal] The project's content as YJS state.
	ContentState *string `json:"contentState,omitempty"`
	// [DEPRECATED] The type of the state.
	State string `json:"state"`
	// Metadata related to search result.
	Metadata JSONObject `json:"metadata"`
}

type ProjectSearchResultConnection

type ProjectSearchResultConnection struct {
	Edges    []ProjectSearchResultEdge `json:"edges"`
	Nodes    []ProjectSearchResult     `json:"nodes"`
	PageInfo *PageInfo                 `json:"pageInfo"`
}

type ProjectSearchResultEdge

type ProjectSearchResultEdge struct {
	Node *ProjectSearchResult `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectSort

type ProjectSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue project sorting options.

type ProjectStatus

type ProjectStatus struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the status.
	Name string `json:"name"`
	// The UI color of the status as a HEX string.
	Color string `json:"color"`
	// Description of the status.
	Description *string `json:"description,omitempty"`
	// The position of the status in the workspace's project flow.
	Position float64 `json:"position"`
	// The type of the project status.
	Type ProjectStatusType `json:"type"`
	// Whether or not a project can be in this status indefinitely.
	Indefinite bool `json:"indefinite"`
}

[ALPHA] A project status.

type ProjectStatusConnection

type ProjectStatusConnection struct {
	Edges    []ProjectStatusEdge `json:"edges"`
	Nodes    []ProjectStatus     `json:"nodes"`
	PageInfo *PageInfo           `json:"pageInfo"`
}

type ProjectStatusEdge

type ProjectStatusEdge struct {
	Node *ProjectStatus `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectStatusFilter

type ProjectStatusFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the project status name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the project status description.
	Description *StringComparator `json:"description,omitempty"`
	// Comparator for the project status position.
	Position *NumberComparator `json:"position,omitempty"`
	// Comparator for the project status type.
	Type *StringComparator `json:"type,omitempty"`
	// Filters that the project status projects must satisfy.
	Projects *ProjectCollectionFilter `json:"projects,omitempty"`
	// Compound filters, all of which need to be matched by the project status.
	And []ProjectStatusFilter `json:"and,omitempty"`
	// Compound filters, one of which needs to be matched by the project status.
	Or []ProjectStatusFilter `json:"or,omitempty"`
}

Project status filtering options.

type ProjectStatusType

type ProjectStatusType string

A type of project status.

const (
	ProjectStatusTypeBacklog   ProjectStatusType = "backlog"
	ProjectStatusTypePlanned   ProjectStatusType = "planned"
	ProjectStatusTypeStarted   ProjectStatusType = "started"
	ProjectStatusTypePaused    ProjectStatusType = "paused"
	ProjectStatusTypeCompleted ProjectStatusType = "completed"
	ProjectStatusTypeCanceled  ProjectStatusType = "canceled"
)

type ProjectTab

type ProjectTab string

Different tabs available inside a project.

const (
	ProjectTabDocuments ProjectTab = "documents"
	ProjectTabIssues    ProjectTab = "issues"
	ProjectTabActivity  ProjectTab = "activity"
)

type ProjectUpdate

type ProjectUpdate struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The update content in markdown format.
	Body string `json:"body"`
	// The project that the update is associated with.
	Project *Project `json:"project"`
	// The health of the project at the time of the update.
	Health ProjectUpdateHealthType `json:"health"`
	// The user who wrote the update.
	User *User `json:"user"`
	// The time the project update was edited.
	EditedAt *DateTime `json:"editedAt,omitempty"`
	// [Internal] Serialized JSON representing current state of the project properties when posting the project update.
	InfoSnapshot *JSONObject `json:"infoSnapshot,omitempty"`
	// Whether project update diff should be hidden.
	IsDiffHidden bool `json:"isDiffHidden"`
	// [Internal] The content of the project update as a Prosemirror document.
	BodyData string `json:"bodyData"`
	// The URL to the project update.
	Url string `json:"url"`
	// The diff between the current update and the previous one.
	Diff *JSONObject `json:"diff,omitempty"`
	// The diff between the current update and the previous one, formatted as markdown.
	DiffMarkdown *string `json:"diffMarkdown,omitempty"`
}

A update associated with an project.

type ProjectUpdateConnection

type ProjectUpdateConnection struct {
	Edges    []ProjectUpdateEdge `json:"edges"`
	Nodes    []ProjectUpdate     `json:"nodes"`
	PageInfo *PageInfo           `json:"pageInfo"`
}

type ProjectUpdateCreateInput

type ProjectUpdateCreateInput struct {
	// The identifier. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The content of the project update in markdown format.
	Body *string `json:"body,omitempty"`
	// [Internal] The content of the project update as a Prosemirror document.
	BodyData *JSON `json:"bodyData,omitempty"`
	// The project to associate the project update with.
	ProjectId string `json:"projectId"`
	// The health of the project at the time of the update.
	Health *ProjectUpdateHealthType `json:"health,omitempty"`
	// Whether the diff between the current update and the previous one should be hidden.
	IsDiffHidden *bool `json:"isDiffHidden,omitempty"`
}

type ProjectUpdateEdge

type ProjectUpdateEdge struct {
	Node *ProjectUpdate `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectUpdateFilter

type ProjectUpdateFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Filters that the project update creator must satisfy.
	User *UserFilter `json:"user,omitempty"`
	// Filters that the project update project must satisfy.
	Project *ProjectFilter `json:"project,omitempty"`
	// Compound filters, all of which need to be matched by the ProjectUpdate.
	And []ProjectUpdateFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the ProjectUpdate.
	Or []ProjectUpdateFilter `json:"or,omitempty"`
}

ProjectUpdate filtering options.

type ProjectUpdateHealthType

type ProjectUpdateHealthType string

The health type of a project when the update is created.

const (
	ProjectUpdateHealthTypeOntrack  ProjectUpdateHealthType = "onTrack"
	ProjectUpdateHealthTypeAtrisk   ProjectUpdateHealthType = "atRisk"
	ProjectUpdateHealthTypeOfftrack ProjectUpdateHealthType = "offTrack"
)

type ProjectUpdateInput

type ProjectUpdateInput struct {
	// [DEPRECATED] The state of the project.
	State *string `json:"state,omitempty"`
	// The ID of the project status.
	StatusId *string `json:"statusId,omitempty"`
	// The name of the project.
	Name *string `json:"name,omitempty"`
	// The description for the project.
	Description *string `json:"description,omitempty"`
	// The ID of the issue from which that project is created.
	ConvertedFromIssueId *string `json:"convertedFromIssueId,omitempty"`
	// The ID of the last template applied to the project.
	LastAppliedTemplateId *string `json:"lastAppliedTemplateId,omitempty"`
	// The icon of the project.
	Icon *string `json:"icon,omitempty"`
	// The color of the project.
	Color *string `json:"color,omitempty"`
	// The identifiers of the teams this project is associated with.
	TeamIds []string `json:"teamIds,omitempty"`
	// The time until which project update reminders are paused.
	ProjectUpdateRemindersPausedUntilAt *DateTime `json:"projectUpdateRemindersPausedUntilAt,omitempty"`
	// The identifier of the project lead.
	LeadId *string `json:"leadId,omitempty"`
	// The identifiers of the members of this project.
	MemberIds []string `json:"memberIds,omitempty"`
	// The planned start date of the project.
	StartDate *TimelessDate `json:"startDate,omitempty"`
	// [INTERNAL] The resolution of the project's start date.
	StartDateResolution *DateResolutionType `json:"startDateResolution,omitempty"`
	// The planned target date of the project.
	TargetDate *TimelessDate `json:"targetDate,omitempty"`
	// [INTERNAL] The resolution of the project's estimated completion date.
	TargetDateResolution *DateResolutionType `json:"targetDateResolution,omitempty"`
	// The date when the project was completed.
	CompletedAt *DateTime `json:"completedAt,omitempty"`
	// The date when the project was canceled.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
	// Whether to send new issue notifications to Slack.
	SlackNewIssue *bool `json:"slackNewIssue,omitempty"`
	// Whether to send new issue comment notifications to Slack.
	SlackIssueComments *bool `json:"slackIssueComments,omitempty"`
	// Whether to send issue status update notifications to Slack.
	SlackIssueStatuses *bool `json:"slackIssueStatuses,omitempty"`
	// The sort order for the project in shared views.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type ProjectUpdateInteraction

type ProjectUpdateInteraction struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that has interacted with the project update.
	User *User `json:"user"`
	// The project update that has been interacted with.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate"`
	// The time at which the user read the project update.
	ReadAt DateTime `json:"readAt"`
}

Holds information about when a user has interacted with a project update.

type ProjectUpdateInteractionConnection

type ProjectUpdateInteractionConnection struct {
	Edges    []ProjectUpdateInteractionEdge `json:"edges"`
	Nodes    []ProjectUpdateInteraction     `json:"nodes"`
	PageInfo *PageInfo                      `json:"pageInfo"`
}

type ProjectUpdateInteractionCreateInput

type ProjectUpdateInteractionCreateInput struct {
	// The identifier. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The id of the project update that has been interacted with.
	ProjectUpdateId string `json:"projectUpdateId"`
	// The time at which the user read the project update.
	ReadAt DateTime `json:"readAt"`
}

type ProjectUpdateInteractionEdge

type ProjectUpdateInteractionEdge struct {
	Node *ProjectUpdateInteraction `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ProjectUpdateInteractionPayload

type ProjectUpdateInteractionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project update interaction that was created or updated.
	ProjectUpdateInteraction *ProjectUpdateInteraction `json:"projectUpdateInteraction"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectUpdatePayload

type ProjectUpdatePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project update that was created or updated.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectUpdateReminderFrequency

type ProjectUpdateReminderFrequency string

The frequency at which to send project update reminders.

const (
	ProjectUpdateReminderFrequencyWeek     ProjectUpdateReminderFrequency = "week"
	ProjectUpdateReminderFrequencyTwoweeks ProjectUpdateReminderFrequency = "twoWeeks"
	ProjectUpdateReminderFrequencyMonth    ProjectUpdateReminderFrequency = "month"
	ProjectUpdateReminderFrequencyNever    ProjectUpdateReminderFrequency = "never"
)

type ProjectUpdateReminderPayload

type ProjectUpdateReminderPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ProjectUpdateUpdateInput

type ProjectUpdateUpdateInput struct {
	// The content of the project update in markdown format.
	Body *string `json:"body,omitempty"`
	// The content of the project update as a Prosemirror document.
	BodyData *JSON `json:"bodyData,omitempty"`
	// The health of the project at the time of the update.
	Health *ProjectUpdateHealthType `json:"health,omitempty"`
	// Whether the diff between the current update and the previous one should be hidden.
	IsDiffHidden *bool `json:"isDiffHidden,omitempty"`
}

type ProjectUpdateWithInteractionPayload

type ProjectUpdateWithInteractionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The project update that was created or updated.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The project update that was created or updated.
	Interaction *ProjectUpdateInteraction `json:"interaction"`
}

type PushSubscription

type PushSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
}

A user's web browser push notification subscription.

type PushSubscriptionConnection

type PushSubscriptionConnection struct {
	Edges    []PushSubscriptionEdge `json:"edges"`
	Nodes    []PushSubscription     `json:"nodes"`
	PageInfo *PageInfo              `json:"pageInfo"`
}

type PushSubscriptionCreateInput

type PushSubscriptionCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The user identifier of the subscription.
	UserId *string `json:"userId,omitempty"`
	// The data of the subscription in stringified JSON format.
	Data string `json:"data"`
	// Whether this is a subscription payload for Google Cloud Messaging or Apple Push Notification service.
	Type *PushSubscriptionType `json:"type,omitempty"`
}

type PushSubscriptionEdge

type PushSubscriptionEdge struct {
	Node *PushSubscription `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type PushSubscriptionPayload

type PushSubscriptionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The push subscription that was created or updated.
	Entity *PushSubscription `json:"entity"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type PushSubscriptionTestPayload

type PushSubscriptionTestPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type PushSubscriptionType

type PushSubscriptionType string

The different push subscription types.

const (
	PushSubscriptionTypeWeb              PushSubscriptionType = "web"
	PushSubscriptionTypeApple            PushSubscriptionType = "apple"
	PushSubscriptionTypeAppledevelopment PushSubscriptionType = "appleDevelopment"
	PushSubscriptionTypeFirebase         PushSubscriptionType = "firebase"
)

type RateLimitPayload

type RateLimitPayload struct {
	// The identifier we rate limit on.
	Identifier *string `json:"identifier,omitempty"`
	// The kind of rate limit selected for this request.
	Kind string `json:"kind"`
	// The state of the rate limit.
	Limits []RateLimitResultPayload `json:"limits"`
}

type RateLimitResultPayload

type RateLimitResultPayload struct {
	// What is being rate limited.
	Type string `json:"type"`
	// The requested quantity for this type of limit.
	RequestedAmount float64 `json:"requestedAmount"`
	// The total allowed quantity for this type of limit.
	AllowedAmount float64 `json:"allowedAmount"`
	// The period in which the rate limit is fully replenished in ms.
	Period float64 `json:"period"`
	// The remaining quantity for this type of limit after this request.
	RemainingAmount float64 `json:"remainingAmount"`
	// The timestamp after the rate limit is fully replenished as a UNIX timestamp.
	Reset float64 `json:"reset"`
}

type Reaction

type Reaction struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Name of the reaction's emoji.
	Emoji string `json:"emoji"`
	// The issue that the reaction is associated with.
	Issue *Issue `json:"issue,omitempty"`
	// The comment that the reaction is associated with.
	Comment *Comment `json:"comment,omitempty"`
	// The project update that the reaction is associated with.
	ProjectUpdate *ProjectUpdate `json:"projectUpdate,omitempty"`
	// The user that created the reaction.
	User *User `json:"user,omitempty"`
}

A reaction associated with a comment or a project update.

type ReactionConnection

type ReactionConnection struct {
	Edges    []ReactionEdge `json:"edges"`
	Nodes    []Reaction     `json:"nodes"`
	PageInfo *PageInfo      `json:"pageInfo"`
}

type ReactionCreateInput

type ReactionCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The emoji the user reacted with.
	Emoji *string `json:"emoji,omitempty"`
	// The comment to associate the reaction with.
	CommentId *string `json:"commentId,omitempty"`
	// The project update to associate the reaction with.
	ProjectUpdateId *string `json:"projectUpdateId,omitempty"`
	// The issue to associate the reaction with.
	IssueId *string `json:"issueId,omitempty"`
}

type ReactionEdge

type ReactionEdge struct {
	Node *Reaction `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type ReactionPayload

type ReactionPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64   `json:"lastSyncId"`
	Reaction   *Reaction `json:"reaction"`
	Success    bool      `json:"success"`
}

type RelationExistsComparator

type RelationExistsComparator struct {
	// Equals constraint.
	Eq *bool `json:"eq,omitempty"`
	// Not equals constraint.
	Neq *bool `json:"neq,omitempty"`
}

Comparator for relation existence.

type ReleaseChannel

type ReleaseChannel string

Features release channel.

const (
	ReleaseChannelInternal   ReleaseChannel = "internal"
	ReleaseChannelBeta       ReleaseChannel = "beta"
	ReleaseChannelPrerelease ReleaseChannel = "preRelease"
	ReleaseChannelPublic     ReleaseChannel = "public"
)

type Roadmap

type Roadmap struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the roadmap.
	Name string `json:"name"`
	// The description of the roadmap.
	Description *string `json:"description,omitempty"`
	// The organization of the roadmap.
	Organization *Organization `json:"organization"`
	// The user who created the roadmap.
	Creator *User `json:"creator"`
	// The user who owns the roadmap.
	Owner *User `json:"owner"`
	// The roadmap's unique URL slug.
	SlugId string `json:"slugId"`
	// The sort order of the roadmap within the organization.
	SortOrder float64 `json:"sortOrder"`
	// The roadmap's color.
	Color *string `json:"color,omitempty"`
	// Projects associated with the roadmap.
	Projects *ProjectConnection `json:"projects"`
}

A roadmap for projects.

type RoadmapArchivePayload

type RoadmapArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Roadmap `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type RoadmapCollectionFilter

type RoadmapCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the roadmap name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the roadmap slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the roadmap creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Compound filters, all of which need to be matched by the roadmap.
	And []RoadmapCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the roadmap.
	Or []RoadmapCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some roadmaps.
	Some *RoadmapFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all roadmaps.
	Every *RoadmapFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Roadmap collection filtering options.

type RoadmapConnection

type RoadmapConnection struct {
	Edges    []RoadmapEdge `json:"edges"`
	Nodes    []Roadmap     `json:"nodes"`
	PageInfo *PageInfo     `json:"pageInfo"`
}

type RoadmapCreateInput

type RoadmapCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the roadmap.
	Name string `json:"name"`
	// The description of the roadmap.
	Description *string `json:"description,omitempty"`
	// The owner of the roadmap.
	OwnerId *string `json:"ownerId,omitempty"`
	// The sort order of the roadmap within the organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The roadmap's color.
	Color *string `json:"color,omitempty"`
}

type RoadmapEdge

type RoadmapEdge struct {
	Node *Roadmap `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type RoadmapFilter

type RoadmapFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the roadmap name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the roadmap slug ID.
	SlugId *StringComparator `json:"slugId,omitempty"`
	// Filters that the roadmap creator must satisfy.
	Creator *UserFilter `json:"creator,omitempty"`
	// Compound filters, all of which need to be matched by the roadmap.
	And []RoadmapFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the roadmap.
	Or []RoadmapFilter `json:"or,omitempty"`
}

Roadmap filtering options.

type RoadmapPayload

type RoadmapPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The roadmap that was created or updated.
	Roadmap *Roadmap `json:"roadmap"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type RoadmapToProject

type RoadmapToProject struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The project that the roadmap is associated with.
	Project *Project `json:"project"`
	// The roadmap that the project is associated with.
	Roadmap *Roadmap `json:"roadmap"`
	// The sort order of the project within the roadmap.
	SortOrder string `json:"sortOrder"`
}

Join table between projects and roadmaps.

type RoadmapToProjectConnection

type RoadmapToProjectConnection struct {
	Edges    []RoadmapToProjectEdge `json:"edges"`
	Nodes    []RoadmapToProject     `json:"nodes"`
	PageInfo *PageInfo              `json:"pageInfo"`
}

type RoadmapToProjectCreateInput

type RoadmapToProjectCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the project.
	ProjectId string `json:"projectId"`
	// The identifier of the roadmap.
	RoadmapId string `json:"roadmapId"`
	// The sort order for the project within its organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type RoadmapToProjectEdge

type RoadmapToProjectEdge struct {
	Node *RoadmapToProject `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type RoadmapToProjectPayload

type RoadmapToProjectPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The roadmapToProject that was created or updated.
	RoadmapToProject *RoadmapToProject `json:"roadmapToProject"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type RoadmapToProjectUpdateInput

type RoadmapToProjectUpdateInput struct {
	// The sort order for the project within its organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type RoadmapUpdateInput

type RoadmapUpdateInput struct {
	// The name of the roadmap.
	Name *string `json:"name,omitempty"`
	// The description of the roadmap.
	Description *string `json:"description,omitempty"`
	// The owner of the roadmap.
	OwnerId *string `json:"ownerId,omitempty"`
	// The sort order of the roadmap within the organization.
	SortOrder *float64 `json:"sortOrder,omitempty"`
	// The roadmap's color.
	Color *string `json:"color,omitempty"`
}

type SLADayCountType

type SLADayCountType string

Which day count to use for SLA calculations.

const (
	SLADayCountTypeAll              SLADayCountType = "all"
	SLADayCountTypeOnlybusinessdays SLADayCountType = "onlyBusinessDays"
)

type SendStrategy

type SendStrategy string
const (
	SendStrategyDesktopthenpush SendStrategy = "desktopThenPush"
	SendStrategyDesktopandpush  SendStrategy = "desktopAndPush"
	SendStrategyDesktop         SendStrategy = "desktop"
	SendStrategyPush            SendStrategy = "push"
)

type SentrySettings

type SentrySettings struct {
	// The slug of the Sentry organization being connected.
	OrganizationSlug string `json:"organizationSlug"`
}

Sentry specific settings.

type SentrySettingsInput

type SentrySettingsInput struct {
	// The slug of the Sentry organization being connected.
	OrganizationSlug string `json:"organizationSlug"`
}

type SharedSlackSettings

type SharedSlackSettings struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
}

Shared Slack integration settings.

type SharedSlackSettingsInput

type SharedSlackSettingsInput struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
}

type SlaStatus

type SlaStatus string
const (
	SlaStatusBreached   SlaStatus = "Breached"
	SlaStatusHighrisk   SlaStatus = "HighRisk"
	SlaStatusMediumrisk SlaStatus = "MediumRisk"
	SlaStatusLowrisk    SlaStatus = "LowRisk"
	SlaStatusCompleted  SlaStatus = "Completed"
	SlaStatusFailed     SlaStatus = "Failed"
	SlaStatusPaused     SlaStatus = "Paused"
)

type SlaStatusComparator

type SlaStatusComparator struct {
	// Equals constraint.
	Eq *SlaStatus `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *SlaStatus `json:"neq,omitempty"`
	// In-array constraint.
	In []SlaStatus `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []SlaStatus `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
}

Comparator for sla status.

type SlaStatusSort

type SlaStatusSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue SLA status sorting options.

type SlackAsksSettings

type SlackAsksSettings struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
	// The mapping of Slack channel ID => Slack channel name for connected channels.
	SlackChannelMapping []SlackChannelNameMapping `json:"slackChannelMapping,omitempty"`
	// The user role type that is allowed to manage Asks settings.
	CanAdministrate UserRoleType `json:"canAdministrate"`
}

Slack Asks specific settings.

type SlackAsksSettingsInput

type SlackAsksSettingsInput struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
	// The mapping of Slack channel ID => Slack channel name for connected channels.
	SlackChannelMapping []SlackChannelNameMappingInput `json:"slackChannelMapping,omitempty"`
	// The user role type that is allowed to manage Asks settings.
	CanAdministrate UserRoleType `json:"canAdministrate"`
}

type SlackAsksTeamSettings

type SlackAsksTeamSettings struct {
	// The Linear team ID.
	Id string `json:"id"`
	// Whether the default Asks template is enabled in the given channel for this team.
	HasDefaultAsk bool `json:"hasDefaultAsk"`
}

Tuple for mapping Slack channel IDs to names.

type SlackAsksTeamSettingsInput

type SlackAsksTeamSettingsInput struct {
	// The Linear team ID.
	Id string `json:"id"`
	// Whether the default Asks template is enabled in the given channel for this team.
	HasDefaultAsk bool `json:"hasDefaultAsk"`
}

type SlackChannelConnectPayload

type SlackChannelConnectPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The integration that was created or updated.
	Integration *Integration `json:"integration,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// Whether the bot needs to be manually added to the channel.
	AddBot bool `json:"addBot"`
	// Whether it's recommended to connect main Slack integration.
	NudgeToConnectMainSlackIntegration *bool `json:"nudgeToConnectMainSlackIntegration,omitempty"`
	// Whether it's recommended to update main Slack integration.
	NudgeToUpdateMainSlackIntegration *bool `json:"nudgeToUpdateMainSlackIntegration,omitempty"`
}

type SlackChannelNameMapping

type SlackChannelNameMapping struct {
	// The Slack channel ID.
	Id string `json:"id"`
	// The Slack channel name.
	Name string `json:"name"`
	// Whether or not the Slack channel is private.
	IsPrivate *bool `json:"isPrivate,omitempty"`
	// Whether or not the Slack channel is shared with an external org.
	IsShared *bool `json:"isShared,omitempty"`
	// Whether or not we the Linear Asks bot has been added to this Slack channel.
	BotAdded *bool `json:"botAdded,omitempty"`
	// Which teams are connected to the channel and settings for those teams.
	Teams []SlackAsksTeamSettings `json:"teams"`
	// Whether or not top-level messages in this channel should automatically create Asks.
	AutoCreateOnMessage *bool `json:"autoCreateOnMessage,omitempty"`
	// Whether or not using the :ticket: emoji in this channel should automatically create Asks.
	AutoCreateOnEmoji *bool `json:"autoCreateOnEmoji,omitempty"`
	// Whether or not @-mentioning the bot should automatically create an Ask with the message.
	AutoCreateOnBotMention *bool `json:"autoCreateOnBotMention,omitempty"`
	// The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template.
	AutoCreateTemplateId *string `json:"autoCreateTemplateId,omitempty"`
}

Object for mapping Slack channel IDs to names and other settings.

type SlackChannelNameMappingInput

type SlackChannelNameMappingInput struct {
	// The Slack channel ID.
	Id string `json:"id"`
	// The Slack channel name.
	Name string `json:"name"`
	// Whether or not the Slack channel is private.
	IsPrivate *bool `json:"isPrivate,omitempty"`
	// Whether or not the Slack channel is shared with an external org.
	IsShared *bool `json:"isShared,omitempty"`
	// Whether or not we the Linear Asks bot has been added to this Slack channel.
	BotAdded *bool `json:"botAdded,omitempty"`
	// Which teams are connected to the channel and settings for those teams.
	Teams []SlackAsksTeamSettingsInput `json:"teams"`
	// Whether or not top-level messages in this channel should automatically create Asks.
	AutoCreateOnMessage *bool `json:"autoCreateOnMessage,omitempty"`
	// Whether or not using the :ticket: emoji in this channel should automatically create Asks.
	AutoCreateOnEmoji *bool `json:"autoCreateOnEmoji,omitempty"`
	// Whether or not @-mentioning the bot should automatically create an Ask with the message.
	AutoCreateOnBotMention *bool `json:"autoCreateOnBotMention,omitempty"`
	// The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template.
	AutoCreateTemplateId *string `json:"autoCreateTemplateId,omitempty"`
}

type SlackChannelType

type SlackChannelType string
const (
	SlackChannelTypeDirectmessage            SlackChannelType = "DirectMessage"
	SlackChannelTypeMultipersondirectmessage SlackChannelType = "MultiPersonDirectMessage"
	SlackChannelTypePrivate                  SlackChannelType = "Private"
	SlackChannelTypePublic                   SlackChannelType = "Public"
)

type SlackPostSettings

type SlackPostSettings struct {
	Channel          string            `json:"channel"`
	ChannelId        string            `json:"channelId"`
	ConfigurationUrl string            `json:"configurationUrl"`
	ChannelType      *SlackChannelType `json:"channelType,omitempty"`
}

Slack notification specific settings.

type SlackPostSettingsInput

type SlackPostSettingsInput struct {
	Channel          string            `json:"channel"`
	ChannelId        string            `json:"channelId"`
	ConfigurationUrl string            `json:"configurationUrl"`
	ChannelType      *SlackChannelType `json:"channelType,omitempty"`
}

type SlackSettings

type SlackSettings struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
	// Whether Linear should automatically respond with issue unfurls when an issue identifier is mentioned in a Slack message.
	LinkOnIssueIdMention bool `json:"linkOnIssueIdMention"`
}

Settings for the regular Slack integration.

type SlackSettingsInput

type SlackSettingsInput struct {
	// Slack workspace name
	TeamName *string `json:"teamName,omitempty"`
	// Slack workspace id
	TeamId *string `json:"teamId,omitempty"`
	// Enterprise name of the connected Slack enterprise
	EnterpriseName *string `json:"enterpriseName,omitempty"`
	// Whether Linear should automatically respond with issue unfurls when an issue identifier is mentioned in a Slack message.
	LinkOnIssueIdMention bool `json:"linkOnIssueIdMention"`
}

type SourceMetadataComparator

type SourceMetadataComparator struct {
	// Equals constraint.
	Eq *string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
	// Compound filters, all of which need to be matched by the sub type.
	SubType *SubTypeComparator `json:"subType,omitempty"`
}

Comparator for issue source type.

type SourceTypeComparator

type SourceTypeComparator struct {
	// Equals constraint.
	Eq *string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
	// Equals case insensitive. Matches any values that matches the given string case insensitive.
	EqIgnoreCase *string `json:"eqIgnoreCase,omitempty"`
	// Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
	NeqIgnoreCase *string `json:"neqIgnoreCase,omitempty"`
	// Starts with constraint. Matches any values that start with the given string.
	StartsWith *string `json:"startsWith,omitempty"`
	// Starts with case insensitive constraint. Matches any values that start with the given string.
	StartsWithIgnoreCase *string `json:"startsWithIgnoreCase,omitempty"`
	// Doesn't start with constraint. Matches any values that don't start with the given string.
	NotStartsWith *string `json:"notStartsWith,omitempty"`
	// Ends with constraint. Matches any values that end with the given string.
	EndsWith *string `json:"endsWith,omitempty"`
	// Doesn't end with constraint. Matches any values that don't end with the given string.
	NotEndsWith *string `json:"notEndsWith,omitempty"`
	// Contains constraint. Matches any values that contain the given string.
	Contains *string `json:"contains,omitempty"`
	// Contains case insensitive constraint. Matches any values that contain the given string case insensitive.
	ContainsIgnoreCase *string `json:"containsIgnoreCase,omitempty"`
	// Doesn't contain constraint. Matches any values that don't contain the given string.
	NotContains *string `json:"notContains,omitempty"`
	// Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive.
	NotContainsIgnoreCase *string `json:"notContainsIgnoreCase,omitempty"`
}

Comparator for `sourceType` field.

type SsoUrlFromEmailResponse

type SsoUrlFromEmailResponse struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
	// SAML SSO sign-in URL.
	SamlSsoUrl string `json:"samlSsoUrl"`
}

type StringComparator

type StringComparator struct {
	// Equals constraint.
	Eq *string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
	// Equals case insensitive. Matches any values that matches the given string case insensitive.
	EqIgnoreCase *string `json:"eqIgnoreCase,omitempty"`
	// Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
	NeqIgnoreCase *string `json:"neqIgnoreCase,omitempty"`
	// Starts with constraint. Matches any values that start with the given string.
	StartsWith *string `json:"startsWith,omitempty"`
	// Starts with case insensitive constraint. Matches any values that start with the given string.
	StartsWithIgnoreCase *string `json:"startsWithIgnoreCase,omitempty"`
	// Doesn't start with constraint. Matches any values that don't start with the given string.
	NotStartsWith *string `json:"notStartsWith,omitempty"`
	// Ends with constraint. Matches any values that end with the given string.
	EndsWith *string `json:"endsWith,omitempty"`
	// Doesn't end with constraint. Matches any values that don't end with the given string.
	NotEndsWith *string `json:"notEndsWith,omitempty"`
	// Contains constraint. Matches any values that contain the given string.
	Contains *string `json:"contains,omitempty"`
	// Contains case insensitive constraint. Matches any values that contain the given string case insensitive.
	ContainsIgnoreCase *string `json:"containsIgnoreCase,omitempty"`
	// Doesn't contain constraint. Matches any values that don't contain the given string.
	NotContains *string `json:"notContains,omitempty"`
	// Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive.
	NotContainsIgnoreCase *string `json:"notContainsIgnoreCase,omitempty"`
}

Comparator for strings.

type SubTypeComparator

type SubTypeComparator struct {
	// Equals constraint.
	Eq *string `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *string `json:"neq,omitempty"`
	// In-array constraint.
	In []string `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []string `json:"nin,omitempty"`
	// Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values.
	Null *bool `json:"null,omitempty"`
}

Comparator for source type.

type SynchronizedPayload

type SynchronizedPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
}

type Team

type Team struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The team's name.
	Name string `json:"name"`
	// The team's unique key. The key is used in URLs.
	Key string `json:"key"`
	// The team's description.
	Description *string `json:"description,omitempty"`
	// The icon of the team.
	Icon *string `json:"icon,omitempty"`
	// The team's color.
	Color *string `json:"color,omitempty"`
	// The organization that the team is associated with.
	Organization *Organization `json:"organization"`
	// Whether the team uses cycles.
	CyclesEnabled bool `json:"cyclesEnabled"`
	// The day of the week that a new cycle starts.
	CycleStartDay float64 `json:"cycleStartDay"`
	// The duration of a cycle in weeks.
	CycleDuration float64 `json:"cycleDuration"`
	// The cooldown time after each cycle in weeks.
	CycleCooldownTime float64 `json:"cycleCooldownTime"`
	// Auto assign started issues to current cycle.
	CycleIssueAutoAssignStarted bool `json:"cycleIssueAutoAssignStarted"`
	// Auto assign completed issues to current cycle.
	CycleIssueAutoAssignCompleted bool `json:"cycleIssueAutoAssignCompleted"`
	// Auto assign issues to current cycle if in active status.
	CycleLockToActive bool `json:"cycleLockToActive"`
	// How many upcoming cycles to create.
	UpcomingCycleCount float64 `json:"upcomingCycleCount"`
	// The timezone of the team. Defaults to "America/Los_Angeles"
	Timezone string `json:"timezone"`
	// Unique hash for the team to be used in invite URLs.
	InviteHash string `json:"inviteHash"`
	// The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
	IssueEstimationType string `json:"issueEstimationType"`
	// Whether issues without priority should be sorted first.
	IssueOrderingNoPriorityFirst bool `json:"issueOrderingNoPriorityFirst"`
	// Whether to allow zeros in issues estimates.
	IssueEstimationAllowZero bool `json:"issueEstimationAllowZero"`
	// Where to move issues when changing state.
	SetIssueSortOrderOnStateChange string `json:"setIssueSortOrderOnStateChange"`
	// Whether to add additional points to the estimate scale.
	IssueEstimationExtended bool `json:"issueEstimationExtended"`
	// What to use as an default estimate for unestimated issues.
	DefaultIssueEstimate float64 `json:"defaultIssueEstimate"`
	// Whether triage mode is enabled for the team or not.
	TriageEnabled bool `json:"triageEnabled"`
	// Whether an issue needs to have a priority set before leaving triage.
	RequirePriorityToLeaveTriage bool `json:"requirePriorityToLeaveTriage"`
	// The default workflow state into which issues are set when they are opened by team members.
	DefaultIssueState *WorkflowState `json:"defaultIssueState,omitempty"`
	// The default template to use for new issues created by members of the team.
	DefaultTemplateForMembers *Template `json:"defaultTemplateForMembers,omitempty"`
	// The id of the default template to use for new issues created by members of the team.
	DefaultTemplateForMembersId *string `json:"defaultTemplateForMembersId,omitempty"`
	// The default template to use for new issues created by non-members of the team.
	DefaultTemplateForNonMembers *Template `json:"defaultTemplateForNonMembers,omitempty"`
	// The id of the default template to use for new issues created by non-members of the team.
	DefaultTemplateForNonMembersId *string `json:"defaultTemplateForNonMembersId,omitempty"`
	// The default template to use for new projects created for the team.
	DefaultProjectTemplate *Template `json:"defaultProjectTemplate,omitempty"`
	// The workflow state into which issues are set when they are opened by non-team members or integrations if triage is enabled.
	TriageIssueState *WorkflowState `json:"triageIssueState,omitempty"`
	// Whether the team is private or not.
	Private bool `json:"private"`
	// The workflow state into which issues are moved when a PR has been opened as draft.
	DraftWorkflowState *WorkflowState `json:"draftWorkflowState,omitempty"`
	// The workflow state into which issues are moved when a PR has been opened.
	StartWorkflowState *WorkflowState `json:"startWorkflowState,omitempty"`
	// The workflow state into which issues are moved when a review has been requested for the PR.
	ReviewWorkflowState *WorkflowState `json:"reviewWorkflowState,omitempty"`
	// The workflow state into which issues are moved when a PR is ready to be merged.
	MergeableWorkflowState *WorkflowState `json:"mergeableWorkflowState,omitempty"`
	// The workflow state into which issues are moved when a PR has been merged.
	MergeWorkflowState *WorkflowState `json:"mergeWorkflowState,omitempty"`
	// Whether to group recent issue history entries.
	GroupIssueHistory bool `json:"groupIssueHistory"`
	// Whether to send new issue notifications to Slack.
	SlackNewIssue bool `json:"slackNewIssue"`
	// Whether to send new issue comment notifications to Slack.
	SlackIssueComments bool `json:"slackIssueComments"`
	// Whether to send new issue status updates to Slack.
	SlackIssueStatuses bool `json:"slackIssueStatuses"`
	// Period after which issues are automatically closed in months. Null/undefined means disabled.
	AutoClosePeriod *float64 `json:"autoClosePeriod,omitempty"`
	// The canceled workflow state which auto closed issues will be set to. Defaults to the first canceled state.
	AutoCloseStateId *string `json:"autoCloseStateId,omitempty"`
	// Period after which automatically closed and completed issues are automatically archived in months.
	AutoArchivePeriod float64 `json:"autoArchivePeriod"`
	// The workflow state into which issues are moved when they are marked as a duplicate of another issue. Defaults to the first canceled state.
	MarkedAsDuplicateWorkflowState *WorkflowState `json:"markedAsDuplicateWorkflowState,omitempty"`
	// [INTERNAL] Whether new users should join this team by default.
	JoinByDefault *bool `json:"joinByDefault,omitempty"`
	// Calendar feed URL (iCal) for cycles.
	CycleCalenderUrl string `json:"cycleCalenderUrl"`
	// Issues associated with the team.
	Issues *IssueConnection `json:"issues"`
	// Number of issues in the team.
	IssueCount int32 `json:"issueCount"`
	// Cycles associated with the team.
	Cycles *CycleConnection `json:"cycles"`
	// Team's currently active cycle.
	ActiveCycle *Cycle `json:"activeCycle,omitempty"`
	// Team's triage responsibility.
	TriageResponsibility *TriageResponsibility `json:"triageResponsibility,omitempty"`
	// Users who are members of this team.
	Members *UserConnection `json:"members"`
	// Memberships associated with the team. For easier access of the same data, use `members` query.
	Memberships *TeamMembershipConnection `json:"memberships"`
	// Projects associated with the team.
	Projects *ProjectConnection `json:"projects"`
	// The states that define the workflow associated with the team.
	States *WorkflowStateConnection `json:"states"`
	// The Git automation states for the team.
	GitAutomationStates *GitAutomationStateConnection `json:"gitAutomationStates"`
	// Templates associated with the team.
	Templates *TemplateConnection `json:"templates"`
	// Labels associated with the team.
	Labels *IssueLabelConnection `json:"labels"`
	// Webhooks associated with the team.
	Webhooks *WebhookConnection `json:"webhooks"`
	// Settings for all integrations associated with that team.
	IntegrationsSettings *IntegrationsSettings `json:"integrationsSettings,omitempty"`
	// [DEPRECATED] Whether to move issues to bottom of the column when changing state.
	IssueSortOrderDefaultToBottom bool `json:"issueSortOrderDefaultToBottom"`
}

An organizational unit that contains issues.

type TeamArchivePayload

type TeamArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *Team `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type TeamCollectionFilter

type TeamCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Compound filters, all of which need to be matched by the roadmap.
	And []TeamCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the roadmap.
	Or []TeamCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some roadmaps.
	Some *TeamFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all roadmaps.
	Every *TeamFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

Roadmap collection filtering options.

type TeamConnection

type TeamConnection struct {
	Edges    []TeamEdge `json:"edges"`
	Nodes    []Team     `json:"nodes"`
	PageInfo *PageInfo  `json:"pageInfo"`
}

func FetchTeams

func FetchTeams(client *gqlclient.Client, ctx context.Context) (teams *TeamConnection, err error)

type TeamCreateInput

type TeamCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the team.
	Name string `json:"name"`
	// The description of the team.
	Description *string `json:"description,omitempty"`
	// The key of the team. If not given, the key will be generated based on the name of the team.
	Key *string `json:"key,omitempty"`
	// The icon of the team.
	Icon *string `json:"icon,omitempty"`
	// The color of the team.
	Color *string `json:"color,omitempty"`
	// The organization associated with the team.
	OrganizationId *string `json:"organizationId,omitempty"`
	// Whether the team uses cycles.
	CyclesEnabled *bool `json:"cyclesEnabled,omitempty"`
	// The day of the week that a new cycle starts.
	CycleStartDay *float64 `json:"cycleStartDay,omitempty"`
	// The duration of each cycle in weeks.
	CycleDuration *int32 `json:"cycleDuration,omitempty"`
	// The cooldown time after each cycle in weeks.
	CycleCooldownTime *int32 `json:"cycleCooldownTime,omitempty"`
	// Auto assign started issues to current active cycle setting.
	CycleIssueAutoAssignStarted *bool `json:"cycleIssueAutoAssignStarted,omitempty"`
	// Auto assign completed issues to current active cycle setting.
	CycleIssueAutoAssignCompleted *bool `json:"cycleIssueAutoAssignCompleted,omitempty"`
	// Only allow issues issues with cycles in Active Issues.
	CycleLockToActive *bool `json:"cycleLockToActive,omitempty"`
	// How many upcoming cycles to create.
	UpcomingCycleCount *float64 `json:"upcomingCycleCount,omitempty"`
	// Whether triage mode is enabled for the team.
	TriageEnabled *bool `json:"triageEnabled,omitempty"`
	// Whether an issue needs to have a priority set before leaving triage.
	RequirePriorityToLeaveTriage *bool `json:"requirePriorityToLeaveTriage,omitempty"`
	// The timezone of the team.
	Timezone *string `json:"timezone,omitempty"`
	// Whether issues without priority should be sorted first.
	IssueOrderingNoPriorityFirst *bool `json:"issueOrderingNoPriorityFirst,omitempty"`
	// The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
	IssueEstimationType *string `json:"issueEstimationType,omitempty"`
	// Whether to allow zeros in issues estimates.
	IssueEstimationAllowZero *bool `json:"issueEstimationAllowZero,omitempty"`
	// Whether to move issues to bottom of the column when changing state.
	SetIssueSortOrderOnStateChange *string `json:"setIssueSortOrderOnStateChange,omitempty"`
	// Whether to add additional points to the estimate scale.
	IssueEstimationExtended *bool `json:"issueEstimationExtended,omitempty"`
	// What to use as an default estimate for unestimated issues.
	DefaultIssueEstimate *float64 `json:"defaultIssueEstimate,omitempty"`
	// Whether to group recent issue history entries.
	GroupIssueHistory *bool `json:"groupIssueHistory,omitempty"`
	// The identifier of the default template for members of this team.
	DefaultTemplateForMembersId *string `json:"defaultTemplateForMembersId,omitempty"`
	// The identifier of the default template for non-members of this team.
	DefaultTemplateForNonMembersId *string `json:"defaultTemplateForNonMembersId,omitempty"`
	// The identifier of the default project template of this team.
	DefaultProjectTemplateId *string `json:"defaultProjectTemplateId,omitempty"`
	// Internal. Whether the team is private or not.
	Private *bool `json:"private,omitempty"`
	// Period after which issues are automatically closed, in months.
	AutoClosePeriod *float64 `json:"autoClosePeriod,omitempty"`
	// The canceled workflow state which auto closed issues will be set to.
	AutoCloseStateId *string `json:"autoCloseStateId,omitempty"`
	// Period after which closed and completed issues are automatically archived, in months. 0 means disabled.
	AutoArchivePeriod *float64 `json:"autoArchivePeriod,omitempty"`
	// The workflow state into which issues are moved when they are marked as a duplicate of another issue.
	MarkedAsDuplicateWorkflowStateId *string `json:"markedAsDuplicateWorkflowStateId,omitempty"`
}

type TeamEdge

type TeamEdge struct {
	Node *Team `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type TeamFilter

type TeamFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the team name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the team key.
	Key *StringComparator `json:"key,omitempty"`
	// Comparator for the team description.
	Description *NullableStringComparator `json:"description,omitempty"`
	// Filters that the teams issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Compound filters, all of which need to be matched by the team.
	And []TeamFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the team.
	Or []TeamFilter `json:"or,omitempty"`
}

Team filtering options.

type TeamMembership

type TeamMembership struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that the membership is associated with.
	User *User `json:"user"`
	// The team that the membership is associated with.
	Team *Team `json:"team"`
	// Whether the user is the owner of the team.
	Owner *bool `json:"owner,omitempty"`
	// The order of the item in the users team list.
	SortOrder float64 `json:"sortOrder"`
}

Defines the membership of a user to a team.

type TeamMembershipConnection

type TeamMembershipConnection struct {
	Edges    []TeamMembershipEdge `json:"edges"`
	Nodes    []TeamMembership     `json:"nodes"`
	PageInfo *PageInfo            `json:"pageInfo"`
}

type TeamMembershipCreateInput

type TeamMembershipCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the user associated with the membership.
	UserId string `json:"userId"`
	// The identifier of the team associated with the membership.
	TeamId string `json:"teamId"`
	// Internal. Whether the user is the owner of the team.
	Owner *bool `json:"owner,omitempty"`
	// The position of the item in the users list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type TeamMembershipEdge

type TeamMembershipEdge struct {
	Node *TeamMembership `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type TeamMembershipPayload

type TeamMembershipPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The team membership that was created or updated.
	TeamMembership *TeamMembership `json:"teamMembership,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type TeamMembershipUpdateInput

type TeamMembershipUpdateInput struct {
	// Internal. Whether the user is the owner of the team.
	Owner *bool `json:"owner,omitempty"`
	// The position of the item in the users list.
	SortOrder *float64 `json:"sortOrder,omitempty"`
}

type TeamNotificationSubscription

type TeamNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team subscribed to.
	Team *Team `json:"team"`
	// The user view associated with the notification subscription.
	User *User `json:"user,omitempty"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A team notification subscription.

type TeamPayload

type TeamPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The team that was created or updated.
	Team *Team `json:"team,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type TeamRepoMapping

type TeamRepoMapping struct {
	// The Linear team id to map to the given project.
	LinearTeamId string `json:"linearTeamId"`
	// The GitHub repo id.
	GitHubRepoId float64 `json:"gitHubRepoId"`
	// Whether the sync for this mapping is bidirectional.
	Bidirectional *bool `json:"bidirectional,omitempty"`
	// Whether this mapping is the default one for issue creation.
	Default *bool `json:"default,omitempty"`
}

Mapping of Linear teams to GitHub repos.

type TeamRepoMappingInput

type TeamRepoMappingInput struct {
	// The Linear team id to map to the given project.
	LinearTeamId string `json:"linearTeamId"`
	// The GitHub repo id.
	GitHubRepoId float64 `json:"gitHubRepoId"`
	// Whether the sync for this mapping is bidirectional.
	Bidirectional *bool `json:"bidirectional,omitempty"`
	// Whether this mapping is the default one for issue creation.
	Default *bool `json:"default,omitempty"`
}

type TeamSort

type TeamSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue team sorting options.

type TeamUpdateInput

type TeamUpdateInput struct {
	// The name of the team.
	Name *string `json:"name,omitempty"`
	// The description of the team.
	Description *string `json:"description,omitempty"`
	// The key of the team.
	Key *string `json:"key,omitempty"`
	// The icon of the team.
	Icon *string `json:"icon,omitempty"`
	// The color of the team.
	Color *string `json:"color,omitempty"`
	// Whether the team uses cycles.
	CyclesEnabled *bool `json:"cyclesEnabled,omitempty"`
	// The day of the week that a new cycle starts.
	CycleStartDay *float64 `json:"cycleStartDay,omitempty"`
	// The duration of each cycle in weeks.
	CycleDuration *int32 `json:"cycleDuration,omitempty"`
	// The cooldown time after each cycle in weeks.
	CycleCooldownTime *int32 `json:"cycleCooldownTime,omitempty"`
	// Auto assign started issues to current active cycle setting.
	CycleIssueAutoAssignStarted *bool `json:"cycleIssueAutoAssignStarted,omitempty"`
	// Auto assign completed issues to current active cycle setting.
	CycleIssueAutoAssignCompleted *bool `json:"cycleIssueAutoAssignCompleted,omitempty"`
	// Only allow issues with cycles in Active Issues.
	CycleLockToActive *bool `json:"cycleLockToActive,omitempty"`
	// [DEPRECATED] Whether the first cycle should start in the current or the next week.
	CycleEnabledStartWeek *string `json:"cycleEnabledStartWeek,omitempty"`
	// The date to begin cycles on.
	CycleEnabledStartDate *DateTime `json:"cycleEnabledStartDate,omitempty"`
	// How many upcoming cycles to create.
	UpcomingCycleCount *float64 `json:"upcomingCycleCount,omitempty"`
	// The timezone of the team.
	Timezone *string `json:"timezone,omitempty"`
	// Whether issues without priority should be sorted first.
	IssueOrderingNoPriorityFirst *bool `json:"issueOrderingNoPriorityFirst,omitempty"`
	// The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
	IssueEstimationType *string `json:"issueEstimationType,omitempty"`
	// Whether to allow zeros in issues estimates.
	IssueEstimationAllowZero *bool `json:"issueEstimationAllowZero,omitempty"`
	// Whether to move issues to bottom of the column when changing state.
	SetIssueSortOrderOnStateChange *string `json:"setIssueSortOrderOnStateChange,omitempty"`
	// Whether to add additional points to the estimate scale.
	IssueEstimationExtended *bool `json:"issueEstimationExtended,omitempty"`
	// What to use as an default estimate for unestimated issues.
	DefaultIssueEstimate *float64 `json:"defaultIssueEstimate,omitempty"`
	// The workflow state into which issues are moved when a draft PR has been opened.
	DraftWorkflowStateId *string `json:"draftWorkflowStateId,omitempty"`
	// The workflow state into which issues are moved when a PR has been opened.
	StartWorkflowStateId *string `json:"startWorkflowStateId,omitempty"`
	// The workflow state into which issues are moved when a review has been requested for the PR.
	ReviewWorkflowStateId *string `json:"reviewWorkflowStateId,omitempty"`
	// The workflow state into which issues are moved when a PR is ready to be merged.
	MergeableWorkflowStateId *string `json:"mergeableWorkflowStateId,omitempty"`
	// The workflow state into which issues are moved when a PR has been merged.
	MergeWorkflowStateId *string `json:"mergeWorkflowStateId,omitempty"`
	// Whether to send new issue notifications to Slack.
	SlackNewIssue *bool `json:"slackNewIssue,omitempty"`
	// Whether to send new issue comment notifications to Slack.
	SlackIssueComments *bool `json:"slackIssueComments,omitempty"`
	// Whether to send issue status update notifications to Slack.
	SlackIssueStatuses *bool `json:"slackIssueStatuses,omitempty"`
	// Whether to group recent issue history entries.
	GroupIssueHistory *bool `json:"groupIssueHistory,omitempty"`
	// The identifier of the default template for members of this team.
	DefaultTemplateForMembersId *string `json:"defaultTemplateForMembersId,omitempty"`
	// The identifier of the default template for non-members of this team.
	DefaultTemplateForNonMembersId *string `json:"defaultTemplateForNonMembersId,omitempty"`
	// The identifier of the default project template of this team.
	DefaultProjectTemplateId *string `json:"defaultProjectTemplateId,omitempty"`
	// Whether the team is private or not.
	Private *bool `json:"private,omitempty"`
	// Whether triage mode is enabled for the team.
	TriageEnabled *bool `json:"triageEnabled,omitempty"`
	// Whether an issue needs to have a priority set before leaving triage.
	RequirePriorityToLeaveTriage *bool `json:"requirePriorityToLeaveTriage,omitempty"`
	// Default status for newly created issues.
	DefaultIssueStateId *string `json:"defaultIssueStateId,omitempty"`
	// Period after which issues are automatically closed, in months.
	AutoClosePeriod *float64 `json:"autoClosePeriod,omitempty"`
	// The canceled workflow state which auto closed issues will be set to.
	AutoCloseStateId *string `json:"autoCloseStateId,omitempty"`
	// Period after which closed and completed issues are automatically archived, in months.
	AutoArchivePeriod *float64 `json:"autoArchivePeriod,omitempty"`
	// The workflow state into which issues are moved when they are marked as a duplicate of another issue.
	MarkedAsDuplicateWorkflowStateId *string `json:"markedAsDuplicateWorkflowStateId,omitempty"`
	// Whether new users should join this team by default. Mutation restricted to workspace admins!
	JoinByDefault *bool `json:"joinByDefault,omitempty"`
}

type Template

type Template struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The entity type this template is for.
	Type string `json:"type"`
	// The name of the template.
	Name string `json:"name"`
	// Template description.
	Description *string `json:"description,omitempty"`
	// Template data.
	TemplateData JSON `json:"templateData"`
	// The organization that the template is associated with. If null, the template is associated with a particular team.
	Organization *Organization `json:"organization,omitempty"`
	// The team that the template is associated with. If null, the template is global to the workspace.
	Team *Team `json:"team,omitempty"`
	// The user who created the template.
	Creator *User `json:"creator,omitempty"`
	// The user who last updated the template.
	LastUpdatedBy *User `json:"lastUpdatedBy,omitempty"`
}

A template object used for creating entities faster.

type TemplateConnection

type TemplateConnection struct {
	Edges    []TemplateEdge `json:"edges"`
	Nodes    []Template     `json:"nodes"`
	PageInfo *PageInfo      `json:"pageInfo"`
}

type TemplateCreateInput

type TemplateCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The template type, e.g. 'issue'.
	Type string `json:"type"`
	// The identifier or key of the team associated with the template. If not given, the template will be shared across all teams.
	TeamId *string `json:"teamId,omitempty"`
	// The template name.
	Name string `json:"name"`
	// The template description.
	Description *string `json:"description,omitempty"`
	// The template data as JSON encoded attributes of the type of entity, such as an issue.
	TemplateData JSON `json:"templateData"`
}

type TemplateEdge

type TemplateEdge struct {
	Node *Template `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type TemplatePayload

type TemplatePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The template that was created or updated.
	Template *Template `json:"template"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type TemplateUpdateInput

type TemplateUpdateInput struct {
	// The template name.
	Name *string `json:"name,omitempty"`
	// The template description.
	Description *string `json:"description,omitempty"`
	// The identifier or key of the team associated with the template. If set to null, the template will be shared across all teams.
	TeamId *string `json:"teamId,omitempty"`
	// The template data as JSON encoded attributes of the type of entity, such as an issue.
	TemplateData *JSON `json:"templateData,omitempty"`
}

type TimeSchedule

type TimeSchedule struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the schedule.
	Name string `json:"name"`
	// The schedule entries.
	Entries []TimeScheduleEntry `json:"entries"`
	// The identifier of the external schedule.
	ExternalId *string `json:"externalId,omitempty"`
	// The URL to the external schedule.
	ExternalUrl *string `json:"externalUrl,omitempty"`
	// The organization of the schedule.
	Organization *Organization `json:"organization"`
	// The identifier of the Linear integration populating the schedule.
	Integration *Integration `json:"integration,omitempty"`
}

A time schedule.

type TimeScheduleConnection

type TimeScheduleConnection struct {
	Edges    []TimeScheduleEdge `json:"edges"`
	Nodes    []TimeSchedule     `json:"nodes"`
	PageInfo *PageInfo          `json:"pageInfo"`
}

type TimeScheduleCreateInput

type TimeScheduleCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The name of the schedule.
	Name string `json:"name"`
	// The schedule entries.
	Entries []TimeScheduleEntryInput `json:"entries"`
	// The unique identifier of the external schedule.
	ExternalId *string `json:"externalId,omitempty"`
	// The URL to the external schedule.
	ExternalUrl *string `json:"externalUrl,omitempty"`
}

type TimeScheduleEdge

type TimeScheduleEdge struct {
	Node *TimeSchedule `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type TimeScheduleEntry

type TimeScheduleEntry struct {
	// The start date of the schedule in ISO 8601 date-time format.
	StartsAt DateTime `json:"startsAt"`
	// The end date of the schedule in ISO 8601 date-time format.
	EndsAt DateTime `json:"endsAt"`
	// 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.
	UserId *string `json:"userId,omitempty"`
	// 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.
	UserEmail *string `json:"userEmail,omitempty"`
}

type TimeScheduleEntryInput

type TimeScheduleEntryInput struct {
	// The start date of the schedule in ISO 8601 date-time format.
	StartsAt DateTime `json:"startsAt"`
	// The end date of the schedule in ISO 8601 date-time format.
	EndsAt DateTime `json:"endsAt"`
	// 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.
	UserId *string `json:"userId,omitempty"`
	// 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.
	UserEmail *string `json:"userEmail,omitempty"`
}

type TimeSchedulePayload

type TimeSchedulePayload struct {
	// The identifier of the last sync operation.
	LastSyncId   float64       `json:"lastSyncId"`
	TimeSchedule *TimeSchedule `json:"timeSchedule"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type TimeScheduleUpdateInput

type TimeScheduleUpdateInput struct {
	// The name of the schedule.
	Name *string `json:"name,omitempty"`
	// The schedule entries.
	Entries []TimeScheduleEntryInput `json:"entries,omitempty"`
	// The unique identifier of the external schedule.
	ExternalId *string `json:"externalId,omitempty"`
	// The URL to the external schedule.
	ExternalUrl *string `json:"externalUrl,omitempty"`
}

type TimelessDate

type TimelessDate string

Represents a date in ISO 8601 format. Accepts shortcuts like `2021` to represent midnight Fri Jan 01 2021. Also accepts ISO 8601 durations strings which are added to the current date to create the represented date (e.g '-P2W1D' represents the date that was two weeks and 1 day ago)

type TimelessDateComparator

type TimelessDateComparator struct {
	// Equals constraint.
	Eq *TimelessDate `json:"eq,omitempty"`
	// Not-equals constraint.
	Neq *TimelessDate `json:"neq,omitempty"`
	// In-array constraint.
	In []TimelessDate `json:"in,omitempty"`
	// Not-in-array constraint.
	Nin []TimelessDate `json:"nin,omitempty"`
	// Less-than constraint. Matches any values that are less than the given value.
	Lt *TimelessDate `json:"lt,omitempty"`
	// Less-than-or-equal constraint. Matches any values that are less than or equal to the given value.
	Lte *TimelessDate `json:"lte,omitempty"`
	// Greater-than constraint. Matches any values that are greater than the given value.
	Gt *TimelessDate `json:"gt,omitempty"`
	// Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value.
	Gte *TimelessDate `json:"gte,omitempty"`
}

Comparator for timeless dates.

type TitleSort

type TitleSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue title sorting options.

type TokenUserAccountAuthInput

type TokenUserAccountAuthInput struct {
	// The email which to login via the magic login code.
	Email string `json:"email"`
	// The magic login code.
	Token string `json:"token"`
	// The timezone of the user's browser.
	Timezone string `json:"timezone"`
	// The identifiers of the teams to auto-join.
	TeamIdsToJoin []string `json:"teamIdsToJoin,omitempty"`
	// An optional invite link for an organization.
	InviteLink *string `json:"inviteLink,omitempty"`
}

type TriageResponsibility

type TriageResponsibility struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The action to take when an issue is added to triage.
	Action TriageResponsibilityAction `json:"action"`
	// Set of users used for triage responsibility.
	ManualSelection *TriageResponsibilityManualSelection `json:"manualSelection,omitempty"`
	// The team to which the triage responsibility belongs to.
	Team *Team `json:"team"`
	// The time schedule used for scheduling.
	TimeSchedule *TimeSchedule `json:"timeSchedule,omitempty"`
	// The user currently responsible for triage.
	CurrentUser *User `json:"currentUser,omitempty"`
}

A team's triage responsibility.

type TriageResponsibilityAction

type TriageResponsibilityAction string

Which action should be taken after an issue is added to triage.

const (
	TriageResponsibilityActionAssign TriageResponsibilityAction = "assign"
	TriageResponsibilityActionNotify TriageResponsibilityAction = "notify"
)

type TriageResponsibilityConnection

type TriageResponsibilityConnection struct {
	Edges    []TriageResponsibilityEdge `json:"edges"`
	Nodes    []TriageResponsibility     `json:"nodes"`
	PageInfo *PageInfo                  `json:"pageInfo"`
}

type TriageResponsibilityCreateInput

type TriageResponsibilityCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The identifier of the team associated with the triage responsibility.
	TeamId string `json:"teamId"`
	// The action to take when an issue is added to triage.
	Action string `json:"action"`
	// The manual selection of users responsible for triage.
	ManualSelection *TriageResponsibilityManualSelectionInput `json:"manualSelection,omitempty"`
	// The identifier of the time schedule used for scheduling triage responsibility
	TimeScheduleId *string `json:"timeScheduleId,omitempty"`
}

type TriageResponsibilityEdge

type TriageResponsibilityEdge struct {
	Node *TriageResponsibility `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type TriageResponsibilityManualSelection

type TriageResponsibilityManualSelection struct {
	// The set of users responsible for triage.
	UserIds []string `json:"userIds"`
	// [INTERNAL] The index of the current userId used for the assign action when having more than one user.
	AssignmentIndex *int32 `json:"assignmentIndex,omitempty"`
}

type TriageResponsibilityManualSelectionInput

type TriageResponsibilityManualSelectionInput struct {
	// The set of users responsible for triage.
	UserIds []string `json:"userIds"`
	// [INTERNAL] The index of the current userId used for the assign action when having more than one user.
	AssignmentIndex *int32 `json:"assignmentIndex,omitempty"`
}

Manual triage responsibility using a set of users.

type TriageResponsibilityPayload

type TriageResponsibilityPayload struct {
	// The identifier of the last sync operation.
	LastSyncId           float64               `json:"lastSyncId"`
	TriageResponsibility *TriageResponsibility `json:"triageResponsibility"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type TriageResponsibilityUpdateInput

type TriageResponsibilityUpdateInput struct {
	// The action to take when an issue is added to triage.
	Action *string `json:"action,omitempty"`
	// The manual selection of users responsible for triage.
	ManualSelection *TriageResponsibilityManualSelectionInput `json:"manualSelection,omitempty"`
	// The identifier of the time schedule used for scheduling triage responsibility.
	TimeScheduleId *string `json:"timeScheduleId,omitempty"`
}

type UUID

type UUID string

A universally unique identifier as specified by RFC 4122.

type UpdatedAtSort

type UpdatedAtSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue update date sorting options.

type UploadFile

type UploadFile struct {
	// The filename.
	Filename string `json:"filename"`
	// The content type.
	ContentType string `json:"contentType"`
	// The size of the uploaded file.
	Size int32 `json:"size"`
	// The signed URL the for the uploaded file. (assigned automatically).
	UploadUrl string `json:"uploadUrl"`
	// The asset URL for the uploaded file. (assigned automatically).
	AssetUrl string             `json:"assetUrl"`
	MetaData *JSONObject        `json:"metaData,omitempty"`
	Headers  []UploadFileHeader `json:"headers"`
}

Object representing Google Cloud upload policy, plus additional data.

type UploadFileHeader

type UploadFileHeader struct {
	// Upload file header key.
	Key string `json:"key"`
	// Upload file header value.
	Value string `json:"value"`
}

type UploadPayload

type UploadPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Object describing the file to be uploaded.
	UploadFile *UploadFile `json:"uploadFile,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type User

type User struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user's full name.
	Name string `json:"name"`
	// The user's display (nick) name. Unique within each organization.
	DisplayName string `json:"displayName"`
	// The user's email address.
	Email string `json:"email"`
	// An URL to the user's avatar image.
	AvatarUrl *string `json:"avatarUrl,omitempty"`
	// Reason why is the account disabled.
	DisableReason *string `json:"disableReason,omitempty"`
	// Unique hash for the user to be used in invite URLs.
	InviteHash string `json:"inviteHash"`
	// [DEPRECATED] Hash for the user to be used in calendar URLs.
	CalendarHash *string `json:"calendarHash,omitempty"`
	// A short description of the user, either its title or bio.
	Description *string `json:"description,omitempty"`
	// The emoji to represent the user current status.
	StatusEmoji *string `json:"statusEmoji,omitempty"`
	// The label of the user current status.
	StatusLabel *string `json:"statusLabel,omitempty"`
	// A date at which the user current status should be cleared.
	StatusUntilAt *DateTime `json:"statusUntilAt,omitempty"`
	// The local timezone of the user.
	Timezone *string `json:"timezone,omitempty"`
	// Organization the user belongs to.
	Organization *Organization `json:"organization"`
	// The last time the user was seen online. If null, the user is currently online.
	LastSeen *DateTime `json:"lastSeen,omitempty"`
	// Whether the user is a guest in the workspace and limited to accessing a subset of teams.
	Guest bool `json:"guest"`
	// Whether the user account is active or disabled (suspended).
	Active bool `json:"active"`
	// User's profile URL.
	Url string `json:"url"`
	// Issues assigned to the user.
	AssignedIssues *IssueConnection `json:"assignedIssues"`
	// Issues created by the user.
	CreatedIssues *IssueConnection `json:"createdIssues"`
	// Number of issues created.
	CreatedIssueCount int32 `json:"createdIssueCount"`
	// Teams the user is part of.
	Teams *TeamConnection `json:"teams"`
	// Memberships associated with the user. For easier access of the same data, use `teams` query.
	TeamMemberships *TeamMembershipConnection `json:"teamMemberships"`
	// Whether the user is the currently authenticated user.
	IsMe bool `json:"isMe"`
	// Whether the user is an organization administrator.
	Admin bool `json:"admin"`
}

A user that has access to the the resources of an organization.

func FetchMe

func FetchMe(client *gqlclient.Client, ctx context.Context) (viewer *User, err error)

type UserAccount

type UserAccount struct {
	// The models identifier.
	Id string `json:"id"`
	// The time at which the model was created.
	CreatedAt DateTime `json:"createdAt"`
	// The time at which the model was updated.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the model was archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user's name.
	Name *string `json:"name,omitempty"`
	// The user's email address.
	Email string `json:"email"`
	// The authentication service used to create the account.
	Service string `json:"service"`
	// Whether not to send email auth links in the email auth emails.
	AuthTokenLinkDisabled bool `json:"authTokenLinkDisabled"`
}

A user account.

type UserAccountEmailChange

type UserAccountEmailChange struct {
	// The model's identifier.
	Id string `json:"id"`
	// The time at which the model was updated.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the model was archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user account's current email.
	OldEmail string `json:"oldEmail"`
	// The timestamp the old email was verified at.
	OldEmailVerifiedAt *DateTime `json:"oldEmailVerifiedAt,omitempty"`
	// The new email the user account wants to change to.
	NewEmail string `json:"newEmail"`
	// The timestamp the new email was verified at.
	NewEmailVerifiedAt *DateTime `json:"newEmailVerifiedAt,omitempty"`
	// The timestamp the verification codes expire at.
	ExpiresAt DateTime `json:"expiresAt"`
	// The timestamp this verification challenge was canceled at.
	CanceledAt *DateTime `json:"canceledAt,omitempty"`
}

[INTERNAL] An email change verification challenge.

type UserAdminPayload

type UserAdminPayload struct {
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type UserAuthorizedApplication

type UserAuthorizedApplication struct {
	// OAuth application's ID.
	Id string `json:"id"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// Application name.
	Name string `json:"name"`
	// Information about the application.
	Description *string `json:"description,omitempty"`
	// Name of the developer.
	Developer string `json:"developer"`
	// Url of the developer (homepage or docs).
	DeveloperUrl string `json:"developerUrl"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Whether the user has authorized the application for the given scopes.
	IsAuthorized bool `json:"isAuthorized"`
	// Whether the application was created by Linear.
	CreatedByLinear bool `json:"createdByLinear"`
	// Whether or not webhooks are enabled for the application.
	WebhooksEnabled bool `json:"webhooksEnabled"`
	// Error associated with the application needing to be requested for approval in the workspace.
	ApprovalErrorCode *string `json:"approvalErrorCode,omitempty"`
}

Public information of the OAuth application, plus whether the application has been authorized for the given scopes.

type UserCollectionFilter

type UserCollectionFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the user's name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the user's display name.
	DisplayName *StringComparator `json:"displayName,omitempty"`
	// Comparator for the user's email.
	Email *StringComparator `json:"email,omitempty"`
	// Comparator for the user's activity status.
	Active *BooleanComparator `json:"active,omitempty"`
	// Filters that the users assigned issues must satisfy.
	AssignedIssues *IssueCollectionFilter `json:"assignedIssues,omitempty"`
	// Comparator for the user's admin status.
	Admin *BooleanComparator `json:"admin,omitempty"`
	// Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
	IsMe *BooleanComparator `json:"isMe,omitempty"`
	// Compound filters, all of which need to be matched by the user.
	And []UserCollectionFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the user.
	Or []UserCollectionFilter `json:"or,omitempty"`
	// Filters that needs to be matched by some users.
	Some *UserFilter `json:"some,omitempty"`
	// Filters that needs to be matched by all users.
	Every *UserFilter `json:"every,omitempty"`
	// Comparator for the collection length.
	Length *NumberComparator `json:"length,omitempty"`
}

User filtering options.

type UserConnection

type UserConnection struct {
	Edges    []UserEdge `json:"edges"`
	Nodes    []User     `json:"nodes"`
	PageInfo *PageInfo  `json:"pageInfo"`
}

type UserContextViewType

type UserContextViewType string
const (
	UserContextViewTypeAssigned UserContextViewType = "assigned"
)

type UserEdge

type UserEdge struct {
	Node *User `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type UserFilter

type UserFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the user's name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the user's display name.
	DisplayName *StringComparator `json:"displayName,omitempty"`
	// Comparator for the user's email.
	Email *StringComparator `json:"email,omitempty"`
	// Comparator for the user's activity status.
	Active *BooleanComparator `json:"active,omitempty"`
	// Filters that the users assigned issues must satisfy.
	AssignedIssues *IssueCollectionFilter `json:"assignedIssues,omitempty"`
	// Comparator for the user's admin status.
	Admin *BooleanComparator `json:"admin,omitempty"`
	// Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
	IsMe *BooleanComparator `json:"isMe,omitempty"`
	// Compound filters, all of which need to be matched by the user.
	And []UserFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the user.
	Or []UserFilter `json:"or,omitempty"`
}

User filtering options.

type UserFlagType

type UserFlagType string

The types of flags that the user can have.

const (
	UserFlagTypeUpdatedslackthreadsyncintegration        UserFlagType = "updatedSlackThreadSyncIntegration"
	UserFlagTypeCompletedonboarding                      UserFlagType = "completedOnboarding"
	UserFlagTypeDesktopinstalled                         UserFlagType = "desktopInstalled"
	UserFlagTypeTeamspageintroductiondismissed           UserFlagType = "teamsPageIntroductionDismissed"
	UserFlagTypeJointeamintroductiondismissed            UserFlagType = "joinTeamIntroductionDismissed"
	UserFlagTypeDesktopdownloadtoastdismissed            UserFlagType = "desktopDownloadToastDismissed"
	UserFlagTypeEmptybacklogdismissed                    UserFlagType = "emptyBacklogDismissed"
	UserFlagTypeEmptycustomviewsdismissed                UserFlagType = "emptyCustomViewsDismissed"
	UserFlagTypeEmptyactiveissuesdismissed               UserFlagType = "emptyActiveIssuesDismissed"
	UserFlagTypeEmptymyissuesdismissed                   UserFlagType = "emptyMyIssuesDismissed"
	UserFlagTypeTriagewelcomedismissed                   UserFlagType = "triageWelcomeDismissed"
	UserFlagTypeCyclewelcomedismissed                    UserFlagType = "cycleWelcomeDismissed"
	UserFlagTypeProjectwelcomedismissed                  UserFlagType = "projectWelcomeDismissed"
	UserFlagTypeProjectbacklogwelcomedismissed           UserFlagType = "projectBacklogWelcomeDismissed"
	UserFlagTypeProjectupdateswelcomedismissed           UserFlagType = "projectUpdatesWelcomeDismissed"
	UserFlagTypeAnalyticswelcomedismissed                UserFlagType = "analyticsWelcomeDismissed"
	UserFlagTypeInsightswelcomedismissed                 UserFlagType = "insightsWelcomeDismissed"
	UserFlagTypeInsightshelpdismissed                    UserFlagType = "insightsHelpDismissed"
	UserFlagTypeFigmapromptdismissed                     UserFlagType = "figmaPromptDismissed"
	UserFlagTypeIssuemovepromptcompleted                 UserFlagType = "issueMovePromptCompleted"
	UserFlagTypeMigratethemepreference                   UserFlagType = "migrateThemePreference"
	UserFlagTypeListselectiontip                         UserFlagType = "listSelectionTip"
	UserFlagTypeCanplaysnake                             UserFlagType = "canPlaySnake"
	UserFlagTypeCanplaytetris                            UserFlagType = "canPlayTetris"
	UserFlagTypeImportbannerdismissed                    UserFlagType = "importBannerDismissed"
	UserFlagTypeTryinvitepeopledismissed                 UserFlagType = "tryInvitePeopleDismissed"
	UserFlagTypeTryroadmapsdismissed                     UserFlagType = "tryRoadmapsDismissed"
	UserFlagTypeTrycyclesdismissed                       UserFlagType = "tryCyclesDismissed"
	UserFlagTypeTrytriagedismissed                       UserFlagType = "tryTriageDismissed"
	UserFlagTypeTrygithubdismissed                       UserFlagType = "tryGithubDismissed"
	UserFlagTypeRewindbannerdismissed                    UserFlagType = "rewindBannerDismissed"
	UserFlagTypeHelpislandfeatureinsightsdismissed       UserFlagType = "helpIslandFeatureInsightsDismissed"
	UserFlagTypeDuedateshortcutmigration                 UserFlagType = "dueDateShortcutMigration"
	UserFlagTypeSlackcommentreactiontipshown             UserFlagType = "slackCommentReactionTipShown"
	UserFlagTypeIssuelabelsuggestionused                 UserFlagType = "issueLabelSuggestionUsed"
	UserFlagTypeThreadedcommentsnudgeisseen              UserFlagType = "threadedCommentsNudgeIsSeen"
	UserFlagTypeDesktoptabsonboardingdismissed           UserFlagType = "desktopTabsOnboardingDismissed"
	UserFlagTypeMilestoneonboardingisseenanddismissed    UserFlagType = "milestoneOnboardingIsSeenAndDismissed"
	UserFlagTypeProjectboardonboardingisseenanddismissed UserFlagType = "projectBoardOnboardingIsSeenAndDismissed"
	UserFlagTypeFigmapluginbannerdismissed               UserFlagType = "figmaPluginBannerDismissed"
	UserFlagTypeAll                                      UserFlagType = "all"
)

type UserFlagUpdateOperation

type UserFlagUpdateOperation string

Operations that can be applied to UserFlagType.

const (
	UserFlagUpdateOperationIncr  UserFlagUpdateOperation = "incr"
	UserFlagUpdateOperationDecr  UserFlagUpdateOperation = "decr"
	UserFlagUpdateOperationClear UserFlagUpdateOperation = "clear"
	UserFlagUpdateOperationLock  UserFlagUpdateOperation = "lock"
)

type UserNotificationSubscription

type UserNotificationSubscription struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The user that subscribed to receive notifications.
	Subscriber *User `json:"subscriber"`
	// The contextual custom view associated with the notification subscription.
	CustomView *CustomView `json:"customView,omitempty"`
	// The contextual cycle view associated with the notification subscription.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual label view associated with the notification subscription.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual project view associated with the notification subscription.
	Project *Project `json:"project,omitempty"`
	// The team associated with the notification subscription.
	Team *Team `json:"team,omitempty"`
	// The user subscribed to.
	User *User `json:"user"`
	// The type of view to which the notification subscription context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which the notification subscription context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
	// Whether the subscription is active or not.
	Active bool `json:"active"`
	// The type of subscription.
	NotificationSubscriptionTypes []string `json:"notificationSubscriptionTypes"`
}

A user notification subscription.

type UserPayload

type UserPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The user that was created or updated.
	User *User `json:"user,omitempty"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type UserRoleType

type UserRoleType string

The different permission roles available to users on an organization.

const (
	UserRoleTypeAdmin UserRoleType = "admin"
	UserRoleTypeGuest UserRoleType = "guest"
	UserRoleTypeUser  UserRoleType = "user"
)

type UserSettings

type UserSettings struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The notification channel settings the user has selected.
	NotificationPreferences JSONObject `json:"notificationPreferences"`
	// The email types the user has unsubscribed from.
	UnsubscribedFrom []string `json:"unsubscribedFrom"`
	// The user associated with these settings.
	User *User `json:"user"`
	// Hash for the user to be used in calendar URLs.
	CalendarHash *string `json:"calendarHash,omitempty"`
	// Whether this user is subscribed to changelog email or not.
	SubscribedToChangelog bool `json:"subscribedToChangelog"`
	// Whether this user is subscribed to DPA emails or not.
	SubscribedToDPA bool `json:"subscribedToDPA"`
	// Whether this user is subscribed to invite accepted emails or not.
	SubscribedToInviteAccepted bool `json:"subscribedToInviteAccepted"`
	// Whether this user is subscribed to privacy and legal update emails or not.
	SubscribedToPrivacyLegalUpdates bool `json:"subscribedToPrivacyLegalUpdates"`
	// Whether this user is subscribed to unread notifications reminder emails or not.
	SubscribedToUnreadNotificationsReminder bool `json:"subscribedToUnreadNotificationsReminder"`
	// Whether to show full user names instead of display names.
	ShowFullUserNames bool `json:"showFullUserNames"`
}

The settings of a user as a JSON object.

type UserSettingsFlagPayload

type UserSettingsFlagPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The flag key which was updated.
	Flag string `json:"flag"`
	// The flag value after update.
	Value int32 `json:"value"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type UserSettingsFlagsResetPayload

type UserSettingsFlagsResetPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type UserSettingsPayload

type UserSettingsPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The user's settings.
	UserSettings *UserSettings `json:"userSettings"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type UserSettingsUpdateInput

type UserSettingsUpdateInput struct {
	// The user's settings.
	Settings *JSONObject `json:"settings,omitempty"`
	// The types of emails the user has unsubscribed from.
	UnsubscribedFrom []string `json:"unsubscribedFrom,omitempty"`
	// Whether this user is subscribed to changelog email or not.
	SubscribedToChangelog *bool `json:"subscribedToChangelog,omitempty"`
	// Whether this user is subscribed to DPA emails or not.
	SubscribedToDPA *bool `json:"subscribedToDPA,omitempty"`
	// Whether this user is subscribed to invite accepted emails or not.
	SubscribedToInviteAccepted *bool `json:"subscribedToInviteAccepted,omitempty"`
	// Whether this user is subscribed to privacy and legal update emails or not.
	SubscribedToPrivacyLegalUpdates *bool `json:"subscribedToPrivacyLegalUpdates,omitempty"`
	// Whether this user is subscribed to email notifications reminder or not.
	SubscribedToUnreadNotificationsReminder *bool `json:"subscribedToUnreadNotificationsReminder,omitempty"`
	// The user's notification preferences.
	NotificationPreferences *JSONObject `json:"notificationPreferences,omitempty"`
	// [Internal] The user's usage warning history.
	UsageWarningHistory *JSONObject `json:"usageWarningHistory,omitempty"`
}

type UserUpdateInput

type UserUpdateInput struct {
	// The name of the user.
	Name *string `json:"name,omitempty"`
	// The display name of the user.
	DisplayName *string `json:"displayName,omitempty"`
	// The avatar image URL of the user.
	AvatarUrl *string `json:"avatarUrl,omitempty"`
	// Whether the user account is active.
	Active *bool `json:"active,omitempty"`
	// Reason for deactivation.
	DisableReason *string `json:"disableReason,omitempty"`
	// Whether the user account has admin privileges.
	Admin *bool `json:"admin,omitempty"`
	// The user description or a short bio.
	Description *string `json:"description,omitempty"`
	// The emoji part of the user status.
	StatusEmoji *string `json:"statusEmoji,omitempty"`
	// The label part of the user status.
	StatusLabel *string `json:"statusLabel,omitempty"`
	// When the user status should be cleared.
	StatusUntilAt *DateTime `json:"statusUntilAt,omitempty"`
	// The local timezone of the user.
	Timezone *string `json:"timezone,omitempty"`
}

type ViewPreferences

type ViewPreferences struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The view preference type.
	Type string `json:"type"`
	// The view type.
	ViewType string `json:"viewType"`
}

View preferences.

type ViewPreferencesCreateInput

type ViewPreferencesCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The type of view preferences (either user or organization level preferences).
	Type ViewPreferencesType `json:"type"`
	// The view type of the view preferences are associated with.
	ViewType ViewType `json:"viewType"`
	// View preferences object.
	Preferences JSONObject `json:"preferences"`
	// The default parameters for the insight on that view.
	Insights *JSONObject `json:"insights,omitempty"`
	// The team these view preferences are associated with.
	TeamId *string `json:"teamId,omitempty"`
	// The project these view preferences are associated with.
	ProjectId *string `json:"projectId,omitempty"`
	// The roadmap these view preferences are associated with.
	RoadmapId *string `json:"roadmapId,omitempty"`
	// [Internal] The initiative these view preferences are associated with.
	InitiativeId *string `json:"initiativeId,omitempty"`
	// The label these view preferences are associated with.
	LabelId *string `json:"labelId,omitempty"`
	// The cycle these view preferences are associated with.
	CycleId *string `json:"cycleId,omitempty"`
	// The custom view these view preferences are associated with.
	CustomViewId *string `json:"customViewId,omitempty"`
	// The user profile these view preferences are associated with.
	UserId *string `json:"userId,omitempty"`
}

type ViewPreferencesPayload

type ViewPreferencesPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The view preferences entity being mutated.
	ViewPreferences *ViewPreferences `json:"viewPreferences"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type ViewPreferencesType

type ViewPreferencesType string

The type of view preferences (either user or organization level preferences).

const (
	ViewPreferencesTypeOrganization ViewPreferencesType = "organization"
	ViewPreferencesTypeUser         ViewPreferencesType = "user"
)

type ViewPreferencesUpdateInput

type ViewPreferencesUpdateInput struct {
	// View preferences.
	Preferences *JSONObject `json:"preferences,omitempty"`
	// The default parameters for the insight on that view.
	Insights *JSONObject `json:"insights,omitempty"`
}

type ViewType

type ViewType string

The client view this custom view is targeting.

const (
	ViewTypeInbox                    ViewType = "inbox"
	ViewTypeMyissues                 ViewType = "myIssues"
	ViewTypeMyissuescreatedbyme      ViewType = "myIssuesCreatedByMe"
	ViewTypeMyissuessubscribedto     ViewType = "myIssuesSubscribedTo"
	ViewTypeMyissuesactivity         ViewType = "myIssuesActivity"
	ViewTypeUserprofile              ViewType = "userProfile"
	ViewTypeUserprofilecreatedbyuser ViewType = "userProfileCreatedByUser"
	ViewTypeBoard                    ViewType = "board"
	ViewTypeCompletedcycle           ViewType = "completedCycle"
	ViewTypeCycle                    ViewType = "cycle"
	ViewTypeProject                  ViewType = "project"
	ViewTypeProjectdocuments         ViewType = "projectDocuments"
	ViewTypeLabel                    ViewType = "label"
	ViewTypeTriage                   ViewType = "triage"
	ViewTypeActiveissues             ViewType = "activeIssues"
	ViewTypeBacklog                  ViewType = "backlog"
	ViewTypeAllissues                ViewType = "allIssues"
	ViewTypeCustomview               ViewType = "customView"
	ViewTypeCustomviews              ViewType = "customViews"
	ViewTypeCustomroadmap            ViewType = "customRoadmap"
	ViewTypeRoadmap                  ViewType = "roadmap"
	ViewTypeRoadmaps                 ViewType = "roadmaps"
	ViewTypeRoadmapall               ViewType = "roadmapAll"
	ViewTypeRoadmapclosed            ViewType = "roadmapClosed"
	ViewTypeRoadmapbacklog           ViewType = "roadmapBacklog"
	ViewTypeInitiative               ViewType = "initiative"
	ViewTypeInitiatives              ViewType = "initiatives"
	ViewTypeProjects                 ViewType = "projects"
	ViewTypeProjectsall              ViewType = "projectsAll"
	ViewTypeProjectsbacklog          ViewType = "projectsBacklog"
	ViewTypeProjectsclosed           ViewType = "projectsClosed"
	ViewTypeSearch                   ViewType = "search"
	ViewTypeSplitsearch              ViewType = "splitSearch"
	ViewTypeTeams                    ViewType = "teams"
	ViewTypeArchive                  ViewType = "archive"
	ViewTypeQuickview                ViewType = "quickView"
	ViewTypeIssueidentifiers         ViewType = "issueIdentifiers"
)

type Webhook

type Webhook struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// Webhook label.
	Label *string `json:"label,omitempty"`
	// Webhook URL.
	Url *string `json:"url,omitempty"`
	// Whether the Webhook is enabled.
	Enabled bool `json:"enabled"`
	// The team that the webhook is associated with. If null, the webhook is associated with all public teams of the organization.
	Team *Team `json:"team,omitempty"`
	// Whether the Webhook is enabled for all public teams, including teams created after the webhook was created.
	AllPublicTeams bool `json:"allPublicTeams"`
	// The user who created the webhook.
	Creator *User `json:"creator,omitempty"`
	// Secret token for verifying the origin on the recipient side.
	Secret *string `json:"secret,omitempty"`
	// The resource types this webhook is subscribed to.
	ResourceTypes []string `json:"resourceTypes"`
}

A webhook used to send HTTP notifications over data updates.

type WebhookConnection

type WebhookConnection struct {
	Edges    []WebhookEdge `json:"edges"`
	Nodes    []Webhook     `json:"nodes"`
	PageInfo *PageInfo     `json:"pageInfo"`
}

type WebhookCreateInput

type WebhookCreateInput struct {
	// Label for the webhook.
	Label *string `json:"label,omitempty"`
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// Whether this webhook is enabled.
	Enabled *bool `json:"enabled,omitempty"`
	// A secret token used to sign the webhook payload.
	Secret *string `json:"secret,omitempty"`
	// The URL that will be called on data changes.
	Url string `json:"url"`
	// List of resources the webhook should subscribe to.
	ResourceTypes []string `json:"resourceTypes"`
	// The identifier or key of the team associated with the Webhook.
	TeamId *string `json:"teamId,omitempty"`
	// Whether this webhook is enabled for all public teams.
	AllPublicTeams *bool `json:"allPublicTeams,omitempty"`
}

type WebhookEdge

type WebhookEdge struct {
	Node *Webhook `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type WebhookPayload

type WebhookPayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The webhook entity being mutated.
	Webhook *Webhook `json:"webhook"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type WebhookUpdateInput

type WebhookUpdateInput struct {
	// Label for the webhook.
	Label *string `json:"label,omitempty"`
	// A secret token used to sign the webhook payload.
	Secret *string `json:"secret,omitempty"`
	// Whether this webhook is enabled.
	Enabled *bool `json:"enabled,omitempty"`
	// The URL that will be called on data changes.
	Url *string `json:"url,omitempty"`
	// List of resources the webhook should subscribe to.
	ResourceTypes []string `json:"resourceTypes,omitempty"`
}

type WorkflowCondition

type WorkflowCondition struct {
	// Trigger the workflow when an issue matches the filter. Can only be used when the trigger type is `Issue`.
	IssueFilter *IssueFilter `json:"issueFilter,omitempty"`
	// Triggers the workflow when a project matches the filter. Can only be used when the trigger type is `Project`.
	ProjectFilter *ProjectFilter `json:"projectFilter,omitempty"`
}

A condition to match for the workflow to be triggered.

type WorkflowCronJobDefinition

type WorkflowCronJobDefinition struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the workflow cron job.
	Name string `json:"name"`
	// The description of the workflow cron job.
	Description *string `json:"description,omitempty"`
	Enabled     bool    `json:"enabled"`
	// The team associated with the workflow cron job.
	Team *Team `json:"team"`
	// The user who created the workflow cron job.
	Creator *User `json:"creator"`
	// Cron schedule which is used to execute the workflow cron job.
	Schedule JSONObject `json:"schedule"`
	// An array of activities that will be executed as part of the workflow cron job.
	Activities JSONObject `json:"activities"`
	// The sort order of the workflow cron job definition within its siblings.
	SortOrder string `json:"sortOrder"`
}

type WorkflowCronJobDefinitionConnection

type WorkflowCronJobDefinitionConnection struct {
	Edges    []WorkflowCronJobDefinitionEdge `json:"edges"`
	Nodes    []WorkflowCronJobDefinition     `json:"nodes"`
	PageInfo *PageInfo                       `json:"pageInfo"`
}

type WorkflowCronJobDefinitionEdge

type WorkflowCronJobDefinitionEdge struct {
	Node *WorkflowCronJobDefinition `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type WorkflowDefinition

type WorkflowDefinition struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The name of the workflow.
	Name string `json:"name"`
	// The name of the group that the workflow belongs to.
	GroupName *string `json:"groupName,omitempty"`
	// The description of the workflow.
	Description *string `json:"description,omitempty"`
	// The type of the workflow.
	Type WorkflowType `json:"type"`
	// The type of the event that triggers off the workflow.
	Trigger WorkflowTrigger `json:"trigger"`
	// The object type (e.g. Issue) that triggers this workflow.
	TriggerType WorkflowTriggerType `json:"triggerType"`
	// The conditions that need to be match for the workflow to be triggered.
	Conditions JSONObject `json:"conditions"`
	Enabled    bool       `json:"enabled"`
	// The team associated with the workflow. If not set, the workflow is associated with the entire organization.
	Team *Team `json:"team,omitempty"`
	// The user who created the workflow.
	Creator *User `json:"creator"`
	// An array of activities that will be executed as part of the workflow.
	Activities JSONObject `json:"activities"`
	// The sort order of the workflow definition within its siblings.
	SortOrder string `json:"sortOrder"`
	// The contextual label view associated with the workflow.
	Label *IssueLabel `json:"label,omitempty"`
	// The contextual cycle view associated with the workflow.
	Cycle *Cycle `json:"cycle,omitempty"`
	// The contextual user view associated with the workflow.
	User *User `json:"user,omitempty"`
	// The contextual project view associated with the workflow.
	Project *Project `json:"project,omitempty"`
	// The context custom view associated with the workflow.
	CustomView *CustomView `json:"customView,omitempty"`
	// The type of view to which this workflow's context is associated with.
	ContextViewType *ContextViewType `json:"contextViewType,omitempty"`
	// The type of user view to which this workflow's context is associated with.
	UserContextViewType *UserContextViewType `json:"userContextViewType,omitempty"`
}

type WorkflowDefinitionConnection

type WorkflowDefinitionConnection struct {
	Edges    []WorkflowDefinitionEdge `json:"edges"`
	Nodes    []WorkflowDefinition     `json:"nodes"`
	PageInfo *PageInfo                `json:"pageInfo"`
}

type WorkflowDefinitionEdge

type WorkflowDefinitionEdge struct {
	Node *WorkflowDefinition `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type WorkflowState

type WorkflowState struct {
	// The unique identifier of the entity.
	Id string `json:"id"`
	// The time at which the entity was created.
	CreatedAt DateTime `json:"createdAt"`
	// The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
	//     for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
	//     been updated after creation.
	UpdatedAt DateTime `json:"updatedAt"`
	// The time at which the entity was archived. Null if the entity has not been archived.
	ArchivedAt *DateTime `json:"archivedAt,omitempty"`
	// The state's name.
	Name string `json:"name"`
	// The state's UI color as a HEX string.
	Color string `json:"color"`
	// Description of the state.
	Description *string `json:"description,omitempty"`
	// The position of the state in the team flow.
	Position float64 `json:"position"`
	// The type of the state. One of "triage", "backlog", "unstarted", "started", "completed", "canceled".
	Type string `json:"type"`
	// The team to which this state belongs to.
	Team *Team `json:"team"`
	// Issues belonging in this state.
	Issues *IssueConnection `json:"issues"`
}

A state in a team workflow.

type WorkflowStateArchivePayload

type WorkflowStateArchivePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// Whether the operation was successful.
	Success bool `json:"success"`
	// The archived/unarchived entity. Null if entity was deleted.
	Entity *WorkflowState `json:"entity,omitempty"`
}

A generic payload return from entity archive mutations.

type WorkflowStateConnection

type WorkflowStateConnection struct {
	Edges    []WorkflowStateEdge `json:"edges"`
	Nodes    []WorkflowState     `json:"nodes"`
	PageInfo *PageInfo           `json:"pageInfo"`
}

type WorkflowStateCreateInput

type WorkflowStateCreateInput struct {
	// The identifier in UUID v4 format. If none is provided, the backend will generate one.
	Id *string `json:"id,omitempty"`
	// The workflow type.
	Type string `json:"type"`
	// The name of the state.
	Name string `json:"name"`
	// The color of the state.
	Color string `json:"color"`
	// The description of the state.
	Description *string `json:"description,omitempty"`
	// The position of the state.
	Position *float64 `json:"position,omitempty"`
	// The team associated with the state.
	TeamId string `json:"teamId"`
}

type WorkflowStateEdge

type WorkflowStateEdge struct {
	Node *WorkflowState `json:"node"`
	// Used in `before` and `after` args
	Cursor string `json:"cursor"`
}

type WorkflowStateFilter

type WorkflowStateFilter struct {
	// Comparator for the identifier.
	Id *IDComparator `json:"id,omitempty"`
	// Comparator for the created at date.
	CreatedAt *DateComparator `json:"createdAt,omitempty"`
	// Comparator for the updated at date.
	UpdatedAt *DateComparator `json:"updatedAt,omitempty"`
	// Comparator for the workflow state name.
	Name *StringComparator `json:"name,omitempty"`
	// Comparator for the workflow state description.
	Description *StringComparator `json:"description,omitempty"`
	// Comparator for the workflow state position.
	Position *NumberComparator `json:"position,omitempty"`
	// Comparator for the workflow state type.
	Type *StringComparator `json:"type,omitempty"`
	// Filters that the workflow states team must satisfy.
	Team *TeamFilter `json:"team,omitempty"`
	// Filters that the workflow states issues must satisfy.
	Issues *IssueCollectionFilter `json:"issues,omitempty"`
	// Compound filters, all of which need to be matched by the workflow state.
	And []WorkflowStateFilter `json:"and,omitempty"`
	// Compound filters, one of which need to be matched by the workflow state.
	Or []WorkflowStateFilter `json:"or,omitempty"`
}

Workflow state filtering options.

type WorkflowStatePayload

type WorkflowStatePayload struct {
	// The identifier of the last sync operation.
	LastSyncId float64 `json:"lastSyncId"`
	// The state that was created or updated.
	WorkflowState *WorkflowState `json:"workflowState"`
	// Whether the operation was successful.
	Success bool `json:"success"`
}

type WorkflowStateSort

type WorkflowStateSort struct {
	// Whether nulls should be sorted first or last
	Nulls *PaginationNulls `json:"nulls,omitempty"`
	// The order for the individual sort
	Order *PaginationSortOrder `json:"order,omitempty"`
}

Issue workflow state sorting options.

type WorkflowStateUpdateInput

type WorkflowStateUpdateInput struct {
	// The name of the state.
	Name *string `json:"name,omitempty"`
	// The color of the state.
	Color *string `json:"color,omitempty"`
	// The description of the state.
	Description *string `json:"description,omitempty"`
	// The position of the state.
	Position *float64 `json:"position,omitempty"`
}

type WorkflowTrigger

type WorkflowTrigger string
const (
	WorkflowTriggerEntitycreated          WorkflowTrigger = "entityCreated"
	WorkflowTriggerEntityupdated          WorkflowTrigger = "entityUpdated"
	WorkflowTriggerEntitycreatedorupdated WorkflowTrigger = "entityCreatedOrUpdated"
	WorkflowTriggerEntityremoved          WorkflowTrigger = "entityRemoved"
	WorkflowTriggerEntityunarchived       WorkflowTrigger = "entityUnarchived"
)

type WorkflowTriggerType

type WorkflowTriggerType string
const (
	WorkflowTriggerTypeIssue   WorkflowTriggerType = "issue"
	WorkflowTriggerTypeProject WorkflowTriggerType = "project"
)

type WorkflowType

type WorkflowType string
const (
	WorkflowTypeSla              WorkflowType = "sla"
	WorkflowTypeCustom           WorkflowType = "custom"
	WorkflowTypeViewsubscription WorkflowType = "viewSubscription"
)

type WorkspaceAuthorizedApplication

type WorkspaceAuthorizedApplication struct {
	// Application name.
	Name string `json:"name"`
	// Image of the application.
	ImageUrl *string `json:"imageUrl,omitempty"`
	// Scopes that are authorized for this application for a given user.
	Scope []string `json:"scope"`
	// OAuth application's ID.
	AppId string `json:"appId"`
	// OAuth application's client ID.
	ClientId string `json:"clientId"`
	// Whether or not webhooks are enabled for the application.
	WebhooksEnabled bool `json:"webhooksEnabled"`
	// Total number of members that authorized the application.
	TotalMembers float64 `json:"totalMembers"`
	// UserIds and membership dates of everyone who has authorized the application with the set of scopes.
	Memberships []AuthMembership `json:"memberships"`
}

[INTERNAL] Public information of the OAuth application, plus the userIds and scopes for those users.

type ZendeskSettings

type ZendeskSettings struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
	// The subdomain of the Zendesk organization being connected.
	Subdomain string `json:"subdomain"`
	// The URL of the connected Zendesk organization.
	Url string `json:"url"`
	// The ID of the Linear bot user.
	BotUserId *string `json:"botUserId,omitempty"`
}

Zendesk specific settings.

type ZendeskSettingsInput

type ZendeskSettingsInput struct {
	// Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
	SendNoteOnStatusChange *bool `json:"sendNoteOnStatusChange,omitempty"`
	// Whether an internal message should be added when someone comments on an issue.
	SendNoteOnComment *bool `json:"sendNoteOnComment,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is completed.
	AutomateTicketReopeningOnCompletion *bool `json:"automateTicketReopeningOnCompletion,omitempty"`
	// Whether a ticket should be automatically reopened when its linked Linear issue is cancelled.
	AutomateTicketReopeningOnCancellation *bool `json:"automateTicketReopeningOnCancellation,omitempty"`
	// Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
	AutomateTicketReopeningOnComment *bool `json:"automateTicketReopeningOnComment,omitempty"`
	// The subdomain of the Zendesk organization being connected.
	Subdomain string `json:"subdomain"`
	// The URL of the connected Zendesk organization.
	Url string `json:"url"`
	// The ID of the Linear bot user.
	BotUserId *string `json:"botUserId,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL