Correlations: Limit access to correlations page to users who can access Explore (#93519)
Correlations: Limit access to correlations page to users who can access Explore
(cherry picked from commit 813e1c1364)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
AzureMonitor: Deduplicate resource picker rows (#93129)
* Use URI for querying resources in RG
- Ensure resource group names are correctly slash separated
* Update test
(cherry picked from commit 76c8975b4f)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Annotations: Optimize search by tags (#93547)
* Annotations: Optimize search on large number of dashboards
* refactor
* fix batch size
* Return early if no annotations found
* revert go.mod
* return nil in case of error
* Move default limit to the API package
* fix empty access control filter
* Set default limit to 100
* optimize query when number of annotations is less than limit
* Update pkg/services/annotations/annotationsimpl/annotations.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* remove limit from store since it's set in API
* set default limit in Find method (do not break tests)
* Only add limit to the query if it's set
* use limit trick for all searches without dashboard filter
* set default page if not provided
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 5e713673e1)
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
AzureMonitor: Improve resource picker efficiency (#93127)
* Parameterise region building metric namespace URL
- Add parameter for region (this parameter takes precedence over if global is set)
- Update tests
- Support this parameter on the data source method
* Refactor fetchAllNamespaces
- Use Set rather than an array for greater performance
- Request namespaces across WestEurope, EastUS, and JapanEast concurrently
- Update test
* Maintain existing behaviour
(cherry picked from commit 6a3dbe7d41)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
CI: Ensure changelogs are prettified prior to commit (#92580)
* Ensure changelogs are prettified prior to commit
* Remove cache property
* Include .yarn directory
* Include packages directory
* Try just using npx
* Update workflows
(cherry picked from commit 8daa6f1f30)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Alerting docs: adds caps not supported in email contact points (#92902)
* Alerting docs: adds caps not supported in email contact points
* ran prettier
* feedback from antonio
* ran prettier
(cherry picked from commit 9d3d1703f7)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
DashboardModel - Add fallback for variable current value fallback (#91833)
* add variable current value fallback when null
* refactor to avoid loosing reference
(cherry picked from commit 7c8184d5bf)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Capitalized list items under "With Explore Metrics, you can:" (#91879)
capitalised list items under "With Explore Metrics, you can:"
(cherry picked from commit 62abaea8f5)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
* Update changelog
* Update version to 11.0.3
* fix changelog
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
OpenTSDB: Fix data frame construction (#90991)
* Update type and frame construction
* Update tests
* Keep dataField name as value
(cherry picked from commit 06509712ec)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
AzureMonitor: Add authproxy as supported user auth method (#91754)
Add authproxy as supported user auth method
(cherry picked from commit d52626be3f)
# Conflicts:
# public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx
TemplateSrv: Backportable version of 90808 (#90833)
TemplateSrv: Backportable version of 90808 (#90816)
* TemplateSrv: Add test case for SafeSerializableSceneObject
* Update dashboard data source to use scoped vars scene object valueOf
* 11.1.x Backportable version of 90808
* lint
(cherry picked from commit 2e5b41cbcb)
Alerting: Fix persisting result fingerprint that is used by recovery threshold (#91224)
(cherry picked from commit 537f1fb857)
# Conflicts:
# pkg/services/ngalert/state/persister_sync.go
Snapshots: Fix panic when snapshot_remove_expired is true (#91232)
(cherry picked from commit bb5d2c83ef)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
CI: set dry-run if `release/dry-run` label is set on `release-comms.yml` and set latest on github release if `latest` is set (#91089)
set dry-run and set latest on github release
(cherry picked from commit 4e84234424)
Update version of docker-compose.yaml (#90539)
* Update version of docker-compose.yaml
* Update index.md
(cherry picked from commit 3c405e8b1f)
Co-authored-by: lnnt <770954908@qq.com>
CI: fix changelog push error (#90971)
* add --set-upstream origin to release-pr workflow git push
* use a different branch name for the changelog workflow
* disable backport support for now
* remove backport condition
(cherry picked from commit 089a5710b6)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
CI: changelog boolean type (#90948)
* bool -> boolean
* add missing type keys
* provide secrets in release-pr
* use permissions and built-in github token
(cherry picked from commit 14396048d7)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
Dashboards: Change datemath parse logic so parsed dates always take timezone into account (#88182)
* Dashboards: Change datemath parse logic so parsed dates always take timezone into account
(cherry picked from commit 2e0175c3eb)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
CI: For every release PR created, also push a changelog PR to main (#90698)
For every release PR created, also push a changelog PR to main
(cherry picked from commit 9232db2416)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
Chore: update changelog workflow (#90608)
* try integrating
* pass tags
* change section order
* use better terminology
* one more attempt
* keep delimiters
* attempt to patch changelog
* quotes, bash quotes...
* use proper content file
* parens around date
* time for a pr
* first checkout, then create user
* add latest input
* git push
* use square brackets
* formatting
* update release-pr
* fix typo
* try sparse checkout
* fetch depth zero
* clean up after changelog generator
(cherry picked from commit f8b092aba6)
CI: replace publish image step with a much simpler one that supports LATEST (#90498)
* replace publish image step with a much simpler one that supports LATEST
(cherry picked from commit 6a2a6b0fbc)
highlighting the part of the Grafana enterprise section so easir for … (#90177)
highlighting the part of the Grafana enterprise section so easir for users to find it
(cherry picked from commit 677d2a8b70)
Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
CI: fix release pr condition (#90299)
* Release comms should only run when the source PR is
* Fix release-comms workflow condition
(cherry picked from commit a28db90dd5)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
* Azure: Fix default subscription setting (#90185)
* Ensure default subscription is set
* Include some info for when the default subscription is required
* Rename settings mock
- Add mockDatasourceSettings function
* Add MonitorConfig test
* Revert "Rename settings mock"
- Avoid issues when backporting
* Remove description
* Remove required field
* Remove unused import
(cherry picked from commit bba26f8e13)
* Add react
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
CI: Sync branch and tag after release (#89967)
* Added `workflow_call` event to allow other workflows to invoke the "Create or update GitHub release"
* Added `dry_run` to `github-release.yml`
* Added `latest` to `release-pr.yml` which will cause the release PR to add a `release/latest` label.
* Removed unnecessary github app creation from github-release workflow and just used permissions.
(cherry picked from commit 63e715f6a9)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
Alerting: Skip loading alert rules for dashboards when disabled (#89361)
(cherry picked from commit 781e394118)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Notifications: Do not log email address in error message (#89314)
Do not log email address in error message
(cherry picked from commit c2c30c25ed)
Co-authored-by: William Wernert <william.wernert@grafana.com>
Analytics: Fix ApplicationInsights integration (#89299)
change ApplicationInsights backend to use SystemJS to load
(cherry picked from commit 7bb883e375)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Use ref URIs with the reference style links (#89204)
* Use ref URIs with the reference style links
If I remember correctly, the UI needs reference style links so it can substitute its own link destinations.
ref URIs work both inline and as the destination for reference style links.
* Remove unused ref URI
* Remove unused Data frames link
---------
(cherry picked from commit f5468542ba)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#88992)
* add test for the bug
* remove unused struct
* update db store to post process filters by group using go-lang's case-sensitive string comparison
--------
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
# Conflicts:
# pkg/services/ngalert/store/alert_rule.go
# pkg/services/ngalert/store/alert_rule_test.go
Added Grafana Play Links to Panel visualization docs (#88995)
* Update index.md on Node panels to Grafana Play link
* Update index.md add Traces docs link to Grafana Play
* Update index.md News documentation link to Grafana Play
* Update index.md Alert list documentation link to Grafana Play
* Update index.md Alert list fixed missing link
* Update index.md Fixed title
* Update index.md Trying code fix
* Ran prettier command
* Matched link text to dashboard titles
* Replaced URL with ref URI key
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 404617b33d)
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
RBAC: List only the folders that the user has access to (#88599)
only check folder permissions when listing folders
(cherry picked from commit 095ca66d9f)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
DashboardScene: Fixes lack of re-render when updating field override properties (#88796)
* DashboardScene: Fixes lack of re-render when updating field override properties
* Added unit test
(cherry picked from commit db25886f9c)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Transformations: Keep original `field.labels.name` when joining frames (#88873)
(cherry picked from commit 89a0bec208)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
User: add second migration for lowercasing login/email of users (#88915)
(cherry picked from commit 39bd13f877)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Chore: Fix test to retry fetching provisioned dashboard until is in place (#85408)
Retry fetching provisioned dashboard until is in place
(cherry picked from commit 88be09420c)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
added youtube video link (#88901)
* added youtube video link
* Update index.md
(cherry picked from commit 5095ea84b2)
Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
DashboardScene: Fixes issue with some query editors to not adapt to width changes (#88718)
DashboardScene: Fixes issue with panel editor causing moncao query editors to not adapt to width changes
(cherry picked from commit e735573852)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Update proxy/index.md (#88261)
* Update index.md
Specify proxy support is for SOCKS5 in Title. So it is clear this is not for TCP or HTTP proxy
* update title to match header
(cherry picked from commit 36c66e3e94)
Co-authored-by: Kyle Hounslow <7102778+kylehounslow@users.noreply.github.com>
Docs: add pinning of terraform for migration (#88528)
* Docs: update with terraform version
* added the terraform version pinning
* formatting
* Update docs/sources/administration/api-keys/index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* formatting
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 221e036233)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
LibraryPanels/RBAC: Ignore old folder permission check when deleting/patching lib panel (#88422)
* LibraryPanels/RBAC: Ignore old folder permission check when deleting lib panel
* Same for patching
(cherry picked from commit 8f45003192)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Dashboards: Correctly display Admin access to dashboards in the UI (#88439)
* include folder wildcard scope in dash permission inheritance
* Update pkg/services/accesscontrol/ossaccesscontrol/permissions_services.go
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 1c2ae2c72d)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Docs: Rename variables pages (#87844)
* Renamed Manage variables page to Add variables
* Renamed Inspect variables page to Manage and inspect variables
* Updated H1 on Add variables
* Moved Manage variables content to from Add varibles page to Manage and inspect variables page and updated text to fit
* Updated link style to ref URIs in Manage and inspect variables
(cherry picked from commit 197ce3042d)
Alerting/Annotations: Return nothing from historian store if filtering by tags and matchAny is false (#85488)
* Return nothing from historian store if filtering by tag
(cherry picked from commit cad8190a91)
Co-authored-by: William Wernert <william.wernert@grafana.com>
DashboardScene: Re-enabled skipped scenes e2e tests due to bugs (#87723)
* enabled skipped tests
* adjust to wait for loading indicator
* adjust typos
* adjust e2e workflow for test PR run
* restore workflow
* adjust workflow for test run
* restore workflow to sheduled runs
(cherry picked from commit e324a346f6)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
* Alerting: Fix scheduler to sort rules before evaluation (#88006)
sort rules scheduled for evaluation to make sure that the order is stable between evaluations.
This is especially important in HA mode.
(cherry picked from commit 05d6813a09)
* use old generators
---------
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
CloudMonitoring: Fix query type selection issue (#87990)
* Use deepEqual to ensure migratedQuery is only returned when query is unchanged
* Add selectors for query editors
* Add more tests for query editor component
* Clarifying comments
* Fix how state is set
* Simplify query editor loading and migration
(cherry picked from commit 58d382e5dd)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Azure: Fix for username assertion (#87853)
Fix for username assertion
- Allow setting username assertion in INI
- Correctly set the azsettings value
- Update tests
(cherry picked from commit edae5fc791)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Docs: public dashboards fixes (#87870)
* Made minor style fixes
* Converted docs ref links to ref URIs and updated note style to admonitions
* Fixed link text and version syntax
(cherry picked from commit 80e2af5d25)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Alerting: use logger with same context within rule scheduling loop (#87934)
(cherry picked from commit f410c7fca1)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
DashboardScene: Fixes checkbox orienation in save forms (#86408)
(cherry picked from commit 1d513f66b8)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
PublicDashboards: Public dashboard refreshed when access token changes (#87913)
(cherry picked from commit a6d64c6ed5)
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
Explore: lookup datasource by name when present in legacy URLs (#85222)
* [explore] lookup datasource by name when present in legacy compact URLs
* update unit test
* prettier fix
---------
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
(cherry picked from commit 867d36fe59)
Co-authored-by: Christian Briones <cwbriones@gmail.com>
Docs: Adds video embed for the Understanding Dashboards youtube video (#87449)
* Adds video embed for the Understanding Dashboards youtube video
* Moved video to Use dashboards page
---------
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 1e2c58fc80)
Co-authored-by: Tom Glenn <289945+tomglenn@users.noreply.github.com>
DashboardScene: Default `hoverHeaderOffset` to 0 (#87561)
* remove hoverHeaderOffsetBehavior and force offset to 0
* force headerHoverOffset in addPanel flow
(cherry picked from commit 5f147644d4)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Alerting: Do not store series values from past evaluations in state manager for no reason (#87525)
Do not store previous execution results on states
(cherry picked from commit a6a9ab4008)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
"Release: Updated versions in package to 11.0.1"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
* AuthN: Fix signout redirect url (#87631)
* Add missing return
* Use sign out redirect url from auth config if configured
* remove option from auth.jwt that is not used
(cherry picked from commit 0f3080ecb8)
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
CloudMonitoring: Improve legacy query migrations (#86069)
* Match backend and correctly migrate metricType
Update tests
* Ensure project is migrated or set if not defined
* Improve migrations logic
(cherry picked from commit 95667f6a53)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Azure data sources: Set selected config type before save (#87481)
* set selected config type before save
* use effect once and move in mssql
* add to prom
* Update ConfigurationEditor.tsx
* Update ConfigurationEditor.tsx
* Delete public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx
* omadsfdsa
* remove unneeded assign
(cherry picked from commit 5e19aa7bd1)
Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Chore: Add login protection when user is trying different uppercase letters (#87588)
* add login protection when the user is trying different uppercase letters
(cherry picked from commit cd98aaf89b)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Chore: Implement GetOAuthProviders in FakeSocialService (#87590)
Implement GetOAuthProviders in FakeSocialService
(cherry picked from commit 896882b004)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Alerting: Add two sets of provisioning actions for rules and notifications (#87149)
(cherry picked from commit 356a29592b)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
alerting/webhook doc update (#87492)
* alerting/webhook doc update
* text formath
* fixed admonition
* typo
* headings
* formatted headings and prettified it all
* one more heading
(cherry picked from commit d83cbe4d85)
DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87433)
* DashboardDataSource: always return a result key
* Update
* Update
(cherry picked from commit e7c39f18be)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Provisioning: Look up provisioned folders by UID when possible (#87465)
look up provisioned folders by uid when possible
(cherry picked from commit 1884b03511)
Co-authored-by: Dan Cech <dcech@grafana.com>
Alerting: Also fix HCL field name for MuteTimeIntervals (#87079)
* Correct HCL field name for MuteTimeIntervals
* Update test
(cherry picked from commit 93519f70ca)
Co-authored-by: William Wernert <william.wernert@grafana.com>
datatrails: reloaded trail bugs related to no selected metric (#87344)
* fix: reloaded scene first step topScene
The top scene was not being initialized
when reloading trails, causing it to use
the top scene of whatever was selected
previously.
* fix: select new metric node not reloading right
On reloading trails, any metric node that
was 'green' with a undefined metric due to
clicking on the "select new metric" button,
was reloading with the metric of the step
directly before it (in index order).
(cherry picked from commit e9b932c8f6)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87067)
* fix: only fetch metrics metadata, not metric names
(cherry picked from commit f93c330b66)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
scenes: update to v4.14.0: opt-in to `useQueriesAsFilterForOptions` (#87244)
* fix: opt-in to `useQueriesAsFilterForOptions`
With updating the scenes library, dashboards must now explicitly
opt in to `useQueriesAsFilterForOptions`.
(cherry picked from commit 5b424ed6bb)
datatrails: recently loaded trails modify parent variables when making new steps (#87284)
* fix: loaded trails modified parent var on new step
This ensures that recently loaded trails won't have variable changes
which create new steps modify the previous step.
(cherry picked from commit 046eedaa4c)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
DashboardScene: Measure and report scene load time (#86267)
* measure scene load time
* Fix tests that fail due to performance not being the proper global performance object in jest
* add isScene parameter to tracking test
(cherry picked from commit e7f40493e4)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
fix: sql expressions - sql parser table name case (#87196)
* fix: sql parser table name case
(cherry picked from commit 4fd2cb6014)
Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
InfluxDB: Support cardinality queries with backend mode (#87264)
support cardinality queries
(cherry picked from commit 3317691615)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Docs: Fix link to values.yaml file (#87014)
Fix link to values.yaml file
Linking to the "edit" URL fails if the reader doesn't have write access
to the repo: they'll be prompted to fork the repo or to sign in to
GitHub. Instead link to the "blob" URL which is accessible to all
readers.
(cherry picked from commit 64d5440c5a)
Co-authored-by: Nicholas P. Cole <nicholas@nicholaspcole.com>
DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87238)
* adjust workflow to use correct go version
* finalise wokflow adjustments
(cherry picked from commit 838e36bd99)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87139)
* Create basic structure PanelDataQueriesTab unit test
* Add more test cases to the PanelDataQueriesTab test
* Update public/app/features/dashboard-scene/panel-edit/VizPanelManager.tsx
(cherry picked from commit eae1cafebd)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87120)
* activate library viz panel and adjust id extractor
* revert parts that are fixed in #87125
* clean up after activation handler
(cherry picked from commit afbd02c4ec)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87107)
fix: cancel out margin-bottom of placeholder in loading state
(cherry picked from commit 6dbc44920c)
Co-authored-by: Tim Mulqueen <Multimo@users.noreply.github.com>
Auth: Force lowercase login/email for users (#86359)
* [WIP]: Force lowercase login/email for user CRUD
* warn and remove use of userCaseInsensitiveLogin check
* remove log warning
* reimplementation of the caseinsensitive
* need to decide if we want the conflict check or not
* remvoved the tests for conflict user by getEmail, getLogin
* added tests for user lowercase migration
* wip: emails next
* tests for email lowercasing
* review comments
* optimized login and email lookup before migrating
(cherry picked from commit e394e16073)
RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87220)
do not set permissions on DS with wildcard UID
(cherry picked from commit 28dd1ddd8e)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Docs: Add data links shared content (#86893)
* Added data link options shared file and added file to relevant visualizations
* Updated some text and links in canvas
* Added shared file to xy chart
* Fixed list of visualizations using shared file
* Removed unneeded level offset
* Removed future tense
* Update data links description
* Updated wording
* Removed redundant sentence
(cherry picked from commit 1ef0e240e9)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
DashboardScene: Fixes issue referring to library panel in dashboard data source (#87125)
* DashboardScene: Fixes issue using a library panel as source for dashboard data source
* Added test
(cherry picked from commit 4034a26972)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
DashboardScene: Fixes issue with panel edit options pane and data (#87161)
(cherry picked from commit 7a5c17d613)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Docs: add legends shared content (#86814)
* Updated shared file name and added missing options
* Added legend options 1 shared file to relevant visualizations
* Updated shared file name and corrected options
* Added legend options 2 shared file to relevant visualizations
* Updated legend content for heatmap and pie chart
* Added where shared legend files are used in each file
* Moved intro text out of viz pages into legend options shared files
* Added reasoning to front matter of shared files
* Added reasoning to front matter of shared files
* Fixed version interpolation and added cloud links
* Updated links in shared files
(cherry picked from commit dad3069594)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87119)
set managed data source permissions upon resource creation for unlicensed Grafana, remove them on deletion
(cherry picked from commit 5e060d2d99)
* remove code for older version
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Alerting: Use expected field name for receiver in HCL export (#87065)
* Use expected field name for receiver in hcl
Terraform provider expects `contact_point` instead of `receiver` in
notification settings on a rule.
(cherry picked from commit 70ff229bed)
Co-authored-by: William Wernert <william.wernert@grafana.com>
Alerting: Improve error when receiver or time interval used by rule is deleted (#86865)
* Alerting: Improve error when receiver used by rule is deleted
* Remove RuleUID from public error and data
* Improve fallback error in am config post
* Refactor to expand to time intervals
* Fix message on unchecked errors to be same as before
(cherry picked from commit 3397e8bf09)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Docs: Update Explore Metrics doc based on feedback (#87062)
* changed from private preview to public preview
* commented out pivot to logs and traces
(cherry picked from commit 3845033308)
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
Canvas: Connection original persistence check (#86476)
* Canvas: Connection original persistence check
* modify current connection state directly instead of copying and needing to call "onChange"
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 7590f4afe1)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
DateTimePicker: Alternate timezones now behave correctly (#86750)
* Add failing tests for timezone handling
* Fix `DateTimePicker.tsx` timezone handling
- Resolves `onBlur` issue
- Resolve Calendar and TimeOfDay issues
- Update test to cover different timezone
* Handle `console.warn` in test
* Handle `console.warn` in test #2
* Better handling of invalid date
When parsing date string with `dateTime`, adding a second `formatInput` aids in both parsing the actual string and avoid `console.warn` when `moment` reverts to be using `Date`.
* add more test cases
* Ash/proposed changes (#86854)
* simplify
* only need this change
* formatting
* const > let
* add test to ensure calendar is always showing the matching day
* separate state
* undo story changes
* update util function comments
* fix for selecting date in the calendar
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 7fab894e9b)
Co-authored-by: Thomas Wikman <thomas@w1kman.se>
Dashboard scenes: Fix min interval not saving (#86962)
* Fix min interval not saving
* Add tests
* Fix test
(cherry picked from commit fdc1023586)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Docs: Add value mappings shared content (#86996)
* Added value mappings shared file
* Fixed name of file
* Fixed list of visualizations using shared file
* Added shared file to visualizations
* Updated shared file and added to canvas
* Updated shared file intro text
* Removed future tense
(cherry picked from commit d5fde99c6d)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#86998)
Don't return null when uids not matching for new dashboards
(cherry picked from commit c3cde17b33)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#85677)
* fix: persistence trail detection, save on unload
- fixes detection on bookmarks and recents when current step isn't final
- now save current trail on browser close or reload (unload)
- refresh page or return to URL that corresponds to a recent trail will
resume that trail instead of creating a duplicate recent trail
- do not create a recent trail out of an empty starting trail
* fix: bookmarks status after making new step
- clone bookmark trail state to prevent it from being changed by user
- re-evaluate bookmark status after creating new step
(cherry picked from commit 9af4607e78)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
DataTrails: Exploring alternatives to history issues (#86843)
* DataTrails: Exploring alternatives to history issues
* incorporated unit tests from #86817 and #86741
---------
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
(cherry picked from commit c965c27994)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86716)
fix: ensure new viz tooltips are visible within modals
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit ff761bb7d6)
Canvas: Fix division by zero (#85443)
* Canvas: Fix division by zero
* Fix last add vertex control
* Apply fix to existing vertices
* Apply deltas to temporary paths
* Persist original source and target coorindates
* Add follow up TODO
* Update connection svg to handle originals
* Get rid of minimum constraints for deltas
* Apply persist coordinate system to vertex handlers
* Consolidate and rename selected value
* Update connection arcs to use new coordinates
* fix editor crashing with scenes
---------
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
(cherry picked from commit ed8eacbc7e)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Alerting: Fix instances link when served from subpath (#86432)
Fix instances link when served from subpath
(cherry picked from commit 9614126cb7)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Table Panel: Fix images not showing on hover with multiple data links (#86732)
* Fix issue
* Prettier
* codeincarnate/image-table-fix/ lint
* Make linter happy by using div with role of button + improve a11y
---------
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 37d086d49c)
Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
Docs: add tooltips shared content (#86553)
* Replaced shared tooltips file with text in xy chart
* Added tooltip info for heatmap
* Updated tooltip shared files, renamed one file, updated configure tooltips
* updated tooltip shared file paths
* Added tooltips shared files in relevant visualizations
* Added where shared file is used in tooltip-options-1
* Added where shared file is used in tooltip-options-2
* Added intro text and justifications to shared files
* Removed tooltips intro text from visualizations with shared files
* Added names of files to comments in shared files
(cherry picked from commit 0e81fdffbe)
fix: datatrail link to "open in explore" prefix with `config.appSubUrl` (#86375)
* fix: datatrail link to explore needs appSubUrl
* fix: use `appUrl` when creating URL for sharing
(cherry picked from commit 2ed7eecf2d)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86252)
* fix: interpolate "explore metrics" from panels
---------
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
* fix: remove support for legacy dashboard
- simplify code
- take advantage of scenes dashboard async and datasource api object
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 53ead9904d)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Add onClick behaviour to links to new tooltips (#84974)
* Add onClick behaviour to new tooltips
* Prefer using DataLink component
(cherry picked from commit 9e54c450d7)
Co-authored-by: Javier Ruiz <javiruiz01@users.noreply.github.com>
SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86857)
SQLStore: Disable create and drop unique index migrations
(cherry picked from commit a5a3ee9fa3)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
LogContext: Fix structured metadata labels being added as stream selectors (#86825)
* LogContext: Fix structured metadata labels being added as stream selectors
* use row index
(cherry picked from commit a8424f4831)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86789)
* Return default datasource if datasource is not found
* Set query runner datasource state to default, else refreshing will not work
(cherry picked from commit de589b98c7)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
TimeOfDayPicker: Fix text colours in light mode (#86771)
fix text colours in light mode
(cherry picked from commit a1321d17ca)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86674)
dashboard meta is not available if the dashboard response is a redirect
(cherry picked from commit 12771e49fc)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Dashboard scenes: fix textbox value only set to first character of default value (#86595)
Dashboard scene: fix textbox value only set to first character in default value
(cherry picked from commit dccad4e081)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
XYChart2: Remove common series name from tooltip items (#86739)
(cherry picked from commit 7754d0d4dc)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Alerting: Take receivers into account when custom grouping Alertmanager groups (#86127)
* Take receiver into account when custom grouping Alertmanager alert groups
* Fix and add tests
(cherry picked from commit acd3e83c1c)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
LDAP: Fix listing all non-matching groups (#86682)
Fix getRowId in LdapUserGroups to list all non-matching groups
(cherry picked from commit 6ab9dcde8d)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Alerting: Fix max_alerts field handling (#86651)
Fix max_alerts field parsing
(cherry picked from commit 1b930c341d)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Change folder breadcrumb on folder change in general settings (#86342)
* Change folder breadcrumb on folder change in general settings
* tests and refactor
* refactor to fix broken tests
* fix test
(cherry picked from commit 60e6dd56bf)
Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
MSSQL: Add `SQL_VARIANT` converter and update test (#85823)
Add SQL_VARIANT converter and update test
(cherry picked from commit 420067a7e1)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Docs: Update example docs for `rename by regex` (#86627)
* baldm0mma/update_regex/ update example docs
* baldm0mma/ push ts
* baldm0mma/update_regex with new exmaples
* baldm0mma/update_regex/ update images
* baldm0mma/regex_update/ update text
(cherry picked from commit ad679c62c6)
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
IntervalVariableEditor: Do not add current value as interval prop (#86446)
(cherry picked from commit 65afe90124)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
CommandPalette: Fix keyboard shortcut alignment (#86540)
* use full typography properties
* use Text component
(cherry picked from commit 63427ccd98)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
EmptyState: Set a max width on the empty state component (#86569)
set a max width on the empty state component
(cherry picked from commit 21588ce7e2)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
InfluxDB: Fix interpolating field keys in influxql (#86401)
* interpolate field keys
* use scopedVars
(cherry picked from commit 842c8dd206)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Alerting: Fix simplified routing group by override (#86552)
* Alerting: Fix simplified routing custom group by override
Custom group by overrides for simplified routing were missing required fields
GroupBy and GroupByAll normally set during upstream Route validation.
This fix ensures those missing fields are applied to the generated routes.
* Inline GroupBy and GroupByAll initialization instead of normalize after
(cherry picked from commit 71445002b7)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Docs: Add GeoMaps YouTube Video (#86472)
* Update index.md on GeoMaps adding YouTube Video
Added the GeoMap YouTube video to the documentation
* Update docs/sources/panels-visualizations/visualizations/geomap/index.md
Totally agree, I tend to use those words and not realize :P
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 0d11f9b2f4)
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
InfluxDB: Fix interpolation for floating point number values (#86396)
return number as it is
(cherry picked from commit 635d85db7a)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86087)
(cherry picked from commit 9682022b1d)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86006)
* Alerting: Fix simplified routes '...' groupBy creating invalid routes
There were a few ways to go about this fix:
1. Modifying our copy of upstream validation to allow this
2. Modify our notification settings validation to prevent this
3. Normalize group by on save
4. Normalized group by on generate
Option 4. was chosen as the others have a mix of the following cons:
- Generated routes risk being incompatible with upstream/remote AM
- Awkward FE UX when using '...'
- Rule definition changing after save and potential pitfalls with TF
With option 4. generated routes stay compatible with external/remote AMs, FE
doesn't need to change as we allow mixed '...' and custom label groupBys, and
settings we save to db are the same ones requested.
In addition, it has the slight benefit of allowing us to hide the internal
implementation details of `alertname, grafana_folder` from the user in the
future, since we don't need to send them with every FE or TF request.
* Safer use of DefaultNotificationSettingsGroupBy
* Fix missed API tests
(cherry picked from commit 533bed6d94)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Docs: add panels & visualizations landing page (#86073)
* Added landing page front structure
* Added description and overview content and card titles
* Added placeholder tile and work notes
* Finalized text and updated link type
* Updated panel overview tile link
(cherry picked from commit 7c441011f2)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
CloudMigrations: Add instance metadata to auth token (#85381)
* update how tokens are passed around
* rename structs
(cherry picked from commit 5a5f76ae0a)
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
Auth: add Dex example to generic OAuth2 documentation (#84744)
This patch adds an example configuration for setting up generic OAuth2
authentication using [Dex IdP](https://dexidp.io/).
(cherry picked from commit e9969e3542)
Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com>
Graphite: second function as another function argument parsing error fix (#85224)
* update language around query editor parsing issues
* add special handling for second function arguments in divideSeriesLists
* additional check for first argument as series(string) and not a function
(cherry picked from commit 3c28a3d494)
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
JWT: Find login and email claims with JMESPATH (#85305)
* add function to static function to static service
* find email and login claims with jmespath
* rename configuration files
* Replace JWTClaims struct for map
* check for subclaims error
(cherry picked from commit e4250a72db)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Explore: Nested Content Outline (#80688)
* indentation levels
* Highlight parent section when child is selected
* Fix context, add rotation to toggle button
* Merge single child logic; fix styling
* Fix collapsed logic, make elipsis work, reorganize for better readability;
* Add connector
* Tooltip placement
* Update tests so they test components the same way users would interact with them
* Clean up indendation levels
* Support collapsing logic for multiple section; highlight all items in a section of an active child - parent is active only when section is collapsed and child inside of it is active
* Simplify making ellipsis work
* Show tooltip if the text overflows in expanded mode
* The whole button container should have same background when section is expanded in mini view
* Fix a bug where root items were not being sorted by document position
* Update query order when query rows are changed through dragging and dropping
* Fix the issue where chaning the title of a query row would remove the query
(cherry picked from commit 649c456eab)
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
User: email verification completion (#85259)
* TempUser: Include InvitedById in TempUserDTO
* Extract email verfication completion flow to service
(cherry picked from commit 73e426b081)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Panel: Description display event is reported multiple times (#85283)
(cherry picked from commit 233f119037)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Revert "Update ephemeral instances workflow to get version from package.json" (#85347)
Revert "Update ephemeral instances workflow to get version from package.json …"
This reverts commit dda1531952.
(cherry picked from commit 29c76b98d4)
Co-authored-by: Leonor Oliveira <9090754+leonorfmartins@users.noreply.github.com>
Storage: GuaranteedUpdate fix & other improvements (#85206)
make GuaranteedUpdate work when ignoring not found errors, increase poll frequency, fix Delete
(cherry picked from commit ef26fe95dc)
Co-authored-by: Dan Cech <dcech@grafana.com>
AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#85262)
Add IsAuthenticatedBy to identity interface and replace checks
(cherry picked from commit 152cb47692)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* EmptyState: use `not-found` empty state variant everywhere in core (#85007)
* use EmptyState component everywhere in core
* remove GrotNotFound core component
* update unit tests
* search -> not-found
* fix 3 more
(cherry picked from commit 7ad2ec9665)
* EmptyState: Provide custom messages for existing empty states (#86021)
provide custom messages for existing empty states
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Dashboard scenes: Export isExpressionReference to be accessible from scenes (#85228)
Export isExpressionRef to be accessible from scenes
(cherry picked from commit b7156ef2c2)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Chore: InfluxQL stream parser improvements (#85041)
* don't iterate over first column as it is a time column already
* don't iterate over first column as it was handled earlier
* add more flexibility to run the commands
* Update pkg/tsdb/influxdb/influxql/converter/converter.go
Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
---------
Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
(cherry picked from commit fec7765111)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Alerting: Reduce set of fields that could trigger alert state change (#83496)
We want to avoid too much change of alert state based on change on
alert's fields. For that we ignore some fields from the diff.
(cherry picked from commit 6f38ac6615)
Co-authored-by: Benoit Tigeot <benoittgt@users.noreply.github.com>
Auth: Improve org role sync debugging (#85146)
add login to the context of the logger
(cherry picked from commit da40158fed)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
docs: add annotations play link (#86206)
* docs: add annotations play link
* PR feedback
(cherry picked from commit c9350a25c4)
Co-authored-by: David Allen <david.allen@grafana.com>
docs: add thresholds play link (#86212)
* docs: add thresholds play link
* PR review
(cherry picked from commit f50e29e004)
Co-authored-by: David Allen <david.allen@grafana.com>
docs: query data/relative time range override play link (#86213)
(cherry picked from commit c450d61d32)
Co-authored-by: David Allen <david.allen@grafana.com>
Nodegraph: Fix issue with rendering single node (#84930)
Fix for single node graph case
(cherry picked from commit aba65747c9)
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#84353)
* fix: remove global a tag styles inside tooltips
* corret inside / outside button references in toggletip test
* Remove code and pre styling rules from tooltipUtils
(cherry picked from commit b4ed72f1b6)
Co-authored-by: Chris Bedwell <christopher.bedwell@grafana.com>
Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#85011)
* Provisioning: Fix regression when dashboardProvisioner is accessed before being initialized
* Set dashboard provisioner in the provider
(cherry picked from commit 5ebf2d08f6)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
DataTrails: Fixes home page background issue to make Cards work better (#85055)
* DataTrails: Fixes home page background issue to make Cards work better
* Update DataTrailsHome.tsx
(cherry picked from commit d039a0a485)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Update ephemeral instances workflow to get version from package.json (#85088)
* use the same value for GRAFANA_VERSION and HOSTED_GRAFANA_IMAGE_TAG
* update codeowners for these files
(cherry picked from commit dda1531952)
Co-authored-by: Dafydd <72009875+dafydd-t@users.noreply.github.com>
postgres: improved tests (#84677)
* postgres: tests: better test aligning time-series results
* postgres: add snapshot test for a backward-compat code
(cherry picked from commit c835022861)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Datasources: Add fixed width to name field in config editor (#84970)
add fixed width to name field
(cherry picked from commit 28ecd83987)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#85481)
Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy
(cherry picked from commit 5b1498f98f)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
SSO: fix reloading settings when a provider contains empty settings (#85102)
* fix reloading settings when a provider contains empty settings
* do not increment reloadFailures if settings are empty
(cherry picked from commit fad6dc4db1)
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
OAuth: Make sub claim required for generic oauth behind feature toggle (#85065)
* Add feature toggle for sub claims requirement
* OAuth: require valid auth id
* Fix feature toggle description
(cherry picked from commit 2f3a01f79f)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Fix InteractiveTable: React, less hooks rendered than previous render (#85043)
fix: react-hooks error if data length switches from above or below pageSize
(cherry picked from commit d7f739c8e5)
Co-authored-by: Adam Bannach <113929542+abannachGrafana@users.noreply.github.com>
Chore: Vendor wire into pkg/build (#84637)
* vendor latest wire into pkg/build
* use vendored wire in builds
* fix wire import path
* remove wire from bingo
* also support google/wire import
* make prettier happy
* change package in tess
* add debug walk for drone
* add wire_gen in tests
* remove debug walk
* restore imports
(cherry picked from commit 4d4c06b480)
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
samlsettings: api integration (#84300)
* add strategy and tests
* use settings provider service and remove multiple providers strategy
* Move SAML strategy to ssosettings service
* Update codeowners file
* reload from settings provider
* add saml as configurable provider
* Add new SAML strategy
* rename old saml settings interface
* update saml string references
* use OSS license
* validate saml provider depends on license for List
* add tests for list rendering including saml
* change the licensing validation to service init
* replace service struct for provider
(cherry picked from commit fc205db466)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Alerting: Fix evaluation metrics to not count retries (#85873)
* Change evaluation metrics to only count once per eval, and add new metrics.
* Cosmetic: Move eval total Inc() to orginal place.
(cherry picked from commit ad7f804255)
Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
TimeSeries: Fix series rendering with data links and extra fields (#86007)
(cherry picked from commit 2bedbcf344)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
EmptyState: make "message" a required prop (#86029)
* make "message" a required prop on EmptyState
* run i18n:extract
(cherry picked from commit b3401c802c)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Docs: add Table visualization Play link (#85896)
Docs: add stat visualization Play link
(cherry picked from commit 83438bd231)
Co-authored-by: David Allen <david.allen@grafana.com>
datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85380)
fix: ensure breakdown yaxis sync is maintained when layout changes
(cherry picked from commit 2e1e45bbb1)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Chore: Fix position for RolePickerMenu being out of bounds (#85604)
* Fix position for RolePickerMenu being out of bounds
* adjust the offset of the role picker menu
(cherry picked from commit 85e66d8edb)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
InfluxDB: Fix panic when reading concurrency count during influxql health check (#85771)
fix panic when reading concurrency count during influxql health check
(cherry picked from commit 96f49bfaee)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Dashboard scenes: Fix export tab not including variables when exporting externally (#85807)
Fix export tab not including variables when exporting externally
(cherry picked from commit 96abe65fe4)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Check source panel for updates in Dashboard DS panel (#85655)
* Check source panel for updates in Dashboard DS panel
* Test
* made it better
* cleanup
* cleanup and tests
* fix failing tests
* find the correct dashboard query
* revert mixed check in dashboard behaviour
* Dashboard data source: Return error when used in mixed data source (#85765)
* MixedDS: Inform about dashboard ds not being supported
* lint fix
---------
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit b6249d6a50)
Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
Time Zones: Fix relative time when using UTC timezone (#85637)
add UTC case to e2e test + let UTC pass through to moment.tz
(cherry picked from commit 4b5b738646)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Dashboard: Move "add" actions into a dropdown (#85776)
* Move all add actions into a dropdown
* Hide alerts rules when editing
* Hide fav icon when editing
(cherry picked from commit df72cfd38e)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
PostgreSQL: Fix the verify-ca mode (#85530)
postgres: fix the verify-ca problem
(cherry picked from commit 8a15ed42ae)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Update teamHttpHeaders casing (#85767)
teamHTTPHeaders does not work.
teamHttpHeaders is the correct syntax for the feature toggle.
(cherry picked from commit 9d7e758e04)
Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
Docs: g11 preview whats new fixes (#85759)
* Made style fixes to intro
* Updated upgrade guide menu title
* Commented Explore metrics docs link back in
(cherry picked from commit 8014665ab5)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
PR to document Explore Metrics (previously datatrails) (#85212)
* text dump
* initial edits
* more edits
* added more info, made edits
* first draft
* removed some commented out content
* final edits
* made requested changes
* feature name change
* missed a metrics explore - fixed
* ran prettier
---------
Co-authored-by: lwandz13 <larissa.wandzura@grafana.com>
(cherry picked from commit 3721682a02)
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85731)
(cherry picked from commit edf36d9ec0)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85702)
* Re-order features and update intro in Grafana 11.0-preview What's new
* Removed title casing
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 3865b8c980)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
"Release: Updated versions in package to 11.0.0"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Chore: update go version used in `bump-version` so it works with the new format (#85111)
update go version used in bump-version
(cherry picked from commit 4974a89316)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Loki: Remove API restrictions on resource calls (#85191)
Loki: Remove API restrictions
(cherry picked from commit c80b31a0d4)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode (#85621)
* PanelEditor: Update hoverHeader state when changing panel title
* refactor test and remove duplicate
(cherry picked from commit 49a3a95dd1)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Angular deprecation: Prefer local "angularDetected" value to the remote one (#85571)
* Angular deprecation: Prefer local value to remote
* Update tests
(cherry picked from commit c033a15aaa)
Chore: Fix trailing spaces in prometheus min step (#85507)
Fix trailing spaces in prometheus min step
(cherry picked from commit 4e60f44d98)
Co-authored-by: Eunice Kim <kimeuni@amazon.com>
Fix sending `maxDataPoints` as string (#85561)
* make sure maxDataPoints is a number
* add migration for maxDataPoints
* remove migration
(cherry picked from commit 9c0f9f6ba4)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Docs: add YouTube video link and description (#85484)
* Update index.md Adding YouTube video link and description
Added a short description about the video and added the video to the page.
* Update docs/sources/panels-visualizations/visualizations/logs/index.md
Some edits went in. All nice :)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Removed repetition
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit f6a94837c5)
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
datatrails: hide "add to filter" button when there is no label value to add to filter (#85270)
fix: hide add to filters button when it won't work
(cherry picked from commit 2ecc1bb646)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
DashboardScene: Detect changes when live is enabled from settings (#85409)
* Adapt the code to the new live timer API
* Update scenes
(cherry picked from commit 89638238e5)
DashboardScene: Fix explore to dashboard flow (#85140)
* DashboardScene: Fix explore to dashboard flow
* Tests
* Make sure dashboard is in edit mode when adding from explore
* Allow discarding changes when coming from explore
* Tests
(cherry picked from commit b4dc79401b)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85509)
Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#83768)"
This reverts commit ecd6de826a.
(cherry picked from commit 8159e1db3a)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
datatrails: handle "single" layout when switching to "all" labels (#85373)
* fix: handle "single" layout when switching to "all" labels
(cherry picked from commit 18f3c7188b)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Bump scenes to 4.1.2 (#85470)
* Bump scenes to 4.1.2
* Fix tests after fixing the sorting in rows
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 9ba9cbf300)
RBAC: Fix slow user permission search query on MySQL (#85058)
* Bench testing search user perm
* Add BenchmarkSearchUsersPermissions_1K_1K
* Clarify benchmark searches by action prefix
* Make MySQL more efficient
* Move all filter options
* Expand after assignments union
* update comments
(cherry picked from commit 5e48804364)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
DashboardScene: Fix issues with dashboard empty state (#85406)
Fix
Tests
Make sure edit mode is on when adding panel/library panel
Co-authored-by: kay delaney <kay@grafana.com>
(cherry picked from commit fa9e139123)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Plugins: Send PDC file paths and contents for backwards compatibility (#85287)
* send paths and contents
* go work sync
(cherry picked from commit 1a0ac381eb)
OptionsPicker: Allow storing raw input even when matches exist (#84790)
(cherry picked from commit db6b51cb88)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85134)
* fix: conflict between browser history and trail history
- ensure the back button or url changes don't generate trail steps
- ensure label breakdown TextLinks which appear on the summary tab work in embedded mode
(cherry picked from commit 137061d1d5)
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
DashboardScene: Fix constant variable not being hidden after creation (#85196)
(cherry picked from commit ae9a4b6467)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Azure/GCM: Update `filterQuery` methods to carry out migrations (#85355)
Update filterQuery methods to carry out migrations
(cherry picked from commit 697a18737d)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Scenes: Fix row crash when removing a panel from it (#85339)
* Fix row crash when removing a panel from it
* fix tests
* fix tests
(cherry picked from commit 30c9307539)
Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
Tempo: Check for liveEnabled before trying to stream (#85173)
* Check for liveEnabled before attempting to stream
* Add tests
* Range const
* Update test text
(cherry picked from commit df39fc54a6)
Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
StateTimeline: Fix data links causing unrendering of string fields (#85260)
(cherry picked from commit 1ffeb7c365)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Prometheus: Use correct logic for frontend package feature flag (#85294)
use correct logic for frontend package feature flag
(cherry picked from commit d4a68d6662)
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
Added YouTube video to index.md on Time Series (#85188)
* Added YouTube video to index.md on Time Series
Added a brief description and the YouTube link for the Time Series video.
* Update index.md
Did quick fix
* Update index.md
Found double space, removed, hope PR goes through
* Update docs/sources/panels-visualizations/visualizations/time-series/index.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit d4953f4a1f)
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
NodeGraph: Fix possible metadata mismatch between nodes in graph (#85254)
(cherry picked from commit 20e70838e3)
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Alerting: Fix receiver inheritance when provisioning a notification policy (#82007)
Terraform Issue: grafana/terraform-provider-grafana#1007
Nested routes should be allowed to inherit the contact point from the root (or direct parent) route but this fails in the provisioning API (it works in the UI)
(cherry picked from commit 2188516a21)
Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
Auth Drawer: Use redux store to load settings (#85110)
* use actions instead of importing the backend service
* Replace the test render for redux-rtl
(cherry picked from commit 4e5bff0ada)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
SSO: add the missing fields to the okta provider (#85152)
* add the missing allowSignUp field to okta provider
* add autoLogin to okta
(cherry picked from commit 6ddced7ba8)
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
SQLEngine: Use `debug` method instead of custom implementation (#85118)
Use debug method instead of custom implementation
(cherry picked from commit 19159a89a2)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
EmptyState: Rename "search" variant to "not-found" (#85062)
* rename "search" variant to "not-found"
* run i18n:extract
(cherry picked from commit 36ee1571b6)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add feature toggle usePrometheusFrontendPackage
* add feature toggle logic to Prometheus module
* use config editor with package and remove configOverhaul feature toggle
* update betterer because we will be removing other files as we replace with files from @grafana/prometheus
* fix exemplar ds picker selector
* add more description to ts-ignore
* remove go.work.sum change
* copy go.work.sum from main
* update go.work.sum after talking with ismail
* put back the promlib entry
---------
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* attempt at solving issue and resetting bounds to match panel content
* cleanup failed experiments
* add toggle for infinite pan - dont love naming but open to suggestions; clean up scene transform function
* add ability to "infinite" zoom (i.e. render more canvas via zooming out)
* slight refactor
* revert refactor as it broke things
Public dashboards: fix public dashboard permissions so that annotations are displayed (#85091)
* fix public dashboard anonymous user permissions so they include the new annotation permissions
* test fix
(cherry picked from commit df40e13333)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
'Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.',
'Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.',
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
definecompile_tool
$(shell \
(cd$(src_dir)/$(1) \
&& GOWORK=offgotool -n$(2) > /dev/null \
&& GOWORK=offgotool -n$(2)) | sed 's/^[[:space:]]*//g'; \
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
// need to ignore emotion's `css` prop, see https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md#rule-options
description:Raise a request for a new data source plugin
title:"[New Data Source]: <name-of-service>"
labels:
- area/datasource,type/new-plugin-request
body:
- type:markdown
attributes:
value:|
Thank you for requesting a new data source plugin!
We greatly appreciate feedback from our community about which new data sources would be beneficial.
Grafana Labs regularly reviews these requests and uses them to inform our prioritization. Note: we cannot offer any guarantees on whether we or our community will build a given data source.
Please check our [roadmap](https://github.com/orgs/grafana/projects/619?pane=info) for existing requests and subscribe to stay informed of our plans. If no request exists, please fill out the following information.
Please do not request support or file bug reports and feature requests for existing plugins here.
- For support, please use the community support resources [here](https://grafana.com/help/).
- Please consider the `New Bug Report` or `Feature Requests` [issue templates](https://github.com/grafana/grafana/issues/new/choose) for other requests.
- type:textarea
id:background
attributes:
label:Background
description:Tell us about the service you would like to see integrated as a data source
placeholder:ACME_DB is an open source time-series database that is used by many organizations to store their metrics data. It is a popular choice for monitoring and observability.
validations:
required:true
- type:textarea
id:use_case
attributes:
label:Use case
description:Describe any key requirements or data you would need surfaced, ideally including why they are useful for you.
placeholder:My team uses ACME_DB as the application database to monitor our produciton workloads, so we'd like to alert on it and visualize ACME_DB data next to our logs and traces in Grafana.
validations:
required:true
- type:checkboxes
attributes:
label:Contribution
description:If you are interested in creating the data source yourself and contributing to the [plugin catalog](https://grafana.com/grafana/plugins/), please fill in the following
options:
- label:Are you looking to create the plugin?
- label:Are you affiliated with the project/product the data source integrates with?
- label:Does the plugin integrate with a commercial product?
about: Suggest a component for the @grafana/ui package
labels: 'area/grafana/ui'
---
<!--
By using this template you will make it easier for us to make sure that documentation and implementation stays up to date for every component in @grafana/ui
Thank you!
-->
**Why is this component needed**:
<!-- Explain your use case -->
___
- [ ] Is/could it be used in more than one place in Grafana?
**Where is/could it be used?**:
___
- [ ] Post screenshots possible.
- [ ] It has a single use case.
- [ ] It is/could be used in multiple places.
**Implementation** (Checklist meant for the person implementing the component)
- [ ] Component has a story in Storybook.
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/frontend.md).
- [ ] It is extendable (rest props are spread, styles with className work, and so on).
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/main/contribute/style-guides/themes.md).
- [ ] Works with both light and dark theme.
**Documentation**
- [ ] Properties are documented.
- [ ] Use cases are described.
- [ ] Code examples for the different use cases.
- [ ] Dos and don'ts.
- [ ] Styling guidelines, specific color usage (if applicable).
description:Create an issue for delivering wireframes, mockups or other design solutions.
title:"UX: "
labels:["type/ux"]
body:
- type:textarea
id:background
attributes:
label:"Background / Why we're doing this"
description:Describe the problem and background of the issue. This could include research insights that inform the design changes, unmet user needs, or other usability issues.
placeholder:Add UI improvements to make Grafana Alerting alert creation easier based on usability test results.
validations:
required:true
- type:dropdown
attributes:
label:Is there existing research for this?
description:Please link research results or insights in the Background section if you have any. If no research was conducted, you might want to consider usability testing your design later.
options:[
"Yes, I have linked it",
"No research yet"
]
validations:
required:true
- type:textarea
id:problems-or-tasks
attributes:
label:Problems or tasks
description:Describe problems the new design should solve or tasks the user needs to complete.
placeholder:
value:|
- A problem we're trying to solve
- A task the user needs to accomplish
- …
validations:
required:false
- type:textarea
attributes:
label:Deliverables
description:Add a checklist of deliverables here. You can later add links to each deliverable.
about: Create an issue for a chore needing completion
labels: 'type: chore'
---
<!--
Please use this template to create your chore issue. You can use this template if you spot an out-of-date README, discover a misspelling, or happen upon a deeply nested 7-layer for-loop that could be better handled another way. Please use this template for your non-bug related fixes/updates/refactors.
- Questions should be posted to: https://community.grafana.com
- Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
- How to record and attach gif: https://bit.ly/2Mi8T6K
By using this template, you help expand our component and pattern solutions within the design system and let others reuse your work! You can contribute bug or design defect fixes, component, and pattern enhancements, or even net-new components! This template brings visibility to the great work everyone already does and in turn helps reduce duplicate efforts.
- [ ] It works as expected from a user's perspective.
- [ ] If this is a pre-GA feature, it is behind a feature toggle.
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/contribute/release-notes/#how-to-determine-if-content-belongs-in-whats-new), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/contribute/release-notes/) doc.
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/#how-to-determine-if-content-belongs-in-a-whats-new-document), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/) doc.
@@ -4,8 +4,8 @@ The bot is configured via [commands.json](https://github.com/grafana/grafana/blo
Comment commands:
* Write the word `/duplicate #<number>` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/needsMoreInfo` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/duplicate #<number>` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/needsMoreInfo` anywhere in a comment and the bot will add the correct label and standard message.
Label commands:
@@ -28,83 +28,3 @@ try to cherry-pick the PR merge commit into that branch and open a PR. You must
If there are merge conflicts the bot will write a comment on the source PR saying the cherry-pick failed. In this case you have to do the cherry pick and backport PR manually.
The backport logic is written [here](https://github.com/grafana/grafana-github-actions/blob/main/backport/backport.ts)
## Auto triager bot
The auto triager bot is a github action that **assigns** labels to issues based on the issue contents. The logic to assign
labels is its own program and lives [here](https://github.com/grafana/auto-triager). It uses an LLM to do this.
The bot runs **every time** a new issue is opened in the grafana/grafana repository. You can find the bot definition [here](https://github.com/grafana/grafana/blob/main/.github/workflows/issue-opened.yml#L61)
The job only assign labels when the issue author is not a member of the Grafana organization in **GitHub**. The bot concurrency is 1.
This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that
### General diagram
```mermaid
sequenceDiagram
actor User
participant GH as GitHub
participant AT as Auto Triager Job
participant ATP as Auto Triager Program
participant LLM as LLM Service
participant CJ as Commands Job
User->>GH: Opens Issue
GH->>GH: Check if user in Grafana org
alt User not in Grafana org
GH->>AT: Trigger Auto Triager Job
AT->>ATP: Execute program
ATP->>LLM: Send issue content & categories
LLM-->>ATP: Return matching categories
ATP-->>GH: Assign labels to issue
GH->>CJ: Trigger Commands Job
CJ->>CJ: Read commands.json
CJ-->>GH: Assign teams based on labels
end
```
### Team definitions
The team associated with labels are defined [here](https://github.com/grafana/grafana/blob/main/.github/commands.json).
This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that.
The commands workflow code can be found [here](https://github.com/grafana/grafana-github-actions/tree/main/commands)
### Categories/Labels definitions
The categories (or labels) and the types used to categorize issues are defined in this same repository [here](https://github.com/grafana/grafana/tree/main/.github/workflows/auto-triager) the [prompt](https://github.com/grafana/grafana/blob/main/.github/workflows/auto-triager/prompt.txt) that is passed to the LLM is also defined there.
If you are adding a new category in the auto-triager repository you must define a team that owns the label in the
If you remove a label from the [commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json) and it doesn't have any other
team associated with it you must remove it from the [labels file](https://github.com/grafana/grafana/blob/main/.github/workflows/auto-triager/labels.txt)
### Secrets
The bot secrets live in the vault. It uses a [shared workflow](https://github.com/grafana/shared-workflows/tree/main/actions/get-vault-secrets) to get the vault secrets, the
workflow requires a token with `contents:read` and `id-token:write` scopes for it to work.
### How to detect the bot is working?
The list of [unlabeled issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) should remain empty as long as the bot is running.
There might be issues in the list if some team member removed all labels, but if the list grows to more
than 5 it is likely the bot is not working correctly.
### What to do if this bot is not working?
You can contact the plugins platform team in slack `#grafana-plugins-platform` and inform about the issue.
### Troubleshooting
Possible reasons why the bot is not working:
* The OpenAI API key is not valid anymore. The action output will show this in its error log. A new key needs to be
generated via the OpenAI UI and its value updated in vault. See [the action](https://github.com/grafana/grafana/blob/main/.github/workflows/issue-opened.yml#L72) to find the correct path to
update the key.
* The Slack webhook URL is not valid anymore. The action output will show this in its error log or the
#triage-automation-ci channel will stop showing messages about issue triaging. A new slack webhook url needs to be
generated for the auto triager app and its value updated in vault.
* This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that
"comment":" please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/contribute/ISSUE_TRIAGE.md#3-categorize-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
"comment":" please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/ISSUE_TRIAGE.md#3-categorizing-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
# This workflow depends on the ./actionlint-format.txt file. It is MIT licensed (thanks, rhysd!): https://github.com/rhysd/actionlint/blob/2ab3a12c7848f6c15faca9a92612ef4261d0e370/testdata/format/sarif_template.txt
Since you've added the `Add to what's new` label, consider drafting a [What's new note](https://admin.grafana.com/content-admin/#/collections/whats-new/new) for this feature.
You are provided with a Grafana issue. Your task is to categorize the issue by analyzing the issue title and description to determine the most relevant category and type from the provided lists. Focus on precision and clarity, selecting only the most pertinent labels based on the issue details. Ensure that your selections reflect the core problem or functionality affected.
The output should be a valid JSON object with the following fields:
* id (string): The ID of the current issue.
* categoryLabel (array of strings): The category labels for the current issue, emphasizing key terms and context.
* typeLabel (array of strings): The type of the current issue, emphasizing clarity and relevance.
**Instructions**:
1. **Contextual Analysis**: Understand the context and intent behind the issue description. Analyze the overall narrative and relationships between different components within Grafana. Consider dependencies and related components to inform your decision.
2. **Category and Type Differentiation**: Use language cues and patterns to differentiate between similar categories and types. Provide examples and counterexamples to clarify distinctions. Prioritize primary components over secondary ones unless they are critical to the issue.
3. **Historical Data Utilization**: Compare current issues with past resolved issues by analyzing similarities in problem descriptions, leveraging patterns to inform categorization. Use historical data to recognize patterns and inform your decision-making.
4. **Confidence Scoring**: Implement a confidence scoring mechanism to flag issues for review if the confidence is below a predefined threshold. Clearly indicate thresholds for high and low confidence predictions. Provide clarifying questions if data is ambiguous.
5. **Feedback Loop Integration**: Integrate feedback from incorrect predictions to refine understanding and improve future predictions. Conduct error analysis to identify patterns in misclassifications and adapt your approach accordingly.
6. **Semantic Analysis**: Evaluate the underlying intent of the issue using semantic analysis, considering broader implications and context. Leverage metadata or historical patterns to improve accuracy.
7. **Avoid Over-Specification**: Maintain precision and conciseness, avoiding unnecessary details. Prioritize clarity and flag for further review if uncertain.
8. **Consistent JSON Formatting**: Ensure the output maintains a consistent JSON structure with uniform formatting for readability and scalability.
**Next Steps and Insights**:
- Suggest potential next steps or resources that could help address the issue, providing actionable insights to enhance user engagement.
- Regularly test responses against edge cases to ensure robustness and adaptability.
- Stay updated with changes in category and type lists to remain current.
Provide a brief explanation of the categorization decision, highlighting key terms or context that influenced the choice. Use user-centric language and technical details to ensure the explanation is comprehensive and insightful.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.