> For the complete documentation index, see [llms.txt](https://docs.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pentaho.com/pdia-data-integration/archived-merged-pages/transforming-data-with-pdi-archive/pdi-run-modifiers/variables/internal-variables.md).

# Internal variables

The following variables are always defined:

| Variable Name                     | Sample Value          |
| --------------------------------- | --------------------- |
| **Internal.Kettle.Build.Date**    | `2010/05/22 18:01:39` |
| **Internal.Kettle.Build.Version** | `2045`                |
| **Internal.Kettle.Version**       | `4.3`                 |

These variables are defined in a transformation:

| Variable Name                                    | Sample Value                                        |
| ------------------------------------------------ | --------------------------------------------------- |
| **Internal.Transformation.Filename.Directory**   | `D:\Kettle\samples`                                 |
| **Internal.Transformation.Filename.Name**        | `Denormaliser - 2 series of key-value pairs.ktr`    |
| **Internal.Transformation.Name**                 | `Denormaliser - 2 series of key-value pairs sample` |
| **Internal.Transformation.Repository.Directory** | `/`                                                 |

These are the internal variables that are defined in a job:

| Variable Name                         | Sample Value             |
| ------------------------------------- | ------------------------ |
| **Internal.Job.Filename.Directory**   | `file:///home/matt/jobs` |
| **Internal.Job.Filename.Name**        | `Nested jobs.kjb`        |
| **Internal.Job.Name**                 | `Nested job test case`   |
| **Internal.Job.Repository.Directory** | `/`                      |

These are the internal variables that are defined in a transformation or job within a project:

| Variable Name                            | Sample Value                                       |
| ---------------------------------------- | -------------------------------------------------- |
| **Internal.Project.Data.Directory**      | `pvfs://Repository/home/admin/projects/myproject/` |
| **Internal.Project.Execution.Directory** | `/home/admin/projects/myproject`                   |
| **Internal.Project.Name**                | `My project`                                       |
| **Internal.Project.Description**         | `Description of my project`                        |

{% hint style="info" %}
**Note:** Although both of the project directory variables specify the path to a project, they are used in different situations.

* **Internal.Project.Data.Directory:** Used by steps that are not aware of the repository, such as steps that access files as data, like [Text File Input](/pdia-data-integration/pdi-transformation-steps-reference-overview/text-file-input-cp.md) and [Create File](https://pentaho-community.atlassian.net/wiki/spaces/EAI/pages/371558469/Create+a+file). You can use this variable in fields that allow you to select VFS connections while connected to the repository.
* **Internal.Project.Execution.Directory:** Used by steps that are aware of the repository, such as steps that execute other transformations and jobs, like [Transformation Executor](/pdia-data-integration/pdi-transformation-steps-reference-overview/transformation-executor.md), [Transformation (job entry)](/pdia-data-integration/pdi-job-entries-reference-overview/transformation-job-entry-cp.md) and [Job (job entry)](/pdia-data-integration/pdi-job-entries-reference-overview/job-job-entry.md). You can use this variable in fields that allow you to select a Pentaho repository, but not VFS connections.
  {% endhint %}

These variables are defined in a transformation running on a slave server, executed in clustered mode:

| Variable Name                            | Sample Value                         |
| ---------------------------------------- | ------------------------------------ |
| **Internal.Slave.Transformation.Number** | `0..<cluster size-1> (0,1,2,3 or 4)` |
| **Internal.Cluster.Size**                | `<cluster size> (5)`                 |

{% hint style="info" %}
**Notes:**

* In addition to the above, there are also System parameters, including command line arguments. These can be accessed using the [Get System Info](/pdia-data-integration/pdi-transformation-steps-reference-overview/get-system-info.md) step in a transformation.
* Additionally, you can specify values for variables in the Execute a transformation dialog box. If you include the variable names in your transformation they will appear in this dialog box.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/archived-merged-pages/transforming-data-with-pdi-archive/pdi-run-modifiers/variables/internal-variables.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
