diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 7d9b009..78e7f27 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.10.0"
+ ".": "0.11.0"
}
diff --git a/.stats.yml b/.stats.yml
index 886c83c..04dee8d 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 170
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-2423c089f280cdf34a987d40531692097a69f4aa971c6adf9aeec4fd7984cec2.yml
-openapi_spec_hash: 24037c3ab9ceca689150d07ecec7aa80
-config_hash: d726afb2a92132197e4eae04303e8041
+configured_endpoints: 172
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-4a034f8dd3f618814ce17b264d78b40176f613d34f806f8add5425792e36c34d.yml
+openapi_spec_hash: 5f1f4678b4956c4afa3ffc8539443ef7
+config_hash: dad4ee53c894c682895d6d045c4c2105
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bf5608e..2ee47f2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog
+## 0.11.0 (2026-01-23)
+
+Full Changelog: [v0.10.0...v0.11.0](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.10.0...v0.11.0)
+
+### Features
+
+* **api:** add announcement banner fields to organization proto ([2456204](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/2456204c95d6c25e38375e778d13c847c9e8d521))
+* **api:** add filters to ListPrebuilds for inventory page ([f338330](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/f3383301646f5548e7cc3cc2498dd162e1b64eef))
+* **api:** implement GetAnnouncementBanner and UpdateAnnouncementBanner handlers ([fe9a63c](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/fe9a63c54dfabeff679a9e1c050a47706539cbd7))
+
## 0.10.0 (2026-01-21)
Full Changelog: [v0.9.0...v0.10.0](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.9.0...v0.10.0)
diff --git a/api.md b/api.md
index 91689f3..2859c9c 100644
--- a/api.md
+++ b/api.md
@@ -355,6 +355,19 @@ Methods:
- client.organizations.listMembers({ ...params }) -> OrganizationMembersMembersPage
- client.organizations.setRole({ ...params }) -> unknown
+## AnnouncementBanner
+
+Types:
+
+- AnnouncementBanner
+- AnnouncementBannerUpdateResponse
+- AnnouncementBannerGetResponse
+
+Methods:
+
+- client.organizations.announcementBanner.update({ ...params }) -> AnnouncementBannerUpdateResponse
+- client.organizations.announcementBanner.get({ ...params }) -> AnnouncementBannerGetResponse
+
## CustomDomains
Types:
diff --git a/package.json b/package.json
index ccee8a2..fc55125 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@gitpod/sdk",
- "version": "0.10.0",
+ "version": "0.11.0",
"description": "The official TypeScript library for the Gitpod API",
"author": "Gitpod ",
"types": "dist/index.d.ts",
diff --git a/src/resources/organizations/announcement-banner.ts b/src/resources/organizations/announcement-banner.ts
new file mode 100644
index 0000000..ab0ee6a
--- /dev/null
+++ b/src/resources/organizations/announcement-banner.ts
@@ -0,0 +1,139 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../core/resource';
+import { APIPromise } from '../../core/api-promise';
+import { RequestOptions } from '../../internal/request-options';
+
+export class AnnouncementBannerResource extends APIResource {
+ /**
+ * Updates the announcement banner configuration for an organization.
+ *
+ * Use this method to configure the announcement banner displayed to all users.
+ * Only organization admins can update the banner. Requires Enterprise tier.
+ *
+ * ### Examples
+ *
+ * - Enable announcement banner:
+ *
+ * ```yaml
+ * organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
+ * message: "Scheduled maintenance on Saturday 10pm-2am UTC"
+ * enabled: true
+ * ```
+ *
+ * - Disable announcement banner:
+ *
+ * ```yaml
+ * organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
+ * enabled: false
+ * ```
+ *
+ * @example
+ * ```ts
+ * const announcementBanner =
+ * await client.organizations.announcementBanner.update({
+ * organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ * });
+ * ```
+ */
+ update(
+ body: AnnouncementBannerUpdateParams,
+ options?: RequestOptions,
+ ): APIPromise {
+ return this._client.post('/gitpod.v1.OrganizationService/UpdateAnnouncementBanner', { body, ...options });
+ }
+
+ /**
+ * Retrieves the announcement banner configuration for an organization.
+ *
+ * Use this method to fetch the current announcement banner settings. All
+ * organization members can read the banner configuration.
+ *
+ * ### Examples
+ *
+ * - Get announcement banner:
+ *
+ * ```yaml
+ * organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
+ * ```
+ *
+ * @example
+ * ```ts
+ * const announcementBanner =
+ * await client.organizations.announcementBanner.get({
+ * organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ * });
+ * ```
+ */
+ get(
+ body: AnnouncementBannerGetParams,
+ options?: RequestOptions,
+ ): APIPromise {
+ return this._client.post('/gitpod.v1.OrganizationService/GetAnnouncementBanner', { body, ...options });
+ }
+}
+
+export interface AnnouncementBanner {
+ /**
+ * organization_id is the ID of the organization
+ */
+ organizationId: string;
+
+ /**
+ * enabled controls whether the banner is displayed
+ */
+ enabled?: boolean;
+
+ /**
+ * message is the banner message displayed to users. Supports basic Markdown.
+ */
+ message?: string;
+}
+
+export interface AnnouncementBannerUpdateResponse {
+ /**
+ * banner is the updated announcement banner configuration
+ */
+ banner: AnnouncementBanner;
+}
+
+export interface AnnouncementBannerGetResponse {
+ /**
+ * banner is the announcement banner configuration
+ */
+ banner: AnnouncementBanner;
+}
+
+export interface AnnouncementBannerUpdateParams {
+ /**
+ * organization_id is the ID of the organization
+ */
+ organizationId: string;
+
+ /**
+ * enabled controls whether the banner is displayed
+ */
+ enabled?: boolean | null;
+
+ /**
+ * message is the banner message. Supports basic Markdown. Maximum 1000 characters.
+ */
+ message?: string | null;
+}
+
+export interface AnnouncementBannerGetParams {
+ /**
+ * organization_id is the ID of the organization
+ */
+ organizationId: string;
+}
+
+export declare namespace AnnouncementBannerResource {
+ export {
+ type AnnouncementBanner as AnnouncementBanner,
+ type AnnouncementBannerUpdateResponse as AnnouncementBannerUpdateResponse,
+ type AnnouncementBannerGetResponse as AnnouncementBannerGetResponse,
+ type AnnouncementBannerUpdateParams as AnnouncementBannerUpdateParams,
+ type AnnouncementBannerGetParams as AnnouncementBannerGetParams,
+ };
+}
diff --git a/src/resources/organizations/index.ts b/src/resources/organizations/index.ts
index 39fd7b6..8b542a7 100644
--- a/src/resources/organizations/index.ts
+++ b/src/resources/organizations/index.ts
@@ -1,5 +1,13 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+export {
+ AnnouncementBannerResource,
+ type AnnouncementBanner,
+ type AnnouncementBannerUpdateResponse,
+ type AnnouncementBannerGetResponse,
+ type AnnouncementBannerUpdateParams,
+ type AnnouncementBannerGetParams,
+} from './announcement-banner';
export {
CustomDomains,
type CustomDomain,
diff --git a/src/resources/organizations/organizations.ts b/src/resources/organizations/organizations.ts
index 7923c53..c71a185 100644
--- a/src/resources/organizations/organizations.ts
+++ b/src/resources/organizations/organizations.ts
@@ -2,6 +2,15 @@
import { APIResource } from '../../core/resource';
import * as Shared from '../shared';
+import * as AnnouncementBannerAPI from './announcement-banner';
+import {
+ AnnouncementBanner,
+ AnnouncementBannerGetParams,
+ AnnouncementBannerGetResponse,
+ AnnouncementBannerResource,
+ AnnouncementBannerUpdateParams,
+ AnnouncementBannerUpdateResponse,
+} from './announcement-banner';
import * as CustomDomainsAPI from './custom-domains';
import {
CustomDomain,
@@ -94,6 +103,8 @@ import { MembersPage, type MembersPageParams, PagePromise } from '../../core/pag
import { RequestOptions } from '../../internal/request-options';
export class Organizations extends APIResource {
+ announcementBanner: AnnouncementBannerAPI.AnnouncementBannerResource =
+ new AnnouncementBannerAPI.AnnouncementBannerResource(this._client);
customDomains: CustomDomainsAPI.CustomDomains = new CustomDomainsAPI.CustomDomains(this._client);
domainVerifications: DomainVerificationsAPI.DomainVerifications =
new DomainVerificationsAPI.DomainVerifications(this._client);
@@ -939,6 +950,7 @@ export interface OrganizationSetRoleParams {
role?: Shared.OrganizationRole;
}
+Organizations.AnnouncementBannerResource = AnnouncementBannerResource;
Organizations.CustomDomains = CustomDomains;
Organizations.DomainVerifications = DomainVerifications;
Organizations.Invites = Invites;
@@ -969,6 +981,15 @@ export declare namespace Organizations {
type OrganizationSetRoleParams as OrganizationSetRoleParams,
};
+ export {
+ AnnouncementBannerResource as AnnouncementBannerResource,
+ type AnnouncementBanner as AnnouncementBanner,
+ type AnnouncementBannerUpdateResponse as AnnouncementBannerUpdateResponse,
+ type AnnouncementBannerGetResponse as AnnouncementBannerGetResponse,
+ type AnnouncementBannerUpdateParams as AnnouncementBannerUpdateParams,
+ type AnnouncementBannerGetParams as AnnouncementBannerGetParams,
+ };
+
export {
CustomDomains as CustomDomains,
type CustomDomain as CustomDomain,
diff --git a/src/resources/prebuilds.ts b/src/resources/prebuilds.ts
index 195450c..5857fed 100644
--- a/src/resources/prebuilds.ts
+++ b/src/resources/prebuilds.ts
@@ -459,6 +459,16 @@ export namespace PrebuildListParams {
* filter contains the filter options for listing prebuilds
*/
export interface Filter {
+ /**
+ * creator_ids filters prebuilds by who created them
+ */
+ creatorIds?: Array;
+
+ /**
+ * executor_ids filters prebuilds by whose credentials were used to run them
+ */
+ executorIds?: Array;
+
/**
* phases filters prebuilds by their current phase
*/
@@ -468,6 +478,11 @@ export namespace PrebuildListParams {
* project_ids filters prebuilds to specific projects
*/
projectIds?: Array;
+
+ /**
+ * triggered_by filters prebuilds by how they were triggered
+ */
+ triggeredBy?: Array;
}
/**
diff --git a/src/resources/shared.ts b/src/resources/shared.ts
index d583493..37bacfe 100644
--- a/src/resources/shared.ts
+++ b/src/resources/shared.ts
@@ -295,7 +295,8 @@ export type ResourceType =
| 'RESOURCE_TYPE_GROUP_MEMBERSHIP_CHANGED'
| 'RESOURCE_TYPE_WEBHOOK'
| 'RESOURCE_TYPE_SCIM_CONFIGURATION'
- | 'RESOURCE_TYPE_SERVICE_ACCOUNT_SECRET';
+ | 'RESOURCE_TYPE_SERVICE_ACCOUNT_SECRET'
+ | 'RESOURCE_TYPE_ANNOUNCEMENT_BANNER';
export interface RunsOn {
docker?: RunsOn.Docker;
diff --git a/src/version.ts b/src/version.ts
index c2e5b96..9085e9d 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.10.0'; // x-release-please-version
+export const VERSION = '0.11.0'; // x-release-please-version
diff --git a/tests/api-resources/organizations/announcement-banner.test.ts b/tests/api-resources/organizations/announcement-banner.test.ts
new file mode 100644
index 0000000..6724f45
--- /dev/null
+++ b/tests/api-resources/organizations/announcement-banner.test.ts
@@ -0,0 +1,54 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Gitpod from '@gitpod/sdk';
+
+const client = new Gitpod({
+ bearerToken: 'My Bearer Token',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource announcementBanner', () => {
+ // Prism tests are disabled
+ test.skip('update: only required params', async () => {
+ const responsePromise = client.organizations.announcementBanner.update({
+ organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('update: required and optional params', async () => {
+ const response = await client.organizations.announcementBanner.update({
+ organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ enabled: false,
+ message: 'message',
+ });
+ });
+
+ // Prism tests are disabled
+ test.skip('get: only required params', async () => {
+ const responsePromise = client.organizations.announcementBanner.get({
+ organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('get: required and optional params', async () => {
+ const response = await client.organizations.announcementBanner.get({
+ organizationId: 'b0e12f6c-4c67-429d-a4a6-d9838b5da047',
+ });
+ });
+});