apache / apache/airflow

Optional support for static Extra Links without XCom dependency

Open
#55,432 7 comments 2 reactions 0 assignees View on GitHub
area:core good first issue kind:feature needs-triage
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 10h
Merged PRs (30d)
483

Description

### Description

This feature request entails the addition of an opt-in feature for extra links which are not stored as an XCom, for static URLs and reduced metaDB bloat.

### Use case/motivation

As far as I'm aware, extra links are only supported via XComs. This makes sense for dynamic, task-instance specific / DAG-run specific URLs (e.g. a link to an external Spark job); however, XComs are _not_ an ideal mechanism for static URLs which are only specific to the given operator (rather than the task instance). For example, a very common use case for the Extra Links feature is to point to a static, operator-specific documentation page. Yet, storing that URL in an XCom for each task instance is clearly not ideal in that circumstance, and only adds bloat to the metaDB.

### Related issues

Only very tangentially related: https://github.com/apache/airflow/issues/54527

### Are you willing to submit a PR?

- [x] Yes I am willing to submit a PR!

Caveat: I am willing to help with the backend implementation, but I have no understanding or experience regarding react / frontend development.

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Research direction

Start by tracing Airflow's existing extra-link entry points and how they write and read XComs, then inspect the related React frontend behavior. Done should mean an opt-in path supports static operator-specific URLs without creating per-task XCom entries, with coverage for the backend and frontend behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, react
Domain
backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.