Skip to content

Conversation

@drstrangelooker
Copy link
Collaborator

Release-As: 25.18.0

@drstrangelooker drstrangelooker requested a review from a team as a code owner October 27, 2025 18:58
@gemini-code-assist
Copy link

Summary of Changes

Hello @drstrangelooker, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request delivers a significant update to the Looker SDKs, advancing them to version 25.18. The changes primarily focus on expanding API capabilities with new methods for searching LookML dashboards, managing service accounts, and checking integration hub health. It also introduces several new data models and fields, enhancing existing functionalities and providing more granular control and information, particularly for users operating within Looker (Google Cloud core) environments.

Highlights

  • SDK Version Update: The Looker SDKs have been updated to version 25.18 across all supported languages (C#, Go, Kotlin, TypeScript, Python, Swift).
  • New API Methods: Four new API methods have been introduced, increasing the total count from 472 to 476. These include search_lookml_dashboards, get_integration_hub_health, create_service_account, and update_service_account.
  • New API Models and Fields: Several new API models and fields have been added, increasing the total model count. Notable additions include IntegrationHubHealthResult, ServiceAccount, and new fields like aria_description for dashboard elements, label, description, order for dashboard layouts, and value_format_name for LookML explore fields.
  • Enhanced User Management: The all_roles method now supports a get_all_support_roles parameter, and the search_users method includes a new is_service_account parameter, along with updated descriptions for existing user search filters.
  • Improved Looker (Google Cloud core) Support: Documentation for the login method has been expanded to detail specific denial criteria for Looker (Google Cloud core) environments, and several new user-related fields and methods are explicitly noted as applicable to Looker (Google Cloud core).
  • SMTP Settings Expansion: The SmtpSettings model now includes new fields for OAuth authentication (auth_type, client_id, client_secret, token_endpoint, scopes).
  • Build Environment Update: The shell.nix configuration has been updated to include jdk21 as a build dependency.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Looker SDKs to version 25.18, introducing new API methods and models across C#, Go, Kotlin, Python, Swift, and TypeScript. The changes are mostly auto-generated and look good overall. My review focuses on improving the code generation quality by pointing out some formatting and consistency issues in the C#, Go, and Swift SDKs to enhance readability and maintainability.

Comment on lines +3949 to +3958
{
return await AuthRequest<DashboardLookml, Exception>(HttpMethod.Get, "/dashboards/lookml/search", new Values {
{ "folder_id", folder_id },
{ "title", title },
{ "content_favorite_id", content_favorite_id },
{ "fields", fields },
{ "limit", limit },
{ "offset", offset },
{ "sorts", sorts }},null,options);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The formatting of this method body is incorrect. The opening brace { is on a new line by itself, and the indentation of the method's contents is inconsistent. This reduces code readability. This formatting issue is present in other newly added methods as well, such as get_integration_hub_health and update_service_account.

{
    return await AuthRequest<DashboardLookml, Exception>(HttpMethod.Get, "/dashboards/lookml/search", new Values {
      { "folder_id", folder_id },
      { "title", title },
      { "content_favorite_id", content_favorite_id },
      { "fields", fields },
      { "limit", limit },
      { "offset", offset },
      { "sorts", sorts }},null,options);
}

public bool? enable_starttls_auto { get; set; } = null;
/// <summary>TLS version selected Valid values are: "TLSv1_1", "SSLv23", "TLSv1_2".</summary>
[JsonConverter(typeof(StringEnumConverter))]
public SslVersion? ssl_version { get; set; }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For consistency with other nullable properties in this class and throughout the generated models, this property should be initialized to null.

  public SslVersion? ssl_version { get; set; } = null;

func (l *LookerSDK) SearchLookmlDashboards(request RequestSearchLookmlDashboards,
options *rtl.ApiSettings) (DashboardLookml, error) {
var result DashboardLookml
err := l.AuthSession.Do(&result, "GET", "/4.0", "/dashboards/lookml/search", map[string]interface{}{"folder_id": request.FolderId, "title": request.Title, "content_favorite_id": request.ContentFavoriteId, "fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "sorts": request.Sorts}, nil, options)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This line is very long and difficult to read. To improve readability, please consider breaking the map[string]interface{} literal across multiple lines. This issue appears in several other generated methods in this file, such as SearchRoles and SearchUsers.

Comment on lines +4563 to +4564
let result: SDKResponse<DashboardLookml, SDKError> = self.get("/dashboards/lookml/search",
["folder_id": folder_id, "title": title, "content_favorite_id": content_favorite_id, "fields": fields, "limit": limit, "offset": offset, "sorts": sorts], nil, options)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This line is very long, making it hard to read. Please format the dictionary literal across multiple lines to improve readability. This seems to be a recurring pattern in other new methods like all_roles, search_roles, and search_users.

options: ITransportSettings? = nil
) -> SDKResponse<Data, SDKError> {
let result: SDKResponse<Data, SDKError> = self.get("/dashboards/lookml/search",
["folder_id": folder_id, "title": title, "content_favorite_id": content_favorite_id, "fields": fields, "limit": limit, "offset": offset, "sorts": sorts], nil, options)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This line is very long, making it hard to read. Please format the dictionary literal across multiple lines to improve readability. This seems to be a recurring pattern in other new methods in this file.

@github-actions
Copy link
Contributor

Go Tests

  6 files    6 suites   2m 16s ⏱️
 50 tests  50 ✅ 0 💤 0 ❌
120 runs  120 ✅ 0 💤 0 ❌

Results for commit a3b5dbd.

@github-actions
Copy link
Contributor

Python Tests

 10 files  + 1   10 suites  +1   1m 28s ⏱️ +22s
144 tests ± 0  139 ✅ ± 0   5 💤 ±0  0 ❌ ±0 
792 runs  +24  770 ✅ +23  22 💤 +1  0 ❌ ±0 

Results for commit a3b5dbd. ± Comparison against base commit aa870fc.

@github-actions
Copy link
Contributor

Typescript Tests

  2 files  ±0   56 suites  ±0   1m 0s ⏱️ ±0s
208 tests ±0  206 ✅ ±0  2 💤 ±0  0 ❌ ±0 
444 runs  ±0  440 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit a3b5dbd. ± Comparison against base commit aa870fc.

@drstrangelooker drstrangelooker merged commit f3ce99d into main Oct 28, 2025
42 checks passed
@drstrangelooker drstrangelooker deleted the sdk_25_18 branch October 28, 2025 15:09
drstrangelooker pushed a commit that referenced this pull request Oct 28, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>@looker/api-explorer: 0.9.79</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.45 to 0.1.46
    * @looker/extension-utils bumped from 0.1.55 to 0.1.56
    * @looker/run-it bumped from 0.9.78 to 0.9.79
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk-codegen bumped from 21.10.0 to 21.10.1
  * devDependencies
    * @looker/sdk-codegen-scripts bumped from 21.5.35 to 21.5.36
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/code-editor: 0.1.46</summary>

### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @looker/sdk-codegen bumped from 21.10.0 to 21.10.1
</details>

<details><summary>@looker/extension-api-explorer: 22.21.36</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/api-explorer bumped from 0.9.78 to 0.9.79
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/extension-sdk-react bumped from 25.16.0 to 25.18.0
    * @looker/extension-utils bumped from 0.1.55 to 0.1.56
    * @looker/run-it bumped from 0.9.78 to 0.9.79
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk-codegen bumped from 21.10.0 to 21.10.1
</details>

<details><summary>@looker/extension-playground: 1.0.36</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/extension-sdk-react bumped from 25.16.0 to 25.18.0
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/extension-tile-playground: 1.1.23</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/extension-sdk-react bumped from 25.16.0 to 25.18.0
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/extension-utils: 0.1.56</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.45 to 0.1.46
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/extension-sdk-react bumped from 25.16.0 to 25.18.0
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/hackathon: 22.21.38</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.45 to 0.1.46
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/extension-sdk-react bumped from 25.16.0 to 25.18.0
    * @looker/extension-utils bumped from 0.1.55 to 0.1.56
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/wholly-artifact bumped from 0.1.36 to 0.1.37
</details>

<details><summary>@looker/run-it: 0.9.79</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.45 to 0.1.46
    * @looker/extension-utils bumped from 0.1.55 to 0.1.56
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk-codegen bumped from 21.10.0 to 21.10.1
    * @looker/sdk-codegen-utils bumped from 21.0.25 to 21.0.26
</details>

<details><summary>@looker/sdk-codegen: 21.10.1</summary>

### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @looker/sdk-codegen-utils bumped from 21.0.25 to 21.0.26
</details>

<details><summary>@looker/sdk-codegen-scripts: 21.5.36</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk-codegen bumped from 21.10.0 to 21.10.1
    * @looker/sdk-codegen-utils bumped from 21.0.25 to 21.0.26
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/sdk-codegen-utils: 21.0.26</summary>

### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/wholly-artifact: 0.1.37</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
  * devDependencies
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>@looker/wholly-sheet: 0.5.75</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
  * devDependencies
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>sdk-codegen-all: 25.18.0</summary>

##
[25.18.0](sdk-codegen-all-v25.16.0...sdk-codegen-all-v25.18.0)
(2025-10-28)


### Features

* generate SDKs for Looker 25.18
([#1609](#1609))
([f3ce99d](f3ce99d))
</details>

<details><summary>looker_sdk: 25.18.0</summary>

##
[25.18.0](looker_sdk-v25.16.0...looker_sdk-v25.18.0)
(2025-10-28)


### Features

* generate SDKs for Looker 25.18
([#1609](#1609))
([f3ce99d](f3ce99d))
</details>

<details><summary>embed-components: 25.18.0</summary>

##
[25.18.0](embed-components-v25.16.0...embed-components-v25.18.0)
(2025-10-28)


### Miscellaneous Chores

* **embed-components:** Synchronize undefined versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/embed-services bumped from 25.16.0 to 25.18.0
    * @looker/sdk bumped from 25.16.0 to 25.18.0
  * devDependencies
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>embed-services: 25.18.0</summary>

##
[25.18.0](embed-services-v25.16.0...embed-services-v25.18.0)
(2025-10-28)


### Miscellaneous Chores

* **embed-services:** Synchronize undefined versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
  * devDependencies
    * @looker/sdk-node bumped from 25.16.0 to 25.18.0
</details>

<details><summary>extension-sdk: 25.18.0</summary>

##
[25.18.0](extension-sdk-v25.16.0...extension-sdk-v25.18.0)
(2025-10-28)


### Miscellaneous Chores

* **extension-sdk:** Synchronize undefined versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

<details><summary>extension-sdk-react: 25.18.0</summary>

##
[25.18.0](extension-sdk-react-v25.16.0...extension-sdk-react-v25.18.0)
(2025-10-28)


### Miscellaneous Chores

* **extension-sdk-react:** Synchronize undefined versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 25.16.0 to 25.18.0
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

<details><summary>sdk: 25.18.0</summary>

##
[25.18.0](sdk-v25.16.0...sdk-v25.18.0)
(2025-10-28)


### Features

* generate SDKs for Looker 25.18
([#1609](#1609))
([f3ce99d](f3ce99d))
</details>

<details><summary>sdk-node: 25.18.0</summary>

##
[25.18.0](sdk-node-v25.16.0...sdk-node-v25.18.0)
(2025-10-28)


### Miscellaneous Chores

* **sdk-node:** Synchronize undefined versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 25.16.0 to 25.18.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants