Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
450d3ca
fix e2e tests for QueryEditor.spec.ts (#515)
itsmylife Oct 6, 2025
31ea30a
Add updatedAt time field to pull request queries (#507)
itsmylife Oct 6, 2025
521a706
Upgrade grafana-plugin-sdk-go (deps): Bump github.com/grafana/grafana…
dependabot[bot] Oct 6, 2025
2a34ce5
chore: bump @grafana/create-plugin configuration to 5.26.9 (#512)
github-actions[bot] Oct 6, 2025
4d9b60f
Release 2.3.0 (#516)
zoltanbedi Oct 6, 2025
30ecbb2
Set github-draft-release to false in publish.yaml (#517)
Oct 17, 2025
6afb05c
Upgrade grafana-plugin-sdk-go (deps): Bump github.com/grafana/grafana…
dependabot[bot] Oct 27, 2025
5b35118
Enable PDC on Github Datasource (#527)
jcolladokuri Nov 17, 2025
bbf3933
chore(deps): update dependency glob to v11 [security] (#530)
renovate-sh-app[bot] Nov 18, 2025
6f5aedb
Use `create-github-app-token` in workflows (#529)
zoltanbedi Nov 21, 2025
f80e510
Fix token retrieval path (#533)
zoltanbedi Nov 21, 2025
cf823ea
fix(deps): pin dependencies (#519)
renovate-sh-app[bot] Nov 21, 2025
56f9da2
Pin version of ci cd (#535)
zoltanbedi Nov 24, 2025
5ac98c8
Update permissions in GitHub Actions workflow to include id-token wri…
zoltanbedi Nov 24, 2025
507185f
Upgrade grafana-plugin-sdk-go (deps): Bump github.com/grafana/grafana…
dependabot[bot] Nov 24, 2025
82af5d0
Pin workflows to fix zizmor (#537)
zoltanbedi Nov 24, 2025
ca4ce75
fix(workflows): Fix empty results in Workflows query type (#526)
idan-starkware Nov 24, 2025
19ba36c
Release 2.4.0 (#538)
jcolladokuri Nov 24, 2025
6235be3
chore(deps): update dependency @types/testing-library__jest-dom to v5…
renovate-sh-app[bot] Nov 26, 2025
c710b5c
chore(deps): update dependency @types/jest to ^29.5.12 (#521)
renovate-sh-app[bot] Nov 26, 2025
0589eae
Fix CVE Vulnerabilities (#539)
jcolladokuri Nov 27, 2025
e83892b
fix(deps): update github.com/shurcool/githubv4 digest to 4829585 (#520)
renovate-sh-app[bot] Nov 27, 2025
3707499
chore(deps): update dependency @types/lodash to ^4.17.20 (#540)
renovate-sh-app[bot] Dec 1, 2025
41c7d33
chore(deps): update dependency @types/react to v18.3.27 (#541)
renovate-sh-app[bot] Dec 1, 2025
07f8770
chore(deps): update dependency eslint-config-prettier to ^8.10.0 (#542)
renovate-sh-app[bot] Dec 1, 2025
5471b41
chore(deps): update dependency eslint-plugin-react to ^7.37.3 (#543)
renovate-sh-app[bot] Dec 1, 2025
92b90d8
chore: fix CVE vulnerabilities (#544)
jcolladokuri Dec 1, 2025
dac8401
chore(deps): update dependency @grafana/e2e-selectors to v12.3.0 (#548)
renovate-sh-app[bot] Dec 4, 2025
dd9234c
[e2e] bumped plugin-e2e version (#551)
yesoreyeram Dec 8, 2025
34ccb59
Update datasource.md (#549)
k-munoz Dec 8, 2025
9c78a2e
chore(deps): update dependency @grafana/plugin-meta-extractor to ^0.1…
renovate-sh-app[bot] Dec 8, 2025
f9ab1db
chore(deps): update dependency tmp to v0.2.5 (#547)
renovate-sh-app[bot] Dec 8, 2025
d566c0f
chore(deps): pin dependency @types/react-dom to 18.3.7 (#552)
renovate-sh-app[bot] Dec 11, 2025
371a0ab
chore(deps): update dependency cspell to v6.31.3 (#553)
renovate-sh-app[bot] Dec 17, 2025
82d90a8
chore(deps): update dependency style-loader to v3.3.4 (#546)
renovate-sh-app[bot] Dec 17, 2025
013f3b0
chore(deps): update dependency sass-loader to v13.3.3 (#545)
renovate-sh-app[bot] Dec 17, 2025
3f64d72
Bump qs from 6.14.0 to 6.14.1 (#556)
dependabot[bot] Jan 1, 2026
23e6671
chore: bump @grafana/create-plugin configuration to 6.6.0 (#555)
grafana-oss-big-tent[bot] Jan 1, 2026
3634123
chore: update @grafana/plugin-e2e to version 3.1.0 (#557)
zoltanbedi Jan 5, 2026
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
5 changes: 5 additions & 0 deletions .changeset/breezy-sails-pay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'grafana-github-datasource': patch
---

update create-plugin configs
5 changes: 5 additions & 0 deletions .changeset/fancy-teeth-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'grafana-github-datasource': patch
---

Fixed the broken E2E tests with updated plugin-e2e package
5 changes: 0 additions & 5 deletions .changeset/five-suits-rescue.md

This file was deleted.

3 changes: 2 additions & 1 deletion .config/.cprc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"version": "5.25.8"
"version": "6.6.0",
"features": {}
}
30 changes: 0 additions & 30 deletions .config/.eslintrc

This file was deleted.

43 changes: 43 additions & 0 deletions .config/bundler/externals.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import type { Configuration, ExternalItemFunctionData } from 'webpack';

type ExternalsType = Configuration['externals'];

export const externals: ExternalsType = [
// Required for dynamic publicPath resolution
{ 'amd-module': 'module' },
'lodash',
'jquery',
'moment',
'slate',
'emotion',
'@emotion/react',
'@emotion/css',
'prismjs',
'slate-plain-serializer',
'@grafana/slate-react',
'react',
'react-dom',
'react-redux',
'redux',
'rxjs',
'i18next',
'react-router',
'd3',
'angular',
/^@grafana\/ui/i,
/^@grafana\/runtime/i,
/^@grafana\/data/i,

// Mark legacy SDK imports as external if their name starts with the "grafana/" prefix
({ request }: ExternalItemFunctionData, callback: (error?: Error, result?: string) => void) => {
const prefix = 'grafana/';
const hasPrefix = (request: string) => request.indexOf(prefix) === 0;
const stripPrefix = (request: string) => request.slice(prefix.length);

if (request && hasPrefix(request)) {
return callback(undefined, stripPrefix(request));
}

callback();
},
];
2 changes: 1 addition & 1 deletion .config/docker-compose-base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ services:
context: .
args:
grafana_image: ${GRAFANA_IMAGE:-grafana-enterprise}
grafana_version: ${GRAFANA_VERSION:-12.1.0}
grafana_version: ${GRAFANA_VERSION:-12.2.0}
development: ${DEVELOPMENT:-false}
anonymous_auth_enabled: ${ANONYMOUS_AUTH_ENABLED:-true}
ports:
Expand Down
31 changes: 31 additions & 0 deletions .config/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { defineConfig } from 'eslint/config';
import grafanaConfig from '@grafana/eslint-config/flat.js';

export default defineConfig([
...grafanaConfig,
{
rules: {
'react/prop-types': 'off',
},
},
{
files: ['src/**/*.{ts,tsx}'],

languageOptions: {
parserOptions: {
project: './tsconfig.json',
},
},

rules: {
'@typescript-eslint/no-deprecated': 'warn',
},
},
{
files: ['./tests/**/*'],

rules: {
'react-hooks/rules-of-hooks': 'off',
},
},
]);
1 change: 1 addition & 0 deletions .config/types/setupTests.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import '@testing-library/jest-dom';
49 changes: 8 additions & 41 deletions .config/webpack/webpack.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ import VirtualModulesPlugin from 'webpack-virtual-modules';
import { BuildModeWebpackPlugin } from './BuildModeWebpackPlugin.ts';
import { DIST_DIR, SOURCE_DIR } from './constants.ts';
import { getCPConfigVersion, getEntries, getPackageJson, getPluginJson, hasReadme, isWSL } from './utils.ts';
import { externals } from '../bundler/externals.ts';

const pluginJson = getPluginJson();
const cpVersion = getCPConfigVersion();
const pluginVersion = getPackageJson().version;

const virtualPublicPath = new VirtualModulesPlugin({
'node_modules/grafana-public-path.js': `
Expand Down Expand Up @@ -54,44 +56,7 @@ const config = async (env: Env): Promise<Configuration> => {

entry: await getEntries(),

externals: [
// Required for dynamic publicPath resolution
{ 'amd-module': 'module' },
'lodash',
'jquery',
'moment',
'slate',
'emotion',
'@emotion/react',
'@emotion/css',
'prismjs',
'slate-plain-serializer',
'@grafana/slate-react',
'react',
'react-dom',
'react-redux',
'redux',
'rxjs',
'react-router',
'd3',
'angular',
/^@grafana\/ui/i,
/^@grafana\/runtime/i,
/^@grafana\/data/i,

// Mark legacy SDK imports as external if their name starts with the "grafana/" prefix
({ request }, callback) => {
const prefix = 'grafana/';
const hasPrefix = (request: string) => request.indexOf(prefix) === 0;
const stripPrefix = (request: string) => request.substr(prefix.length);

if (request && hasPrefix(request)) {
return callback(undefined, stripPrefix(request));
}

callback();
},
],
externals,

// Support WebAssembly according to latest spec - makes WebAssembly module async
experiments: {
Expand Down Expand Up @@ -195,7 +160,8 @@ const config = async (env: Env): Promise<Configuration> => {
virtualPublicPath,
// Insert create plugin version information into the bundle
new webpack.BannerPlugin({
banner: '/* [create-plugin] version: ' + cpVersion + ' */',
banner: `/* [create-plugin] version: ${cpVersion} */
/* [create-plugin] plugin: ${pluginJson.id}@${pluginVersion} */`,
raw: true,
entryOnly: true,
}),
Expand All @@ -221,11 +187,12 @@ const config = async (env: Env): Promise<Configuration> => {
new ReplaceInFileWebpackPlugin([
{
dir: DIST_DIR,
files: ['plugin.json', 'README.md'],
test: [/(^|\/)plugin\.json$/, /(^|\/)README\.md$/],

rules: [
{
search: /\%VERSION\%/g,
replace: getPackageJson().version,
replace: pluginVersion,
},
{
search: /\%TODAY\%/g,
Expand Down
3 changes: 0 additions & 3 deletions .eslintrc

This file was deleted.

13 changes: 0 additions & 13 deletions .github/dependabot.yml

This file was deleted.

20 changes: 6 additions & 14 deletions .github/workflows/add-to-project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,12 @@ jobs:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
- id: get-github-token
uses: grafana/shared-workflows/actions/create-github-app-token@ae92934a14a48b94494dbc06d74a81d47fe08a40 # create-github-app-token/v0.2.2
with:
repo_secrets: |
GITHUB_APP_ID=grafana-oss-big-tent:app-id
GITHUB_APP_PRIVATE_KEY=grafana-oss-big-tent:private-key
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
- uses: actions/add-to-project@main
github_app: grafana-oss-big-tent
- name: Add to project
uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/grafana/projects/457
github-token: ${{ steps.generate-token.outputs.token }}
github-token: ${{ steps.get-github-token.outputs.token }}
3 changes: 2 additions & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ on:
jobs:
cd:
name: CD
uses: grafana/plugin-ci-workflows/.github/workflows/cd.yml@main
uses: grafana/plugin-ci-workflows/.github/workflows/cd.yml@ci-cd-workflows/v4.1.0
with:
go-version: '1.25'
golangci-lint-version: '2.4.0'
branch: ${{ github.event.inputs.branch }}
environment: ${{ github.event.inputs.environment }}
docs-only: ${{ fromJSON(github.event.inputs.docs-only) }}
run-playwright: true
github-draft-release: false
2 changes: 1 addition & 1 deletion .github/workflows/push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
jobs:
ci:
name: CI
uses: grafana/plugin-ci-workflows/.github/workflows/ci.yml@main
uses: grafana/plugin-ci-workflows/.github/workflows/ci.yml@ci-cd-workflows/v4.1.0
with:
go-version: '1.25'
golangci-lint-version: '2.4.0'
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/update-create-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,17 @@ on:

permissions:
contents: write
id-token: write # Needed for create-github-app-token
pull-requests: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: grafana/plugin-actions/create-plugin-update@main
- id: get-github-token
uses: grafana/shared-workflows/actions/create-github-app-token@ae92934a14a48b94494dbc06d74a81d47fe08a40 # create-github-app-token/v0.2.2
with:
github_app: grafana-oss-big-tent
- uses: grafana/plugin-actions/create-plugin-update@244c3bc9c6eb94bc1dd6458ade2462499bbf0f5b #create-plugin-update/v2.0.1
with:
token: ${{ steps.get-github-token.outputs.token }}
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,11 @@ mage_output_file.go

# provisioning
/provisioning/

.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
Binary file removed .yarn/install-state.gz
Binary file not shown.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Change Log

## 2.4.0

### Minor Changes

🚀 Add support for PDC

### Patch Changes

🐛 Fix empty results in Workflows query type. Added nil check for CreatedAt/UpdatedAt timestamps and added "None" option to Time Field dropdown (default) to return all workflows without time filtering.

## 2.3.0

🚀 Add UpdatedAt time field to pull request queries

🐛 Add runStartedAt field for workflow runs query response

## 2.2.0

🚀 Adds support for Pull Request Review queries
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ Watch this video to learn more about setting up the Grafana GitHub data source p

This data source uses the [`githubv4` package](https://github.com/shurcooL/githubv4), which is under active development.

## Private data source connect - Only for Grafana Cloud users.

Establishes a private, secured connection between a Grafana Cloud stack and data sources within a private network. Use the drop-down to locate the PDC URL. For setup instructions, refer to [Private data source connect (PDC)](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/) and [Configure PDC](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/configure-pdc/#configure-grafana-private-data-source-connect-pdc). Click Manage private data source connect to open your PDC connection page and view your configuration details.

## Frequently Asked Questions

- **Why does it sometimes take up to 5 minutes for my new pull request / new issue / new commit to show up?**
Expand Down
8 changes: 7 additions & 1 deletion docs/sources/query/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -554,10 +554,16 @@ List GitHub Actions workflows defined in a repository.
| ---------- | -------------------------------------------------- | -------- |
| owner | GitHub user or organization that owns the repository | Yes |
| repository | Name of the repository | Yes |
| Time Field | The time field to filter the responses on, can be: `CreatedAt` or `UpdatedAt` | Yes |
| Time Field | The time field to filter the responses on, can be: `None` (returns all workflows), `CreatedAt`, or `UpdatedAt` | Yes |

##### Sample queries

Show all workflows in the `grafana/grafana` repository:

- Owner: `grafana`
- Repository: `grafana`
- Time Field: `None`

Show all workflows created within the `grafana/grafana` repository within the current time range:

- Owner: `grafana`
Expand Down
7 changes: 7 additions & 0 deletions docs/sources/setup/datasource.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ weight: 103

1. Click **Save & Test** button and you should see a confirmation dialog box that says "Data source is working".

**Private data source connect** - _Only for Grafana Cloud users._

| Setting | Description |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Private data source connect** | Establishes a private, secured connection between a Grafana Cloud stack and data sources within a private network. Use the drop-down to locate the PDC URL. For setup instructions, refer to [Private data source connect (PDC)](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/configure-pdc/#configure-grafana-private-data-source-connect-pdc) and [Configure PDC](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/). Click **Manage private data source connect** to open your PDC connection page and view your configuration details. |


{{< admonition type="tip" >}}
If you see errors, check the Grafana logs for troubleshooting.
{{< /admonition >}}
Loading