Skip to content

Commit 5ac714c

Browse files
authored
Merge pull request #393 from UiPath/fix/job_context
Fix: job context
2 parents 42fe040 + 0944c12 commit 5ac714c

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

src/uipath/_services/jobs_service.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -553,8 +553,12 @@ def create_attachment(
553553

554554
# Get job key from context if not explicitly provided
555555
context_job_key = None
556-
if job_key is None and hasattr(self._execution_context, "job_key"):
557-
context_job_key = self._execution_context.job_key
556+
if job_key is None:
557+
try:
558+
context_job_key = self._execution_context.instance_key
559+
except ValueError:
560+
# Instance key is not set in environment
561+
context_job_key = None
558562

559563
# Check if a job is available
560564
if job_key is not None or context_job_key is not None:
@@ -690,8 +694,12 @@ async def main():
690694

691695
# Get job key from context if not explicitly provided
692696
context_job_key = None
693-
if job_key is None and hasattr(self._execution_context, "job_key"):
694-
context_job_key = self._execution_context.job_key
697+
if job_key is None:
698+
try:
699+
context_job_key = self._execution_context.instance_key
700+
except ValueError:
701+
# Instance key is not set in environment
702+
context_job_key = None
695703

696704
# Check if a job is available
697705
if job_key is not None or context_job_key is not None:

tests/sdk/services/test_jobs_service.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -579,16 +579,13 @@ def test_create_job_attachment_with_job_context(
579579
content = "Test attachment content"
580580
name = "test_attachment.txt"
581581

582-
# Set job key in execution context - add attribute if it doesn't exist
583-
if not hasattr(execution_context, "job_key"):
584-
# Add job_key attribute to ExecutionContext
585-
execution_context.__dict__["job_key"] = job_key
586-
else:
587-
execution_context.job_key = job_key
588-
589-
# Create service with our execution context
582+
# Set job key in environment - must be string
583+
monkeypatch.setenv("UIPATH_JOB_KEY", str(job_key))
590584
monkeypatch.setenv("UIPATH_FOLDER_PATH", "test-folder-path")
591-
service = JobsService(config=config, execution_context=execution_context)
585+
586+
# Create fresh execution context after setting environment variables
587+
fresh_execution_context = ExecutionContext()
588+
service = JobsService(config=config, execution_context=fresh_execution_context)
592589

593590
# Mock the attachment service's upload method
594591
mock_upload = mocker.patch.object(

0 commit comments

Comments
 (0)