Create environment variable

Creates a new environment variable. Restricted to admins only. Required scopes: WORKSPACE, VARIABLE_ADD

Resource URL

POST /workspaces/:domain/variables

URL Parameters

NameTypeDescription
domain
Required
StringThe workspace domain.

POST Parameters

NameTypeDescription
key
Required
StringThe name of the variable.
value
Required
StringThe value of the variable. If the type is FILE, the value must be Base64 encoded.
typeStringThe type of the added variable. Can be one of VAR, SSH_KEY or FILE.
descriptionStringThe optional description of the variable.
settableBooleanIf set to true the variable value can be set by Buddy actions.
encryptedBooleanIf set to true the variable value will be encrypted and hidden.
projectProjectThe project, to which the new environment variable will be added.
pipelinePipelineThe pipeline, to which the new environment variable will be added.
actionActionThe pipeline action, to which the new environment variable will be added.
file_placeStringAvailable values: CONTAINER, NONE. Set if type is SSH_KEY or FILE. If it's NONE, the variable can be used as a parameter in an action. For CONTAINER, the given file/key is additionally copied to an action container on each run.
file_nameStringThe name of the file. Set if type is SSH_KEY or FILE.
file_pathStringSpecifies where to copy the file on each run. Set if type is SSH_KEY or FILE.
file_chmodStringFile permission set on copy to a container on each run. Set if type is SSH_KEY or FILE.

Examples

Add a new workspace - scoped variable

Request

POST https://api.buddy.works/workspaces/buddy/variables

Example payload

JSON

{
    "value": "-----BEGIN RSA PRIVATE KEY-----MIIEpAIBAAKCAQEAz/qH9/t6jCVuGPHcDDvnyqtasOlsjZOgF9dtRioNG93GrLPzDoi+SgUBzesoKXb1CGOW1wKAzLSADzuFMKwSydxCBVwziGZ33F+XsnHGKX3mpx8rRZV2UWNHRtJK3wmJHfEsIDHznPcbJT2I++cK36yGGpiNtzItfdvhExeFeXJVjp/BrZS2D4ixBu5VjqFe5XskIN6N//QCgfwxTwmnhoGBnB8xiWnDCHHUP/rf6Tr6FPneWt2zE5H53kqApT1boDN/VgaltptjW5zh6DnN6S9zhMBY4OkQoQQ1pCWrH56uryYaqTdslkoP4F1Hos9DkkCwCce8J/uFLE6PVY7Xk6JiQIDAQABAoIBAEOd5TTXetkzlh7gCzWjCFIY7d0SAaXdNCg9Fq/IYRzXT6sEwKYyt3g0WqbY1FkpaeojzXIH7tNDE/nabcWuNsC77oYgy3m8J3B/LQ6zbtPCirpPZ6vS8/UBmQFdRJ1YnwbvZ4aUnpZiu7+lODXf5BESDUpe75alEt7uzZn2K8cZQRb3O8cIpv4KIqxA4kpf+VkJ/1l8pLLx/cG85pxuLy6RlV8IlerOq7ZK85afdGPM9VKK+WNvL7803/Egt5Zs8p+Uc0W8ZXHhEzje4UreYE83AgU3EMSAJp69JnYQGGQsDHAC63GqUBSpWlI1gImZ9shD2rXrHkiiTnltcTWHx0CgYEA+UCU3rB+AoptMA/R9HxfJlgFacQPCnbSeziksTV0lyd44LiXJBBbchTKFg4sxBSuPcq0+rKnUxPcNNRbmw9Wvo+amqeyRvXDuXRXTxxmFpqDQehMW1A3Hav3aVfcarGcQAiZJAOQz1Hhma05Xy2HQsqHOqqVB7FktNcoIKccRgcCgYEA1ZvoHtkKG7ZAI+XJZmJUnsimWfH67prbAnlfBKGz/gDxA0REmTsAT92+T5jiXM6VyHj6G2GGVILZoG1L1YDecF/GLvhb3QmW8cwKnaX84XoI0oKYaNGnzmZIMcKQKZdFUZfbXBTT4I/xx1I+/aYRkp2WZBE5Emfg+RfZKkLT+8CgYBkyCMpo81fs58Qk1O3M4FkMxPxzVo4KWh8jKbUV3hplX9V1b83VDDQdfaB0qIibRA1r+MGSuJgFdHtOdSsRGHOnm6f0/y2ynq4Sv1ehIoWy6UVChuNtHKEsdrZImiCT4xxK8jYEgUEfwQsQil3fY46iG+DXiPiN20T3gdgpJ/EwKBgQCBon2LgxJ0YPWqE4FXpmNOfd0fBxDPj6FMbhYxPGV8yFt8LQkoqTr2PU+LBPCTfDhAktLOnTAlx8eFae804mGcdCY3P4Z/2lCRMGBV1OVAwEpyaDPGr41jglQhJUpek9g32h59z0ZwIU7Na0Nozm35cqVCk6CLnva013rhHwojdwKBgQCd1NBOpiE2/R7JsmK8crt0NH+Q9RFPKfnv4itvsuy9dRtDV04jl60jbzVC+EKD4M6jysijNF4TDTfXljmHjkx8oGW9PTZQ88TQm8maOO1mKuQAWAu3AeCIZXqdmiQQASD+p6+goJLgpKuKQJQ2LQJZgi1gvw+jBeTJPILXQgt1Q==-----END RSA PRIVATE KEY-----",
    "type": "SSH_KEY",
    "key": "id_my_key",
    "encrypted": true,
    "description": "My Server Key",
    "file_name": "id_my_key",
    "file_path": "~/.ssh/id_my_key",
    "file_chmod": "600",
    "file_place": "CONTAINER"
}

