29 lines
1,009 B
Markdown
29 lines
1,009 B
Markdown
# 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
|
|
```
|