diff --git a/api-contracts/openapi/components/schemas/v1/webhook.yaml b/api-contracts/openapi/components/schemas/v1/webhook.yaml index 1b79d9c76..77cab21cc 100644 --- a/api-contracts/openapi/components/schemas/v1/webhook.yaml +++ b/api-contracts/openapi/components/schemas/v1/webhook.yaml @@ -52,6 +52,7 @@ V1WebhookSourceName: - GITHUB - STRIPE - SLACK + - LINEAR V1WebhookHMACAlgorithm: type: string diff --git a/api/v1/server/handlers/v1/webhooks/receive.go b/api/v1/server/handlers/v1/webhooks/receive.go index 6926296b5..929f88ad4 100644 --- a/api/v1/server/handlers/v1/webhooks/receive.go +++ b/api/v1/server/handlers/v1/webhooks/receive.go @@ -442,6 +442,8 @@ func (w *V1WebhooksService) validateWebhook(webhookPayload []byte, webhook sqlcv } case sqlcv1.V1IncomingWebhookSourceNameGITHUB: fallthrough + case sqlcv1.V1IncomingWebhookSourceNameLINEAR: + fallthrough case sqlcv1.V1IncomingWebhookSourceNameGENERIC: switch webhook.AuthMethod { case sqlcv1.V1IncomingWebhookAuthTypeBASIC: diff --git a/api/v1/server/oas/gen/openapi.gen.go b/api/v1/server/oas/gen/openapi.gen.go index 0916e38ce..b162c9cf8 100644 --- a/api/v1/server/oas/gen/openapi.gen.go +++ b/api/v1/server/oas/gen/openapi.gen.go @@ -282,6 +282,7 @@ const ( const ( GENERIC V1WebhookSourceName = "GENERIC" GITHUB V1WebhookSourceName = "GITHUB" + LINEAR V1WebhookSourceName = "LINEAR" SLACK V1WebhookSourceName = "SLACK" STRIPE V1WebhookSourceName = "STRIPE" ) @@ -15131,178 +15132,178 @@ var swaggerSpec = []string{ "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", - "ScblQZqEnbedzs9vP/9/AAAA//8SCDW4mvMCAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/cmd/hatchet-migrate/migrate/migrations/20250818153710_v1_0_38.sql b/cmd/hatchet-migrate/migrate/migrations/20250818153710_v1_0_38.sql new file mode 100644 index 000000000..0ff8eda2e --- /dev/null +++ b/cmd/hatchet-migrate/migrate/migrations/20250818153710_v1_0_38.sql @@ -0,0 +1,9 @@ +-- +goose Up +-- +goose StatementBegin +ALTER TYPE v1_incoming_webhook_source_name ADD VALUE IF NOT EXISTS 'LINEAR'; +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +-- intentionally blank +-- +goose StatementEnd diff --git a/frontend/app/src/lib/api/generated/data-contracts.ts b/frontend/app/src/lib/api/generated/data-contracts.ts index 4aef23e7a..9df4a8bb3 100644 --- a/frontend/app/src/lib/api/generated/data-contracts.ts +++ b/frontend/app/src/lib/api/generated/data-contracts.ts @@ -235,6 +235,7 @@ export enum V1WebhookSourceName { GITHUB = "GITHUB", STRIPE = "STRIPE", SLACK = "SLACK", + LINEAR = "LINEAR", } export enum TenantUIVersion { diff --git a/frontend/app/src/pages/main/v1/webhooks/components/auth-setup.tsx b/frontend/app/src/pages/main/v1/webhooks/components/auth-setup.tsx index ba3917cf3..161b9e19b 100644 --- a/frontend/app/src/pages/main/v1/webhooks/components/auth-setup.tsx +++ b/frontend/app/src/pages/main/v1/webhooks/components/auth-setup.tsx @@ -177,7 +177,7 @@ export const PreconfiguredHMACAuth = ({ secretLabel?: string; secretPlaceholder?: string; }) => ( - // Intended to be used for Stripe, Slack, Github, etc. + // Intended to be used for Stripe, Slack, Github, Linear, etc.
); case V1WebhookSourceName.GENERIC: + case V1WebhookSourceName.LINEAR: case V1WebhookSourceName.STRIPE: case V1WebhookSourceName.SLACK: return ''; diff --git a/pkg/client/rest/gen.go b/pkg/client/rest/gen.go index 02f4f0edb..be0f517bf 100644 --- a/pkg/client/rest/gen.go +++ b/pkg/client/rest/gen.go @@ -279,6 +279,7 @@ const ( const ( GENERIC V1WebhookSourceName = "GENERIC" GITHUB V1WebhookSourceName = "GITHUB" + LINEAR V1WebhookSourceName = "LINEAR" SLACK V1WebhookSourceName = "SLACK" STRIPE V1WebhookSourceName = "STRIPE" ) diff --git a/pkg/repository/v1/sqlcv1/models.go b/pkg/repository/v1/sqlcv1/models.go index a52a78143..4ab1a86b2 100644 --- a/pkg/repository/v1/sqlcv1/models.go +++ b/pkg/repository/v1/sqlcv1/models.go @@ -1182,6 +1182,7 @@ const ( V1IncomingWebhookSourceNameGITHUB V1IncomingWebhookSourceName = "GITHUB" V1IncomingWebhookSourceNameSTRIPE V1IncomingWebhookSourceName = "STRIPE" V1IncomingWebhookSourceNameSLACK V1IncomingWebhookSourceName = "SLACK" + V1IncomingWebhookSourceNameLINEAR V1IncomingWebhookSourceName = "LINEAR" ) func (e *V1IncomingWebhookSourceName) Scan(src interface{}) error { diff --git a/sql/schema/v1-core.sql b/sql/schema/v1-core.sql index be401bbd7..6e16df878 100644 --- a/sql/schema/v1-core.sql +++ b/sql/schema/v1-core.sql @@ -561,7 +561,7 @@ CREATE TYPE v1_incoming_webhook_hmac_algorithm AS ENUM ('SHA1', 'SHA256', 'SHA51 CREATE TYPE v1_incoming_webhook_hmac_encoding AS ENUM ('HEX', 'BASE64', 'BASE64URL'); -- Can add more sources in the future -CREATE TYPE v1_incoming_webhook_source_name AS ENUM ('GENERIC', 'GITHUB', 'STRIPE', 'SLACK'); +CREATE TYPE v1_incoming_webhook_source_name AS ENUM ('GENERIC', 'GITHUB', 'STRIPE', 'SLACK', 'LINEAR'); CREATE TABLE v1_incoming_webhook ( tenant_id UUID NOT NULL,