2017-09-10 17:25:29 +05:30
|
|
|
# Adding deploy keys to multiple projects via API
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2016-04-02 18:10:28 +05:30
|
|
|
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.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2016-04-02 18:10:28 +05:30
|
|
|
First, find the ID of the projects you're interested in, by either listing all
|
|
|
|
projects:
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
```
|
2019-02-13 22:33:31 +05:30
|
|
|
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/projects
|
2014-09-02 18:07:02 +05:30
|
|
|
```
|
|
|
|
|
2016-04-02 18:10:28 +05:30
|
|
|
Or finding the ID of a group and then listing all projects in that group:
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
```
|
2019-02-13 22:33:31 +05:30
|
|
|
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
# For group 1234:
|
2019-02-13 22:33:31 +05:30
|
|
|
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups/1234
|
2014-09-02 18:07:02 +05:30
|
|
|
```
|
|
|
|
|
|
|
|
With those IDs, add the same deploy key to all:
|
2016-04-02 18:10:28 +05:30
|
|
|
|
2014-09-02 18:07:02 +05:30
|
|
|
```
|
|
|
|
for project_id in 321 456 987; do
|
2019-02-13 22:33:31 +05:30
|
|
|
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
|
2017-08-17 22:00:37 +05:30
|
|
|
--data '{"title": "my key", "key": "ssh-rsa AAAA..."}' https://gitlab.example.com/api/v4/projects/${project_id}/deploy_keys
|
2014-09-02 18:07:02 +05:30
|
|
|
done
|
|
|
|
```
|