Here's what we do just after we've installed/started SCM manager:
scm_creds = Chef::EncryptedDataBagItem.load("secrets", "scm_manager")
scmadmin_password = scm_creds["scmadmin_pasword"]
http_request "PUT /users/scmadmin" do
action :put
url "#{node["scm_manager"]["uri"]}/api/rest/users/scmadmin"
headers({"Authorization" => "Basic #{Base64.encode64("scmadmin:scmadmin")}"})
message({ :admin => true,
:displayName => "SCM Administrator",
:mail => "root@localhost",
:name => "scmadmin",
:password => scmadmin_password,
:type => "xml" })
not_if do
begin
open("#{node["scm_manager"]["uri"]}/api/rest/users/scmadmin",
:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE,
"Authorization" => "Basic
#{Base64.encode64("scmadmin:#{scmadmin_password}")}").status[0].to_i
== 200
rescue OpenURI::HTTPError
nil
end
end
end
--
Alex Kiernan