Skip to content

Handled Action dependncy issue#4335

Merged
prashelke merged 6 commits into
Releases/Official-Releasefrom
BugFix/ActionDependancy
Oct 16, 2025
Merged

Handled Action dependncy issue#4335
prashelke merged 6 commits into
Releases/Official-Releasefrom
BugFix/ActionDependancy

Conversation

@GokulBothe99

@GokulBothe99 GokulBothe99 commented Oct 16, 2025

Copy link
Copy Markdown
Contributor

Thank you for your contribution.
Before submitting this PR, please make sure:

  • PR description and commit message should describe the changes done in this PR
  • Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
  • Latest Code from master or specific release branch is merged to your branch
  • No unwanted\commented\junk code is included
  • No new warning upon build solution
  • Code Summary\Comments are added to my code which explains what my code is doing
  • Existing unit test cases are passed
  • New Unit tests are added for your development
  • Sanity Tests are successfully executed for New and Existing Functionality
  • Verify that changes are compatible with all relevant browsers and platforms.
  • After creating pull request there should not be any conflicts
  • Resolve all Codacy comments
  • Builds and checks are passed before PR is sent for review
  • Resolve code review comments
  • Update the Help Library document to match any feature changes

Summary by CodeRabbit

  • New Features
    • Action creation now automatically collects and attaches variable dependency details from the current activity when dependency control is enabled.
    • Optional variable values are preserved and applied to the created action, ensuring actions are initialized with the selected variable options and reducing manual configuration.
    • Streamlines action setup and helps maintain consistency across activities.

@coderabbitai

coderabbitai Bot commented Oct 16, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

The ActionsFactory.cs change collects VariableSelectionList from the current activity after assigning the action's platform; if EnableActionsVariablesDependenciesControl is true and variables exist, it builds VariableDependency objects from each variable's Guid, Name, and OptionalValuesList and appends them to selectedAction.VariablesDependencies before generating the action.

Changes

Cohort / File(s) Summary
Variable Dependencies Initialization
Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs
After setting the action platform, collects VariableSelectionList from the current activity and, when EnableActionsVariablesDependenciesControl is enabled and variables exist, gathers each variable's OptionalValuesList into arrays, creates VariableDependency instances (Guid, Name, values), and appends them to selectedAction.VariablesDependencies prior to calling GenerateSelectedAction.

Sequence Diagram(s)

sequenceDiagram
    participant AF as ActionsFactory
    participant Activity
    participant Action

    AF->>Activity: Get VariableSelectionList
    Activity-->>AF: returns variables[]

    alt EnableActionsVariablesDependenciesControl == true and variables exist
        loop for each variable
            AF->>AF: collect OptionalValuesList -> values[]
            AF->>AF: create VariableDependency(Guid, Name, values[])
            AF->>Action: append VariableDependency to VariablesDependencies
        end
    end

    AF->>Action: ensure platform assigned
    AF->>AF: GenerateSelectedAction
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • Maheshkale447

Poem

🐰 I hopped through code where variables hide,
I gathered lists from the activity's side,
Guid and Name snug in a numbered row,
Dependencies linked so the action can go! 🎉

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description only repeats the provided template with unchecked items and does not include any details about the actual changes, rationale, or test steps. It fails to provide the summary of modifications, context for why the changes were made, or confirmation that the contributor checklist has been completed. As a result it does not satisfy the repository’s required description structure. Please fill out the PR description by summarizing the implemented changes, explaining the motivation and test coverage, and marking completed items in the contributor checklist to satisfy the repository’s template requirements.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "Handled Action dependncy issue" clearly references the main change which fixes handling of action dependency logic and concisely summarizes the update. Although it contains a minor typo in "dependncy", it remains relevant and specific to the core modification described in the changeset. Therefore it meets the criteria for a clear, single-sentence summary of the primary change.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BugFix/ActionDependancy

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fe16dba and 6d33e08.

📒 Files selected for processing (1)
  • Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-02T07:51:28.822Z
Learnt from: prashelke
PR: Ginger-Automation/Ginger#4289
File: Ginger/GingerCoreNET/Application Models/Delta/PomDelta/PomDeltaUtils.cs:99-103
Timestamp: 2025-09-02T07:51:28.822Z
Learning: In Ginger/GingerCoreNET/Application Models/Delta/PomDelta/PomDeltaUtils.cs around line 99, prashelke prefers to keep the unused variable `selectedElementList` from GetSelectedElementList() call rather than removing it, despite it being unused in the current logic.

Applied to files:

  • Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs
🔇 Additional comments (1)
Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs (1)

33-33: LGTM!

The addition of the GingerCore.Variables namespace is necessary and correct for supporting the new variable dependency functionality.


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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 876476c and 0e2f4a0.

📒 Files selected for processing (1)
  • Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs (2 hunks)

Comment thread Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs
Comment thread Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0e2f4a0 and fe16dba.

📒 Files selected for processing (1)
  • Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-02T07:51:28.822Z
Learnt from: prashelke
PR: Ginger-Automation/Ginger#4289
File: Ginger/GingerCoreNET/Application Models/Delta/PomDelta/PomDeltaUtils.cs:99-103
Timestamp: 2025-09-02T07:51:28.822Z
Learning: In Ginger/GingerCoreNET/Application Models/Delta/PomDelta/PomDeltaUtils.cs around line 99, prashelke prefers to keep the unused variable `selectedElementList` from GetSelectedElementList() call rather than removing it, despite it being unused in the current logic.

Applied to files:

  • Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs

Comment thread Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs
Comment thread Ginger/Ginger/AutomatePageLib/AddActionMenu/ActionsFactory.cs Outdated
@prashelke
prashelke merged commit 14b5ed7 into Releases/Official-Release Oct 16, 2025
24 of 29 checks passed
@prashelke
prashelke deleted the BugFix/ActionDependancy branch October 16, 2025 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants