BigPicture - rpapub/WatchfulAnvil GitHub Wiki

Major Tasks for Initial Implementation of Custom Workflow Analyzer Rules in the DevOps Cycle

1️⃣ Plan (Requirements & Design)

  • Define workflow validation goals (e.g., best practices, security, performance).
  • Identify rules and counters needed for enforcement.
  • Choose naming conventions and rule IDs.
  • Determine Studio version compatibility (.NET Framework vs. .NET 6).
  • Plan global vs. project-level deployment (DLL vs. NuGet package).

2️⃣ Develop (Implementation & Coding)

  • Install UiPath.Activities.Api package.
  • Create a .NET project for custom rules.
  • Implement rules and counters using IActivityModel, IWorkflowModel & IProjectModel.
  • Ensure rule registration via IRegisterAnalyzerConfiguration.
  • Use workflow.Root to iterate through workflows.
  • Define error levels (Info, Warning, Error).
  • Implement rule parameters (e.g., regex for naming conventions).
  • Write logging to temp files for debugging.

3️⃣ Build (Compilation & Packaging)

  • Compile DLL files (dotnet build).
  • Ensure compatibility with Studio's Workflow Analyzer.
  • Package as a NuGet package (if needed for project-level deployment).
  • Verify dependencies (UiPath.Activities.Api, .NET framework versions).

4️⃣ Test (Validation & Debugging)

  • Run unit tests (xUnit/Moq for rule logic).
  • Debug using log files in Path.GetTempPath().
  • Validate rule enforcement in UiPath Studio.
  • Check for performance issues in rule execution.

5️⃣ Release (Deployment & Integration)

  • Deploy DLLs to Studio’s global rules folder:
    • %ProgramFiles%\UiPath\Studio\Rules\
    • %LocalAppData%\Programs\UiPath\Studio\Rules\
  • Integrate custom rules into Studio settings.

6️⃣ Operate (Monitoring & Feedback)

  • Collect feedback from developers using the rules.
  • Monitor Studio’s error list panel for rule behavior.
  • Update rules based on project needs.

7️⃣ Improve (Iteration & Optimization)

  • Refine rules for performance & accuracy.
  • Expand test coverage.
  • Automate rule deployment in CI/CD pipelines (if using NuGet).
  • Maintain compatibility with UiPath Studio updates.

This cycle ensures custom Workflow Analyzer Rules are effectively designed, implemented, and maintained within a DevOps workflow. 🚀