Skip to content

feat: Add dialog to execute Cloud Job with parameters - #3158

Merged
mtrezza merged 3 commits into
parse-community:alphafrom
mtrezza:feat/job-with-params
Jan 28, 2026
Merged

mtrezza merged 3 commits into
parse-community:alphafrom
mtrezza:feat/job-with-params

Conversation

@mtrezza

@mtrezza mtrezza commented Jan 28, 2026 •

Copy link
Copy Markdown
Member

Pull Request

Summary by CodeRabbit

  • New Features
    • Job execution now includes an optional parameter input dialog. Users can enter JSON parameters to configure job execution before confirming, providing greater flexibility in how jobs run.
    • JSON parameter validation is integrated to prevent execution with invalid parameters, while empty parameters are automatically accepted as valid defaults for streamlined operations.

✏️ Tip: You can customize this high-level summary in your review settings.

@parse-github-assistant

Copy link
Copy Markdown

🚀 Thanks for opening this pull request!

@coderabbitai

coderabbitai Bot commented Jan 28, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@mtrezza has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 2 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Two components are added to implement a dialog-based workflow for running jobs. A new RunJobDialog component provides a modal for entering JSON parameters, while RunNowButton is modified to open this dialog on click and execute the job with provided parameters on confirmation.

Changes

Cohort / File(s) Summary
New RunJobDialog component
src/dashboard/Data/Jobs/RunJobDialog.react.js
New class-based React component providing a modal dialog for running jobs with optional JSON parameters. Includes JSON validation, state management for params, and conditional confirm button enabling based on JSON validity.
RunNowButton dialog integration
src/dashboard/Data/Jobs/RunNowButton.react.js
Integrates the new RunJobDialog with a showDialog state flag. Replaces immediate job execution on click with a two-step workflow: dialog open on click, then job execution on confirmation. Adds handleCancel and handleConfirm methods to manage dialog interactions.

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant RunNowButton
    participant RunJobDialog
    participant JobSystem

    User->>RunNowButton: Click "Run Now" button
    RunNowButton->>RunJobDialog: Open dialog (showDialog=true)
    User->>RunJobDialog: Enter JSON parameters
    User->>RunJobDialog: Click Confirm
    RunJobDialog->>RunNowButton: Call onConfirm(jobWithParams)
    RunNowButton->>JobSystem: Execute job with params
    RunNowButton->>RunJobDialog: Close dialog (showDialog=false)
    JobSystem->>RunNowButton: Return execution status
    RunNowButton->>User: Display status ("Success!", "Failed.", etc.)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~14 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete. While it includes the repository contribution notes, it's missing the core sections: the Issue link, Approach explanation, and Tasks checklist that are required by the template. Complete the pull request description by filling in: (1) the 'Closes:' issue link, (2) an 'Approach' section explaining the dialog implementation and parameter handling, and (3) the 'Tasks' checklist indicating whether tests and documentation updates were completed.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding a dialog for executing Cloud Jobs with parameters, which aligns with the implementation of RunJobDialog and integration with RunNowButton.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@parseplatformorg

parseplatformorg commented Jan 28, 2026 •

Copy link
Copy Markdown
Contributor

✅ Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jan 28, 2026
@mtrezza
mtrezza merged commit da419e0 into parse-community:alpha Jan 28, 2026
12 checks passed
parseplatformorg pushed a commit that referenced this pull request Jan 28, 2026
# [8.3.0-alpha.35](8.3.0-alpha.34...8.3.0-alpha.35) (2026-01-28)

### Features

