Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1009 Bytes

deploy_key_multiple_projects.md

File metadata and controls

29 lines (21 loc) · 1009 Bytes

Adding deploy keys to multiple projects via API

If you want to easily add the same deploy key to multiple projects in the same group, this can be achieved quite easily with the API.

First, find the ID of the projects you're interested in, by either listing all projects:

curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/projects

Or finding the ID of a group and then listing all projects in that group:

curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups

# For group 1234:
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups/1234

With those IDs, add the same deploy key to all:

for project_id in 321 456 987; do
    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
    --data '{"title": "my key", "key": "ssh-rsa AAAA..."}' https://gitlab.example.com/api/v4/projects/${project_id}/deploy_keys
done