grafana / grafana/github-datasource

Stable selectors for Grafana Pathfinder tutorials (3 anchors, 4 tutorials)

Open Beginner friendly
#796 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
310
Forks
70
Avg merge
2d 20h
Merged PRs (30d)
3

Description

[Pathfinder](https://grafana.com/docs/learning-journeys/) tutorials anchor their steps to DOM selectors. We've identified that the guides mentioned below target UI this plugin renders (audit: grafana/grafana#129672). Weak anchors (text/placeholder/positional) break silently when copy or layout changes in your plugin however data-testids give us a more robust path forwards.

## Add `data-testid`s to the following JSX

Any value works — we'll retarget the tutorials to whatever you pick.

| element (current weak anchor) | tutorials | where (at 2026-08-04/05) |
|---|---|---|
| `[aria-label='Query editor owner']` | github-visualize-lj/build-issues-panel, github-visualize-lj/build-pr-panel +1 | `src/components/selectors.ts:12` |
| `[aria-label='Query editor repository']` | github-visualize-lj/build-issues-panel, github-visualize-lj/build-pr-panel +1 | `src/components/selectors.ts:15` |
| `input[placeholder='Personal Access Token']` | github-data-source-lj/config-github-datasource | `src/views/ConfigEditor.tsx:37`
`src/views/ConfigEditor.tsx:127` |

---
If you've any questions please reach out in the #proj-pathfinder-selectors slack channel.

Contributor guide

Open the contributing guide

Research direction

Start with the JSX around src/components/selectors.ts:12 and :15, then inspect src/views/ConfigEditor.tsx:37 and :127. Add stable data-testid attributes to the three listed UI elements, using any values, and verify the attributes are present where the Pathfinder tutorials currently rely on weak selectors.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.