Values

Values are available for calculating expressions:

triggers:
    post_commit:
        args:
            whathappened: 'This process was started by a '+event.name+' from '+event.repo.name

and substituting into scripts:

jobs:
    main:
        steps:
        -
            bash: |
                echo This process was started by a {event.name} from {event.repo.name}

Different values will be available at different times in a process's lifecycle. For example, the event's value are available throughout, but details specific to the running process will only be available once that process has been started.

Fixed and variable values

A job is has a number of fixed variables:

user.password
The password to use for the running user
role.key and role.secret
The key and secret to use instead of the user and password
api.url and api.host
The url and host to connect to svnplace's API
blob.url and blob.host
The url and host to connect to svnplace's blobs
script
The file containing the step's script
var
The directory where job variables should be stored. For example, whatever is in the file {var}/some/location can be used as var.some.location in expressions (the file's contents is the str's value).
job
The directory where previous jobs' results can be found. job.prepare.something is the contents of file {job}/prepare/something, which is the something result from the earlier job prepare. If a job's result is a directory then all of that directory's contents will be available.
secret.<yoursecret>
The value of the setting secret.<yoursecret>. Secrets are settings which are hidden. Your secrets can be set in your, or your repo's Settings. If a secret is used, then that secret's value is redacted from your process's output.
const.<yourconst>
The value of setting const.<yourconstant>. Constants can be set in your, or your repo's Settings.
setting.<this>
The value of setting <this>. This allows access to any setting, eg setting.repo.home found in Settings->Places. secrets (setting.secret.<yoursecret>) and consts (setting.const.<yourconst>), as they're settings can also be accessed using setting.

There are also the process's run parameters:

process.*
The process triggered
user.*
Who triggered the process
repo.*
Which repo
event.*
The triggering event
<yourarg>
Any arguments to the process

As noted above, the {var} directory is where variables can be stored.

echo Happy > {var}/outcome

These can be used in expressions:

jobs:
    compile:
        steps:
            -
                bash: echo The earlier result is {var.result}
            -
                condition: var.outcome == 'Happy'

And as results from the job:

jobs:
    compile:
        results:
            happiness: outcome

Which can be used in later jobs:

jobs:
    link:
        after:
            - compile
        steps:
            -
                condition: job.compile.happiness == 'Happy'

Multi-part Values

Some values have multiple parts, shown by a .*, eg .user.*.

User

.user.username
The user's name (all users will have this).
.user.api_id (optional)
The user's api ID, eg u-0123456789abcdef. This is missing when the user is an ex-user - a user which has been deleted after their checkins.
.user.urn (optional)
The user's URN, eg urn/home/user/joebloggs. This is missing when the user is an ex-user - a user which has been deleted after their checkins.

All other resources

User values don't have this, but all other resources, such as repos, seals etc do.

.resource.owning_user.*
The user which owns this resource. For users, as this is the user itself, .owning_user is not present.

Repo

.repo.primary.*
The primary reporepository. A repo can have multiple reporepositories. Each reporepository is a single Subversion repository. One of them is the primary reporepository - this is the 'master' / what is presented to the world. The others may be backups being restored, old master copies which have been retired to swap in restored backups, or read replicas.
.repo.seal.*
The repository's seal. This is used to tag blobs associated with this repo.

Reporepository

.reporepository.rootdirectory.*
the rootdirectory for this reporepository. The rootdirectory is the place where the reporepository is within svnplace.

Seal

.seal.kind
What kind of seal this is. It is a string to hint to how the seal is used. For example, a repo's seal's kind is 'core'.

Rootdirectory

.rootdirectory.instance.*
The processing instance where the rootdirectory is stored.

Instance

This resource has no additional fields.