Skip to content

feat: generate SDKs for Looker 25.4 #1570

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 11, 2025
Merged
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
3 changes: 3 additions & 0 deletions .github/workflows/apix-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ on:

workflow_dispatch:

permissions:
checks: write

env:
TS_JUNIT_OUTPUT_DIR: results/apix

Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/codegen-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ on:

workflow_dispatch:

permissions:
checks: write

env:
LOOKERSDK_BASE_URL: https://localhost:20000
LOOKERSDK_VERIFY_SSL: false
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/go-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ on:

workflow_dispatch:

permissions:
checks: write

env:
LOOKERSDK_BASE_URL: https://localhost:20000
LOOKERSDK_VERIFY_SSL: false
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/hackathon-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ on:

workflow_dispatch:

permissions:
checks: write

env:
TS_JUNIT_OUTPUT_DIR: results/hackathon

Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/kotlin-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ on:
- kotlin/**
- .github/workflows/gradle.yml

permissions:
checks: write

# TODO(#1544): Also run tests
jobs:
build:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ env:
LOOKERSDK_VERIFY_SSL: false
TOX_JUNIT_OUTPUT_DIR: results

permissions:
checks: write

jobs:
setup:
uses: looker-open-source/reusable-actions/.github/workflows/supported-versions.yml@main
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/resources-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ defaults:
shell: bash
working-directory: bin/looker-resources-index

permissions:
checks: write

jobs:
analyzebuild:
name: Analyze and Build
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/tssdk-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ env:
LOOKERSDK_VERIFY_SSL: false
TS_JUNIT_OUTPUT_DIR: results/tssdk

permissions:
checks: write

jobs:
unit:
name: Unit - ${{ matrix.os }} / Node ${{ matrix.node-version }}
Expand Down
2 changes: 1 addition & 1 deletion csharp/rtl/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public struct Constants

public const string DefaultApiVersion = "4.0";
public const string AgentPrefix = "CS-SDK";
public const string LookerVersion = "25.2";
public const string LookerVersion = "25.4";

public const string Bearer = "Bearer";
public const string LookerAppiId = "x-looker-appid";
Expand Down
78 changes: 75 additions & 3 deletions csharp/sdk/4.0/methods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
/// SOFTWARE.
///

/// 467 API methods
/// 469 API methods

#nullable enable
using System;
Expand Down Expand Up @@ -488,6 +488,7 @@ namespace = SdkUtils.EncodeParam(namespace);
/// <param name="max_size">Maximum storage size of the artifact</param>
/// <param name="limit">Number of results to return. (used with offset)</param>
/// <param name="offset">Number of results to skip before returning any. (used with limit)</param>
/// <param name="tally">Return the full count of results in the X-Total-Count response header. (Slight performance hit.)</param>
public async Task<SdkResponse<Artifact[], Exception>> search_artifacts(
string @namespace,
string? fields = null,
Expand All @@ -497,6 +498,7 @@ public async Task<SdkResponse<Artifact[], Exception>> search_artifacts(
long? max_size = null,
long? limit = null,
long? offset = null,
bool? tally = null,
ITransportSettings? options = null)
{
namespace = SdkUtils.EncodeParam(namespace);
Expand All @@ -507,7 +509,8 @@ namespace = SdkUtils.EncodeParam(namespace);
{ "min_size", min_size },
{ "max_size", max_size },
{ "limit", limit },
{ "offset", offset }},null,options);
{ "offset", offset },
{ "tally", tally }},null,options);
}

/// ### Get one or more artifacts
Expand All @@ -525,20 +528,23 @@ namespace = SdkUtils.EncodeParam(namespace);
/// <param name="fields">Comma-delimited names of fields to return in responses. Omit for all fields</param>
/// <param name="limit">Number of results to return. (used with offset)</param>
/// <param name="offset">Number of results to skip before returning any. (used with limit)</param>
/// <param name="tally">Return the full count of results in the X-Total-Count response header. (Slight performance hit.)</param>
public async Task<SdkResponse<Artifact[], Exception>> artifact(
string @namespace,
string key,
string? fields = null,
long? limit = null,
long? offset = null,
bool? tally = null,
ITransportSettings? options = null)
{
namespace = SdkUtils.EncodeParam(namespace);
return await AuthRequest<Artifact[], Exception>(HttpMethod.Get, $"/artifact/{namespace}", new Values {
{ "key", key },
{ "fields", fields },
{ "limit", limit },
{ "offset", offset }},null,options);
{ "offset", offset },
{ "tally", tally }},null,options);
}

/// ### Delete one or more artifacts
Expand Down Expand Up @@ -7772,6 +7778,72 @@ public async Task<SdkResponse<RenderTask, Exception>> create_dashboard_element_r

#endregion RenderTask: Manage Render Tasks

#region Report: Report

/// ### Search Reports
///
/// Returns an **array of Report objects** that match the specified search criteria.
///
/// If multiple search params are given and `filter_or` is FALSE or not specified,
/// search params are combined in a logical AND operation.
/// Only rows that match *all* search param criteria will be returned.
///
/// If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.
/// Results will include rows that match **any** of the search criteria.
///
/// String search params use case-insensitive matching.
/// String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.
/// example="dan%" will match "danger" and "Danzig" but not "David"
/// example="D_m%" will match "Damage" and "dump"
///
/// Integer search params can accept a single value or a comma separated list of values. The multiple
/// values will be combined under a logical OR operation - results will match at least one of
/// the given values.
///
/// Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match
/// or exclude (respectively) rows where the column is null.
///
/// Boolean search params accept only "true" and "false" as values.
///
/// GET /reports/search -> Report[]
///
/// <returns><c>Report[]</c> returns a list of reports. (application/json)</returns>
///
/// <param name="folder_id">Select reports in a particular folder.</param>
/// <param name="favorite">Select favorite reports.</param>
/// <param name="recent">Select reports viewed recently.</param>
/// <param name="id">Match report id.</param>
/// <param name="title">Match report title.</param>
/// <param name="sorts">One or more fields to sort results by.</param>
/// <param name="limit">Number of results to return.(used with next_page_token)</param>
/// <param name="fields">Comma delimited list of field names. If provided, only the fields specified will be included in the response.</param>
/// <param name="next_page_token">Contains a token that can be used to return up to Number of results to return.(used with next_page_token) additional results. A next_page_token will not be returned if there are no additional results to display.</param>
public async Task<SdkResponse<Report[], Exception>> search_reports(
string? folder_id = null,
bool? favorite = null,
bool? recent = null,
string? id = null,
string? title = null,
string? sorts = null,
long? limit = null,
string? fields = null,
string? next_page_token = null,
ITransportSettings? options = null)
{
return await AuthRequest<Report[], Exception>(HttpMethod.Get, "/reports/search", new Values {
{ "folder_id", folder_id },
{ "favorite", favorite },
{ "recent", recent },
{ "id", id },
{ "title", title },
{ "sorts", sorts },
{ "limit", limit },
{ "fields", fields },
{ "next_page_token", next_page_token }},null,options);
}

#endregion Report: Report

#region Role: Manage Roles

/// ### Search model sets
Expand Down
Loading
Loading