Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.10.0"
".": "0.11.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -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
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
13 changes: 13 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,19 @@ Methods:
- <code title="post /gitpod.v1.OrganizationService/ListMembers">client.organizations.<a href="./src/resources/organizations/organizations.ts">listMembers</a>({ ...params }) -> OrganizationMembersMembersPage</code>
- <code title="post /gitpod.v1.OrganizationService/SetRole">client.organizations.<a href="./src/resources/organizations/organizations.ts">setRole</a>({ ...params }) -> unknown</code>

## AnnouncementBanner

Types:

- <code><a href="./src/resources/organizations/announcement-banner.ts">AnnouncementBanner</a></code>
- <code><a href="./src/resources/organizations/announcement-banner.ts">AnnouncementBannerUpdateResponse</a></code>
- <code><a href="./src/resources/organizations/announcement-banner.ts">AnnouncementBannerGetResponse</a></code>

Methods:

- <code title="post /gitpod.v1.OrganizationService/UpdateAnnouncementBanner">client.organizations.announcementBanner.<a href="./src/resources/organizations/announcement-banner.ts">update</a>({ ...params }) -> AnnouncementBannerUpdateResponse</code>
- <code title="post /gitpod.v1.OrganizationService/GetAnnouncementBanner">client.organizations.announcementBanner.<a href="./src/resources/organizations/announcement-banner.ts">get</a>({ ...params }) -> AnnouncementBannerGetResponse</code>

## CustomDomains

Types:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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 <dev-feedback@gitpod.com>",
"types": "dist/index.d.ts",
Expand Down
139 changes: 139 additions & 0 deletions src/resources/organizations/announcement-banner.ts
Original file line number Diff line number Diff line change
@@ -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<AnnouncementBannerUpdateResponse> {
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<AnnouncementBannerGetResponse> {
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,
};
}
8 changes: 8 additions & 0 deletions src/resources/organizations/index.ts
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
21 changes: 21 additions & 0 deletions src/resources/organizations/organizations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -939,6 +950,7 @@ export interface OrganizationSetRoleParams {
role?: Shared.OrganizationRole;
}

Organizations.AnnouncementBannerResource = AnnouncementBannerResource;
Organizations.CustomDomains = CustomDomains;
Organizations.DomainVerifications = DomainVerifications;
Organizations.Invites = Invites;
Expand Down Expand Up @@ -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,
Expand Down
15 changes: 15 additions & 0 deletions src/resources/prebuilds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<string>;

/**
* executor_ids filters prebuilds by whose credentials were used to run them
*/
executorIds?: Array<string>;

/**
* phases filters prebuilds by their current phase
*/
Expand All @@ -468,6 +478,11 @@ export namespace PrebuildListParams {
* project_ids filters prebuilds to specific projects
*/
projectIds?: Array<string>;

/**
* triggered_by filters prebuilds by how they were triggered
*/
triggeredBy?: Array<PrebuildsAPI.PrebuildTrigger>;
}

/**
Expand Down
3 changes: 2 additions & 1 deletion src/resources/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '0.10.0'; // x-release-please-version
export const VERSION = '0.11.0'; // x-release-please-version
54 changes: 54 additions & 0 deletions tests/api-resources/organizations/announcement-banner.test.ts
Original file line number Diff line number Diff line change
@@ -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',
});
});
});