Implement API endpoint to get the SSH public key from pull mirror configurations

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Proposal

Expose an endpoint for Public Keys in Mirror configuration.

Original blurb written to support with motivation:

Hi!
Working on automating the setup of import+pull mirroring of over 200+ repos from Bitbucket to GitLab.
I would prefer to use SSH auth and not password based authentication, setting up the mirrors seems easy enough, but I can’t find any endpoint where I can access the public key that has been generated during the setup? Going to need all the different keys made so that I can authorize them in Bitbucket.
When checking the settings, there is no API call there either, the ssh public key is already preloaded into the page DOM.

https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/views/projects/mirrors/_table_pull_row.html.haml#L20

Workaround:
Can be extracted via the rails console

project_ids = [ 1, 2, 3 ]
project_ids.each do |pid|
  proj = Project.find_by(id:pid)
  puts "#{proj.name}: #{proj.import_data.ssh_public_key}"
end
Edited Aug 28, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading