feat(orchestrator): add Jobs getAll service [PLT-99452]#290
feat(orchestrator): add Jobs getAll service [PLT-99452]#290ninja-shreyash merged 13 commits intomainfrom
Conversation
00372da to
519e687
Compare
|
|
Add new Jobs service for querying Orchestrator job executions via GET /odata/Jobs endpoint with OData pagination support. - JobService extends FolderScopedService with OData pagination - Types reuse existing enums (JobState, JobPriority, JobType, etc.) - New enums: JobProcessType, JobRuntimeType, ServerlessJobType - Transform pipeline: pascalToCamelCaseKeys + JobMap semantic renames - Subpath export at @uipath/uipath-typescript/jobs - Unit tests (5), integration tests, docs updated PLT-99452 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace console.log with throw Error in integration tests - Remove try/catch blocks that swallow test errors - Remove duplicate JSDoc comment block in endpoints file Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
519e687 to
238df2a
Compare
|
Question : Do the mapped names work with filters? |
yes these works ( I meant only case conversion) |
Eg. I am mapping processType -> packageType within Jobs service But in filter, Creating a bug to fix this: PLT-99731 |
b7968e9 to
f2b59bc
Compare
|



Method Added
jobs.getAll()getAll(options?: JobGetAllOptions): Promise<NonPaginatedResponse<JobGetResponse> | PaginatedResponse<JobGetResponse>>Endpoint Called
getAll()/orchestrator_/odata/JobsOR.MonitoringorOR.Monitoring.ReadgetAll()/orchestrator_/odata/JobsOR.JobsorOR.Jobs.ReadFolderScopedService— setsX-UIPATH-OrganizationUnitIdheader whenfolderIdis provided$top,$skip,$count)$filterfor server-side filtering (e.g."State eq 'Running'")Example Usage
API Response vs SDK Response
Transform pipeline
pascalToCamelCaseKeys()→transformData(data, JobMap)Field mapping
IdidpascalToCamelCaseKeysKeykeypascalToCamelCaseKeysStatestatepascalToCamelCaseKeysCreationTimecreatedTimeJobMap— aligns with SDK convention (createdTime) used across other servicesLastModificationTimelastModifiedTimeJobMap— aligns with SDK convention (lastModifiedTime)OrganizationUnitIdfolderIdJobMap—OrganizationUnitis an internal API term;folderis user-facing conceptOrganizationUnitFullyQualifiedNamefolderNameJobMap— same reasoning as aboveStartTimestartTimepascalToCamelCaseKeysEndTimeendTimepascalToCamelCaseKeysReleaseNamereleaseNamepascalToCamelCaseKeysHostMachineNamehostMachineNamepascalToCamelCaseKeysJobPriorityjobPrioritypascalToCamelCaseKeysInputArgumentsinputArgumentspascalToCamelCaseKeysOutputArgumentsoutputArgumentspascalToCamelCaseKeyspascalToCamelCaseKeysDocs
Sample App
Files
src/utils/constants/endpoints/orchestrator.tssrc/models/orchestrator/jobs.types.tssrc/models/orchestrator/jobs.constants.tssrc/models/orchestrator/jobs.models.tssrc/services/orchestrator/jobs/jobs.ts,index.tspackage.json,rollup.config.jssrc/models/orchestrator/index.ts,src/services/orchestrator/index.tstests/unit/services/orchestrator/jobs.test.ts(5 tests)tests/integration/shared/orchestrator/jobs.integration.test.tstests/utils/constants/jobs.ts,tests/utils/mocks/jobs.tsdocs/oauth-scopes.md,docs/pagination.md🤖 Auto-generated using onboarding skills