-
Notifications
You must be signed in to change notification settings - Fork 4
Add Vercel Plugin #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
andrewmumblebee
wants to merge
33
commits into
main
Choose a base branch
from
work/ah/vercel
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
b2ad3f3
Add initial Vercel plugin dataStreams and dashboards
andrewmumblebee 77b85f6
Remove unused listDeployments dataStream
andrewmumblebee c2f595c
Vercel plugin review comments
andrewmumblebee 1da1f9c
update plugin author
andrewmumblebee a48c409
Ensure scopes and object types match new sourceTypes
andrewmumblebee a183bb0
Remove Vercel cost data stream
andrewmumblebee d312f4e
shift overview tiles up
andrewmumblebee 189cf4e
Add team error handling
andrewmumblebee b12c5f7
slight text tweak
andrewmumblebee accc3ba
Add codeowners for vercel
andrewmumblebee a93e89d
Update Vercel readme
andrewmumblebee 7f0ba71
Remove need for user to add teamId
andrewmumblebee a402b01
Token could belong to multiple teams
andrewmumblebee caa95be
Add status colors to bar chart on deployment oob dashboard
andrewmumblebee a83929e
Clean up Vercel tags and descriptions
andrewmumblebee 19195d2
change deployments ordering
andrewmumblebee 4b43045
title case dashboards
andrewmumblebee e3b701d
remove orphaned cost script
andrewmumblebee b7aca2d
remove cost from description
andrewmumblebee 3dc61a2
Claude review fixes
andrewmumblebee fb0478b
Vercel claude review tweaks
andrewmumblebee 7832970
remove unwrap as not needed
andrewmumblebee 965757c
By -> by
andrewmumblebee 4d2cdfc
Remove teams comment about non-indexed objects
andrewmumblebee ed4ca40
remove monitorOld reference
andrewmumblebee 8149bb1
fix codeowners fallback superseding any defined authors
andrewmumblebee 0e17a6b
hide email by default in teamMembers
andrewmumblebee 0e92241
up activity limit to 1000
andrewmumblebee 08f7d17
shift activity dashboard tiles
andrewmumblebee b047e06
update Vercel readme
andrewmumblebee d9791dc
deployments filtering was not working
andrewmumblebee 817a305
bump up activity limit
andrewmumblebee adf9d63
rework Vercel Readme
andrewmumblebee File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| "steps": [ | ||
| { | ||
| "displayName": "Authenticate", | ||
| "dataStream": { "name": "currentUser" }, | ||
| "required": true, | ||
| "error": "Could not authenticate with Vercel. Check that your API token is valid and has not expired.", | ||
| "success": "Connected to Vercel successfully." | ||
| } | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| [ | ||
| { | ||
| "name": "Project", | ||
| "sourceType": "Project", | ||
| "icon": "rocket", | ||
| "singular": "Project", | ||
| "plural": "Projects" | ||
| }, | ||
| { | ||
| "name": "Domain", | ||
| "sourceType": "Domain", | ||
| "icon": "globe", | ||
| "singular": "Domain", | ||
| "plural": "Domains" | ||
| }, | ||
| { | ||
| "name": "Team", | ||
| "sourceType": "Team", | ||
| "icon": "people-group", | ||
| "singular": "Team", | ||
| "plural": "Teams" | ||
| } | ||
| ] | ||
|
claude[bot] marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| { | ||
| "name": "activity", | ||
| "displayName": "Activity", | ||
| "description": "Vercel account or team activity feed, one row per audit-style event", | ||
| "tags": ["Activity"], | ||
| "baseDataSourceName": "httpRequestUnscoped", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v3/events", | ||
| "pathToData": "events", | ||
| "expandInnerObjects": true, | ||
| "getArgs": [ | ||
| { "key": "since", "value": "{{timeframe.start}}" }, | ||
| { "key": "until", "value": "{{timeframe.end}}" }, | ||
|
clarkd marked this conversation as resolved.
|
||
| { "key": "limit", "value": "5000" } | ||
| ], | ||
| "paging": { | ||
| "mode": "none" | ||
| } | ||
| }, | ||
| "matches": "none", | ||
| "metadata": [ | ||
| { "name": "id", "displayName": "ID", "role": "id", "visible": false }, | ||
| { "name": "type", "displayName": "Type" }, | ||
| { "name": "text", "displayName": "Summary", "role": "label" }, | ||
| { | ||
| "name": "actor", | ||
| "displayName": "Actor", | ||
| "computed": true, | ||
| "valueExpression": "{{ $['user.username'] || $['user.email'] || $['userId'] }}" | ||
| }, | ||
| { "name": "user.username", "displayName": "User", "visible": false }, | ||
| { "name": "user.email", "displayName": "Email", "visible": false }, | ||
| { "name": "userId", "displayName": "User ID", "visible": false }, | ||
| { | ||
| "name": "createdAt", | ||
| "displayName": "Created", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| } | ||
| ], | ||
| "timeframes": true | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| { | ||
| "name": "currentUser", | ||
| "displayName": "Current User", | ||
| "description": "Returns the authenticated Vercel user. Used to validate the connection", | ||
|
clarkd marked this conversation as resolved.
|
||
| "tags": ["User"], | ||
| "baseDataSourceName": "httpRequestUnscoped", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v2/user", | ||
| "postRequestScript": "currentUser.js" | ||
| }, | ||
| "matches": "none", | ||
| "metadata": [ | ||
| { "name": "id", "displayName": "ID", "visible": false }, | ||
| { "name": "username", "displayName": "Username", "role": "label" }, | ||
| { "name": "name", "displayName": "Name" }, | ||
| { "name": "email", "displayName": "Email" } | ||
| ], | ||
| "timeframes": false, | ||
| "visibility": { "type": "hidden" } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| { | ||
| "name": "deployments", | ||
| "displayName": "Deployments", | ||
| "description": "Vercel deployments across the account or a selected project, one row per deployment", | ||
| "tags": ["Deployments"], | ||
| "baseDataSourceName": "httpRequestUnscoped", | ||
| "providesPluginDiagnostics": true, | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v7/deployments", | ||
| "postRequestScript": "deployments.js", | ||
| "getArgs": [ | ||
| { "key": "since", "value": "{{timeframe.unixStart * 1000}}" }, | ||
| { "key": "projectIds", "value": "{{ project?.map(p => p.rawId) }}" } | ||
| ], | ||
| "paging": { | ||
| "mode": "token", | ||
| "pageSize": { | ||
| "realm": "queryArg", | ||
| "path": "limit", | ||
| "value": "100" | ||
| }, | ||
| "in": { "realm": "payload", "path": "pagination.next" }, | ||
| "out": { "realm": "queryArg", "path": "until" } | ||
| } | ||
| }, | ||
| "matches": "none", | ||
| "ui": [ | ||
| { | ||
| "type": "objects", | ||
| "name": "project", | ||
| "label": "Project (optional)", | ||
| "matches": { | ||
| "sourceType": { "type": "equals", "value": "Project" } | ||
| } | ||
| } | ||
| ], | ||
| "metadata": [ | ||
| { | ||
| "name": "uid", | ||
| "displayName": "ID", | ||
| "role": "value", | ||
| "visible": false | ||
| }, | ||
| { "name": "name", "displayName": "Name", "role": "label" }, | ||
| { | ||
| "name": "state", | ||
| "displayName": "State", | ||
| "shape": [ | ||
| "state", | ||
| { | ||
| "map": { | ||
| "success": ["READY"], | ||
| "error": ["ERROR", "CANCELED"], | ||
| "warning": ["BUILDING", "QUEUED", "INITIALIZING"], | ||
| "unknown": ["DELETED"] | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| { "name": "target", "displayName": "Target" }, | ||
| { "name": "projectId", "displayName": "Project ID", "visible": false }, | ||
| { | ||
| "name": "created", | ||
| "displayName": "Created", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| }, | ||
| { "name": "url", "displayName": "URL", "shape": "url" }, | ||
| { | ||
| "name": "inspectorUrl", | ||
| "displayName": "Inspector URL", | ||
| "shape": "url" | ||
| }, | ||
| { "name": "creator", "displayName": "Creator" }, | ||
| { | ||
| "name": "ready", | ||
| "displayName": "Ready", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| }, | ||
| { | ||
| "name": "buildingAt", | ||
| "displayName": "Building At", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| }, | ||
| { | ||
| "name": "createdAt", | ||
| "displayName": "Created At", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| }, | ||
| { "pattern": ".*" } | ||
| ], | ||
| "timeframes": true | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| { | ||
| "name": "domainConfig", | ||
| "displayName": "Domain Config", | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| "description": "Configuration health for a single Vercel domain", | ||
| "tags": ["Domain"], | ||
| "baseDataSourceName": "httpRequestScopedSingle", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v6/domains/{{object.name}}/config" | ||
| }, | ||
| "matches": { "sourceType": { "type": "equals", "value": "Domain" } }, | ||
| "metadata": [ | ||
| { | ||
| "name": "misconfigured", | ||
| "displayName": "Misconfigured", | ||
| "shape": "boolean" | ||
| }, | ||
| { | ||
| "name": "serviceType", | ||
| "displayName": "Service Type", | ||
| "shape": "string" | ||
| }, | ||
| { | ||
| "name": "configuredBy", | ||
| "displayName": "Configured By", | ||
| "shape": "string" | ||
| } | ||
| ], | ||
| "timeframes": false | ||
|
clarkd marked this conversation as resolved.
|
||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| { | ||
| "name": "domains", | ||
| "displayName": "Domains", | ||
| "description": "Lists Vercel custom domains in the configured account or team", | ||
| "tags": ["Domain"], | ||
| "baseDataSourceName": "httpRequestUnscoped", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v5/domains", | ||
| "pathToData": "domains", | ||
| "paging": { | ||
| "mode": "token", | ||
| "pageSize": { | ||
| "realm": "queryArg", | ||
| "path": "limit", | ||
| "value": "100" | ||
| }, | ||
| "in": { "realm": "payload", "path": "pagination.next" }, | ||
| "out": { "realm": "queryArg", "path": "until" } | ||
| } | ||
| }, | ||
| "matches": "none", | ||
| "metadata": [ | ||
| { "name": "id", "displayName": "ID", "visible": false }, | ||
| { "name": "name", "displayName": "Domain", "role": "label" }, | ||
| { "name": "verified", "displayName": "Verified" }, | ||
| { "name": "serviceType", "displayName": "Service Type" }, | ||
| { "name": "expiresAt", "displayName": "Expires", "shape": "date" }, | ||
| { "name": "boughtAt", "displayName": "Bought", "shape": "date" }, | ||
| { "name": "renew", "displayName": "Auto-renew" }, | ||
| { "name": "createdAt", "displayName": "Created", "shape": "date" } | ||
|
clarkd marked this conversation as resolved.
|
||
| ], | ||
| "timeframes": false | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| { | ||
| "name": "firewallEvents", | ||
| "displayName": "Firewall Events", | ||
|
clarkd marked this conversation as resolved.
|
||
| "description": "Per-action firewall event counts over the timeframe for a single Vercel project", | ||
| "tags": ["Security", "Firewall"], | ||
| "baseDataSourceName": "httpRequestScopedSingle", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v1/security/firewall/events", | ||
| "getArgs": [ | ||
| { "key": "projectId", "value": "{{object.rawId}}" }, | ||
| { | ||
| "key": "startTimestamp", | ||
| "value": "{{timeframe.unixStart * 1000}}" | ||
| }, | ||
| { "key": "endTimestamp", "value": "{{timeframe.unixEnd * 1000}}" } | ||
| ], | ||
| "pathToData": "actions" | ||
| }, | ||
| "matches": { | ||
| "sourceType": { "type": "equals", "value": "Project" } | ||
| }, | ||
| "metadata": [ | ||
| { | ||
| "name": "startTime", | ||
| "displayName": "Time", | ||
| "shape": "date", | ||
| "role": "timestamp" | ||
| }, | ||
| { | ||
| "name": "action", | ||
| "displayName": "Action", | ||
| "shape": "string", | ||
| "role": "label" | ||
| }, | ||
| { | ||
| "name": "count", | ||
| "displayName": "Count", | ||
| "shape": "number", | ||
| "role": "value" | ||
| }, | ||
| { | ||
| "name": "host", | ||
| "displayName": "Host", | ||
| "shape": "string" | ||
| }, | ||
| { | ||
| "name": "public_ip", | ||
| "displayName": "Public IP", | ||
| "shape": "string" | ||
| }, | ||
| { | ||
| "name": "action_type", | ||
| "displayName": "Action Category", | ||
| "shape": "string", | ||
| "visible": false | ||
| }, | ||
| { | ||
| "name": "isActive", | ||
| "displayName": "Active", | ||
| "shape": "boolean", | ||
| "visible": false | ||
| }, | ||
| { | ||
| "pattern": ".*" | ||
| } | ||
| ], | ||
| "timeframes": true | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| { | ||
| "name": "projectInfo", | ||
| "displayName": "Project Info", | ||
| "description": "Per-project detail (framework, Node version, timestamps, git repo) for a single Vercel project", | ||
| "tags": ["Project"], | ||
| "baseDataSourceName": "httpRequestScopedSingle", | ||
| "config": { | ||
| "httpMethod": "get", | ||
| "endpointPath": "v9/projects/{{object.rawId}}", | ||
| "expandInnerObjects": true | ||
| }, | ||
| "matches": { "sourceType": { "type": "equals", "value": "Project" } }, | ||
| "metadata": [ | ||
| { | ||
| "name": "name", | ||
| "displayName": "Name", | ||
| "shape": "string", | ||
| "role": "label" | ||
| }, | ||
| { "name": "framework", "displayName": "Framework", "shape": "string" }, | ||
| { | ||
| "name": "nodeVersion", | ||
| "displayName": "Node Version", | ||
| "shape": "string" | ||
| }, | ||
| { "name": "createdAt", "displayName": "Created", "shape": "date" }, | ||
| { "name": "updatedAt", "displayName": "Updated", "shape": "date" }, | ||
| { "name": "link.repo", "displayName": "Git Repo", "shape": "string" }, | ||
| { | ||
| "name": "link.type", | ||
| "displayName": "Git Provider", | ||
| "shape": "string" | ||
| } | ||
| ], | ||
| "timeframes": false | ||
|
clarkd marked this conversation as resolved.
|
||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.