Example Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
    "url": "https://api.buddy.works/workspaces/buddytest/variables/1",
    "id": 1,
    "key": "id_my_key",
    "value": "secure!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.IOCC4LynFRFWrd6O+Sp6Rg==",
    "type": "SSH_KEY",
    "encrypted": true,
    "description": "My Server Key",
    "file_name": "id_my_key",
    "file_path": "~/.ssh/id_my_key",
    "file_chmod": "600",
    "file_place": "CONTAINER",
    "public_value": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAs9yoz6vqv/mh7md3ApyB6EEz5DKR2uLcOFmDxFfolnRB8YxFZoxK7Ac+BV2/PNWUK/sm/n/RWc6a6JWdNwbQ9nm4A9mAMJQgRyls/PW0AIHkflO1Dzon4C7j4RJt7ijf1kFxosmVz6MaBEvMV82IpagtTGUsm4jXXclYj04QsMkUiG5JBwrl5qB6kemqUoUCptqcXlDZXtVDZBbS1HtuMXbFC8ANscbhT9+L5JX6PDwc1tozcjKDLpDpar7G8YJ5zFFBTjw/adcE2JkCB3cG9LLBbWbGFAIGsyiNBRa4wHJQP9rAKebpt4vFAof8Yg0IAvtvmoBRa5L8yousThjvQvMmWYR0QToeUx6GZzrWMZ9Z5Wa6dVqbQBRS1p4m/Xv+VaH5hI00hc3zEmow58NoKSPhipvmS5Xk74aLrj7/Wj7lHSzu54apFnhN1+1+QhC+8ITNa6lHNUY0t9xiJ5auRGDmUFsBICdPr+Npt7sOsZbdUHk/Ka0Y7hIFIElTDbWdo7sxwKenWnwrB0Y2qDprVYKgZFGbuQd57FqOYP5TF6S6raMSo03dZjj5WJpYDXJXP1RMFkFwzZUZxdqKmty+yBvf0/kd6zlr+WPTlf+CMb4l9FjwIYsYfQuBnVzwwjHVCFkbYHa1KTMBVxSAMHi4/JWgU4fDJtMMB/yvxXvG7n0=",
    "key_fingerprint": "d3:5a:ef:be:46:dc:ea:c9:95:51:78:54:36:da:7c:9d",
    "checksum": "b7827991973f4c275a70d51e96bd3e09474ac9beba74ea17d24081e83c8c13ad"
}

Add new project - scoped variable

Request

POST https://api.buddy.works/workspaces/buddy/variables

Example payload

JSON

{
    "key": "my_var",
    "value": "some value",
    "project": {
        "name": "myproject"
    }
}

Example Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
    "url": "https://api.buddy.works/workspaces/buddytest/variables/1",
    "type": "VAR",
    "id": 1,
    "key": "my_var",
    "value": "some value",
    "encrypted": false
}

Add new pipeline-scoped variable

Request

POST https://api.buddy.works/workspaces/buddy/variables

Example payload

JSON

{
    "key": "my_var",
    "value": "some value",
    "pipeline": {
        "id": 1
    }
}

Example Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
    "url": "https://api.buddy.works/workspaces/buddytest/variables/1",
    "type": "VAR",
    "id": 1,
    "key": "my_var",
    "value": "some value",
    "encrypted": false
}

Add new action - scoped variable

Request

POST https://api.buddy.works/workspaces/buddy/variables

Example payload

JSON

{
    "key": "my_var",
    "value": "some value",
    "action": {
        "id": 1
    }
}

Example Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
    "url": "https://api.buddy.works/workspaces/buddytest/variables/1",
    "type": "VAR",
    "id": 1,
    "key": "my_var",
    "value": "some value",
    "encrypted": false
}
Sign up for Buddy Digest

Best practices on CI/CD and fresh changelogs delivered weekly to your inbox.