* Add dialog to execute Cloud Job with parameters ([#3158](#3158)) ([da419e0](da419e0))
@parseplatformorg

Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 8.3.0-alpha.35

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Jan 28, 2026
@mtrezza
mtrezza deleted the feat/job-with-params branch January 28, 2026 02:12
parseplatformorg pushed a commit that referenced this pull request Feb 5, 2026
# [8.3.0](8.2.0...8.3.0) (2026-02-05)

### Bug Fixes

* Canvas graph element does not apply data filter option ([#3128](#3128)) ([00ff1aa](00ff1aa))
* Canvas is not expandable or scrollable beyond current view size ([#3140](#3140)) ([cb73122](cb73122))
* Cloud Config parameter modal cannot scroll when content scales beyond visible area ([#3124](#3124)) ([bb6de31](bb6de31))
* Context menu of header cell in info panel does not group related records by class name ([#3122](#3122)) ([230c1e2](230c1e2))
* Context menu sub-menu in data browser vertically misaligned when scrolling in parent menu ([#3120](#3120)) ([2acaa27](2acaa27))
* Dashboard crashes when adding Parse Pointer JSON to array field in data browser ([#3125](#3125)) ([70bf081](70bf081))
* Data browser graph requires value field even when calculated value is defined ([#3127](#3127)) ([53e4f2b](53e4f2b))
* Graph in canvas ignores date filter constraints ([#3137](#3137)) ([6d8b8e6](6d8b8e6))
* Group-by not using custom aggregation type for single-series graph ([#3159](#3159)) ([b8e8891](b8e8891))
* Incorrect percentage and average calculation for calculated values in graphs ([#3152](#3152)) ([14b4d48](14b4d48))
* Info panel auto-scrolling not pausing during UI interaction like text selection or context menu display ([#3165](#3165)) ([bfe4e8a](bfe4e8a))
* Name of calculated value in data browser graph allows leading and trailing spaces ([#3132](#3132)) ([9493b18](9493b18))
* Optimize data browser cell context menu grouping and readability ([#3141](#3141)) ([5c711e1](5c711e1))
* Security upgrade react-router and react-router-dom ([#3107](#3107)) ([b76b9d1](b76b9d1))
* Setting a keyboard shortcut to its default value creates an unnecessary dashboard config storage entry ([#3173](#3173)) ([4949053](4949053))

### Features

* Add auto-scrolling for info panels ([#3149](#3149)) ([3cd8197](3cd8197))
* Add canvas tree to sidebar instead of loading dialog and favorite functionality ([#3146](#3146)) ([e58dc82](e58dc82))
* Add cloning of element in canvas ([#3144](#3144)) ([dec06ad](dec06ad))
* Add context menu in data browser to add cell content or selected text to Cloud Config parameter ([#3123](#3123)) ([9bc5197](9bc5197))
* Add context menu in data browser to get related records from String and Number fields ([#3118](#3118)) ([824bebd](824bebd))
* Add context menu item to get related records for selected text in data browser cell ([#3142](#3142)) ([33d3595](33d3595))
* Add custom dashboard canvas with graphs and data tables ([#3126](#3126)) ([d45c27b](d45c27b))
* Add customizable styles for line and bar series in data browser graph ([#3131](#3131)) ([501dd4b](501dd4b))
* Add customizable Y-axis titles for data browser graphs ([#3130](#3130)) ([2946e64](2946e64))
* Add dialog to execute Cloud Job with parameters ([#3158](#3158)) ([da419e0](da419e0))
* Add expanded view for canvas elements graph, table, view ([#3156](#3156)) ([0ffd767](0ffd767))
* Add field `objectId` to get related records context menu in data browser ([#3161](#3161)) ([2847ccf](2847ccf))
* Add formula-based calculated value to data browser graph ([#3129](#3129)) ([7c5d1b3](7c5d1b3))
* Add keyboard shortcut for executing script on selected rows in data browser ([#3171](#3171)) ([75389ad](75389ad))
* Add more customization options for graphs in canvas ([#3134](#3134)) ([ddbd666](ddbd666))
* Add non-alphanumeric character detection in Cloud Config parameters ([#3143](#3143)) ([1594ec8](1594ec8))
* Add quick-remove button to array parameter in Cloud Config ([#3121](#3121)) ([b632074](b632074))
* Add support for server side storage of Cloud Config parameter history ([#3169](#3169)) ([964e540](964e540))
* Allow adding View elements to canvas ([#3133](#3133)) ([2f2ae9a](2f2ae9a))
* Allow to favorite canvas for quick-access via sidebar menu ([#3135](#3135)) ([1e3a3c7](1e3a3c7))
* Allow to pause auto-scroll of info panel by holding the Option key ([#3160](#3160)) ([db38f14](db38f14))
* Allow to use ESC key to cancel, Cmd + Enter key to submit, Tab key to navigate a modal dialog ([#3172](#3172)) ([debdc09](debdc09))
* Detect and warn about unprintable characters in Cloud Config parameter values ([#3119](#3119)) ([26c909c](26c909c))
* Improve usability and layout of canvas and elements ([#3148](#3148)) ([cd654dc](cd654dc))
* Optimize appearance of graph tick labels on x-axis for date values ([#3147](#3147)) ([a9edcaf](a9edcaf))
* Optimize canvas menu organization ([#3145](#3145)) ([1558826](1558826))
* Replace graph fields with graph series for more customization ([#3157](#3157)) ([51feba4](51feba4))
* Various improvements for auto-scrolling info panel ([#3151](#3151)) ([423d83a](423d83a))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:released-alpha Released as alpha version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants