Zum Inhalt springen
duxt
Diese Seite ist noch nicht in deiner Sprache verfügbar
Du liest sie auf English (UK).

linear_workspace_settings

Manages the settings of the Linear workspace the API key belongs to. This is a singleton and manage-not-create: applying it adopts the existing workspace rather than creating one, and destroying the resource only drops it from state — no workspace is deleted and no setting is reset. Declare it at most once per provider instance. Every attribute is optional and computed: whatever the configuration leaves out keeps its live value. With this many settings on one resource, the alternative would be an apply that silently resets an entire workspace. Member invitation, team-creation and label-management restrictions moved into security_settings_json on Linear's side; they are exposed there and nowhere else, so there is exactly one way in.

linear_workspace_settings (Resource)

Manages the settings of the Linear workspace the API key belongs to.

This is a singleton and manage-not-create: applying it adopts the existing workspace rather than creating one, and destroying the resource only drops it from state — no workspace is deleted and no setting is reset. Declare it at most once per provider instance.

Every attribute is optional and computed: whatever the configuration leaves out keeps its live value. With this many settings on one resource, the alternative would be an apply that silently resets an entire workspace.

Member invitation, team-creation and label-management restrictions moved into security_settings_json on Linear's side; they are exposed there and nowhere else, so there is exactly one way in.

Example Usage

# The workspace singleton: manage-not-create. Applying it adopts the workspace
# the API key belongs to; destroying it only drops the resource from state.
resource "linear_workspace_settings" "this" {
  name              = "kirchDev"
  git_branch_format = "{teamKey}/{issueIdentifier}-{issueTitle}"

  # 1 = Monday … 5 = Friday
  working_days            = [1, 2, 3, 4, 5]
  fiscal_year_start_month = 0

  roadmap_enabled   = true
  customers_enabled = true

  # Member invitation, team creation and label management restrictions live in
  # security settings — Linear moved them off the top level. Each value is the
  # minimum role the setting requires, never a boolean: "user" leaves it to
  # every workspace member, "admin" restricts it to admins.
  security_settings_json = jsonencode({
    invitationsRole        = "user"
    teamCreationRole       = "admin"
    labelManagementRole    = "user"
    templateManagementRole = "user"
    personalApiKeysRole    = "admin"
  })
}

Schema

Optional

  • agent_automation_enabled (Boolean) Whether agents may run automations.
  • ai_addon_enabled (Boolean) Whether the Linear AI add-on is enabled for the workspace.
  • ai_discussion_summaries_enabled (Boolean) Whether Linear summarises discussions.
  • ai_telemetry_enabled (Boolean) Whether AI telemetry is shared with Linear.
  • ai_thread_summaries_enabled (Boolean) Whether Linear summarises long comment threads.
  • allowed_file_upload_content_types (List of String) MIME types members may upload. An empty list allows everything.
  • auth_settings_json (String) Authentication settings as a JSON object — SAML, SCIM and allowed auth services.
  • code_intelligence_enabled (Boolean) Whether code intelligence is enabled.
  • code_intelligence_repository (String) Repository code intelligence indexes, as owner/name.
  • coding_agent_enabled (Boolean) Whether the coding agent is enabled.
  • coding_agent_settings_json (String) Coding agent settings as a JSON object.
  • customers_configuration_json (String) Linear Customers configuration as a JSON object.
  • customers_enabled (Boolean) Whether Linear Customers is enabled — the prerequisite for linear_customer_status and linear_customer_tier.
  • default_feed_summary_schedule (String) How often the feed summary is generated, e.g. daily, weekly, never.
  • default_home_view (String) View new members land on, e.g. activeIssues, myIssues, inbox.
  • default_home_view_target_id (String) UUID of the target when default_home_view points at a specific view.
  • feed_enabled (Boolean) Whether the workspace feed is available.
  • fiscal_year_start_month (Number) Month the fiscal year starts in, 0 being January.
  • generated_updates_enabled (Boolean) Whether Linear generates project and initiative updates automatically.
  • git_branch_format (String) Template Linear generates git branch names from, e.g. {teamKey}/{issueIdentifier}-{issueTitle}.
  • git_linkback_descriptions_enabled (Boolean) Whether Linear adds a linkback to pull request descriptions.
  • git_linkback_messages_enabled (Boolean) Whether Linear comments a linkback on private repositories.
  • git_public_linkback_messages_enabled (Boolean) Whether Linear comments a linkback on public repositories.
  • hipaa_compliance_enabled (Boolean) Whether HIPAA compliance mode is on.
  • initiative_update_reminder_frequency_in_weeks (Number) How many weeks between initiative update reminders.
  • initiative_update_reminders_day (String) Weekday initiative update reminders go out.
  • initiative_update_reminders_hour (Number) Hour of day initiative update reminders go out, 0–23.
  • ip_restrictions_json (String) IP restrictions as a JSON array, e.g. jsonencode([{ range = "203.0.113.0/24", type = "allow", enabled = true }]). Each entry takes range, type and enabled, plus an optional description. Compared semantically, and an entry without a description is read back without the key.
  • linear_agent_enabled (Boolean) Whether the Linear agent is enabled.
  • linear_agent_settings_json (String) Linear agent settings as a JSON object.
  • logo_url (String) URL of the workspace logo.
  • name (String) Display name of the workspace.
  • oauth_app_review (Boolean) Whether OAuth applications need admin review before members may install them. Write-only, for the same reason as sla_enabled.
  • project_update_reminder_frequency_in_weeks (Number) How many weeks between project update reminders.
  • project_update_reminders_day (String) Weekday project update reminders go out, e.g. Friday.
  • project_update_reminders_hour (Number) Hour of day project update reminders go out, 0–23.
  • pull_request_issue_mode (String) How Linear turns pull requests into issues — e.g. disabled, enabled, readOnly.
  • pull_request_tour_enabled (Boolean) Whether the pull request tour is shown.
  • reduced_personal_information (Boolean) Whether Linear minimises the personal information it stores. Write-only, for the same reason as sla_enabled.
  • restrict_agent_invocation_to_members (Boolean) Whether only workspace members — not guests — may invoke agents.
  • roadmap_enabled (Boolean) Whether Initiatives are available in the workspace. Linear renamed the feature to Initiatives; its API still calls the field roadmapEnabled, the name it shipped under. This is the workspace-level toggle — linear_team.initiatives_enabled is the per-team one.
  • security_settings_json (String) Workspace security settings as a JSON object — this is where member invitation, team creation and label management restrictions live now. Every value is the minimum role the setting requires rather than a boolean: user leaves it to every workspace member, admin restricts it to admins. The keys Linear reports are invitationsRole, teamCreationRole, labelManagementRole, templateManagementRole and personalApiKeysRole, e.g. jsonencode({ invitationsRole = "user", teamCreationRole = "admin" }). Compared semantically.
  • sla_enabled (Boolean) Whether SLAs are enabled. Write-only — Linear accepts it but does not report it back, so drift in this attribute cannot be detected.
  • slack_auto_create_project_channel (Boolean) Whether a Slack channel is created for every new project.
  • slack_project_channel_integration_id (String) UUID of the Slack integration project channels are created through.
  • slack_project_channel_prefix (String) Prefix Linear gives generated Slack project channels.
  • slack_project_channels_enabled (Boolean) Whether Linear manages Slack channels for projects.
  • theme_settings_json (String) Workspace theme as a JSON object.
  • url_key (String) URL slug of the workspace — the <key> in linear.app/<key>. Changing it breaks existing links.
  • working_days (List of Number) Weekdays the workspace works on, 0 being Sunday. Drives cycle and SLA maths.

Read-Only

  • id (String) UUID of the workspace.
  • releases_enabled (Boolean) Whether releases are enabled. Read-only — Linear reports it but organizationUpdate takes no matching field.

Import

Import is supported using the following syntax:

The terraform import command can be used, for example:

# The API key already determines the workspace, so the id is only a placeholder.
terraform import linear_workspace_settings.this workspace
War diese Seite hilfreich?