# No such file or dirctory Error

**URL:** <https://community.jenkins.io/t/no-such-file-or-dirctory-error/31036>\
**Category:** Ask a question\
**Created:** [May 11, 2025, 7:55pm UTC](https://community.jenkins.io/t/no-such-file-or-dirctory-error/31036 "2025-05-11T19:55:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Martin1](https://avatars.discourse-cdn.com/v4/letter/m/3be4f8/32.png) [@Martin1](https://community.jenkins.io/u/Martin1)\
**Post date:** [May 11, 2025, 7:55pm UTC](https://community.jenkins.io/t/no-such-file-or-dirctory-error/31036/1 "2025-05-11T19:55:00Z")

</div>

Jenkins setup:  
Podman Container Setup for Testing purposes,

- Current Version of Jenkins Container
- Agent: Ubuntu node with java 17

Hi,  
Im just starting with Jenkins und Testing it for my Usecase. Currently im running into an issue, im not able to resolve.

I get the following error when running the following groovy code:

> java.io.FileNotFoundException: /home/jenkins/agent/workspace/tompia\_system/.conf/config.json (No such file or directory)

faulty Method:

```auto
import groovy.json.JsonSlurper
def call() {
    def inputFile = new File("${WORKSPACE}/.conf/config.json")
	def jsonText = inputFile.text
	def InputJSON = JsonSlurper.parseText(jsonText)
	def branch = env.BRANCH_NAME
	return InputJSON << InputJSON.targets."$branch";
}

```

Path is correct. Works fine on the console with the same user. The part that crashes is parsing with inputFile.text.

---

<div class="post-metadata">

**Author:** ![Artalus](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/artalus/32/11413_2.png) [@Artalus](https://community.jenkins.io/u/Artalus)\
**Post date:** [May 11, 2025, 10:09pm UTC](https://community.jenkins.io/t/no-such-file-or-dirctory-error/31036/2 "2025-05-11T22:09:47Z")

</div>

`File` is a regular Java class, and when Jenkins executes the pipeline, `new File()` gets resolved on Jenkins controller – not on the agent where you have `WORKSPACE` variable and can run `sh()`. Because of this, `File` methods are considered a security breach, since someone can write a pipeline script to read arbitrary files from Jenkins itself.

You’d need special steps that would get executed in the agent “context”: [`readFile`](https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace) and [`writeFile`](https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/#writefile-write-file-to-workspace); or in your case, [`readJson`](https://www.jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#readjson-read-json-from-files-in-the-workspace).

---

<div class="post-metadata">

**Author:** ![Martin1](https://avatars.discourse-cdn.com/v4/letter/m/3be4f8/32.png) [@Martin1](https://community.jenkins.io/u/Martin1)\
**Post date:** [May 12, 2025, 8:06am UTC](https://community.jenkins.io/t/no-such-file-or-dirctory-error/31036/3 "2025-05-12T08:06:17Z")

</div>

Thanks, this is it works fine now.
