debian-mirror-gitlab/doc/api/deploy_key_multiple_projects.md

30 lines
1,013 B
Markdown
Raw Normal View History

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
```
2017-08-17 22:00:37 +05:30
curl --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 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
```
2017-08-17 22:00:37 +05:30
curl --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' https://gitlab.example.com/api/v4/groups
2014-09-02 18:07:02 +05:30
# For group 1234:
2017-08-17 22:00:37 +05:30
curl --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 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
2016-09-13 17:45:13 +05:30
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" --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
```