Skip to content

feat: Search pipeline name in pipeline run API#129

Open
yuechao-qin wants to merge 1 commit intoycq/search-pipeline-run-legacy-filterfrom
ycq/search-pipeline-run-name
Open

feat: Search pipeline name in pipeline run API#129
yuechao-qin wants to merge 1 commit intoycq/search-pipeline-run-legacy-filterfrom
ycq/search-pipeline-run-name

Conversation

@yuechao-qin
Copy link
Collaborator

@yuechao-qin yuechao-qin commented Feb 26, 2026

TL;DR

Implemented search name in Pipeline Runs.

What changed?

Functional

  • API GET /api/pipeline_runs/

    • Search pipeline run name in filter_query. Example query (not URL encoded for example):
      /api?filter_query={"and": [{"value_equals": {"key": "system/pipeline_run.name", "value": "My pipeline run name"}}]}
  • API POST /api/pipeline_runs/

    • Copies the pipeline run name to the annotations table for future searching. Example pipeline run annotations table after API is called:
      pipeline_run_id key value
      abc123 system/pipeline_run.name My pipeline run name

Other

  • Implemented backfill_pipeline_name_annotations function to populate existing pipeline runs with name annotations

How to test?

uv run pytest tests/test_api_server_sql.py tests/test_filter_query_sql.py tests/test_database_ops.py
  • Create pipeline runs with various name configurations and verify that name annotations are properly created
  • Test the backfill functionality by removing annotations and running the backfill process
  • Verify that filter queries using the new SystemKey.NAME work with different predicate types (exists, equals, contains, in)
  • Confirm that both user annotations and system annotations coexist properly

Why make this change?

  • This enables users to search and filter pipeline runs by name.
  • By mirroring pipeline names as system annotations, pipeline names will be searchable via the annotations table.

@yuechao-qin yuechao-qin force-pushed the ycq/search-pipeline-run-legacy-filter branch from f8f6e26 to 004fc05 Compare February 27, 2026 21:55
@yuechao-qin yuechao-qin force-pushed the ycq/search-pipeline-run-name branch from f8b3f75 to 7a7a60b Compare February 27, 2026 21:55
@yuechao-qin yuechao-qin changed the base branch from ycq/search-pipeline-run-legacy-filter to graphite-base/129 February 28, 2026 10:24
@yuechao-qin yuechao-qin force-pushed the ycq/search-pipeline-run-name branch from 7a7a60b to 2b4e624 Compare February 28, 2026 10:25
@yuechao-qin yuechao-qin changed the base branch from graphite-base/129 to ycq/search-pipeline-run-legacy-filter February 28, 2026 10:25
@yuechao-qin yuechao-qin changed the base branch from ycq/search-pipeline-run-legacy-filter to graphite-base/129 March 1, 2026 03:22
@yuechao-qin yuechao-qin force-pushed the ycq/search-pipeline-run-name branch from 2b4e624 to 10cd01f Compare March 1, 2026 03:23
@yuechao-qin yuechao-qin changed the base branch from graphite-base/129 to ycq/search-pipeline-run-legacy-filter March 1, 2026 03:23
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.

1 participant