BLOGTIMES
2021/06/01

Subversion Edge にまとめてユーザー登録する

  svn  restful 
このエントリーをはてなブックマークに追加

先日構築したSubversion Edgeにユーザーをまとめて登録してみたのでメモ。

DBを直接書き換えようかと思ったのですが、調べて見たら REST API がついていたので、ユーザー情報を tsv に書いておいて、それを元に curl を使って API を叩く簡単なスクリプトを作ってみました。

svnadge_adduser.sh

#!/bin/bash ADMIN_USER=admin ADMIN_PASS=adminpass SVNEDGE_HOST=localhost USER_FILE=user_list.txt cat "$USER_FILE" | while read LINE ; do IFS="$(echo -e '\t' )" LINE=($LINE) unset IFS USER_NAME="${LINE[0]}" USER_DISPLAY="${LINE[1]}" USER_PASS="${LINE[2]}" USER_MAIL="${LINE[3]}" # CREATE USER USER_CREATE=$( \ curl -X POST --silent \ -H "Accept: application/json" \ -H "Content-type: application/json" \ -u "${ADMIN_USER}:${ADMIN_PASS}" \ -d "{ \"username\":\"${USER_NAME}\", \"password\":\"${USER_PASS}\", \"fullName\":\"${USER_DISPLAY}\", \"emailAddress\":\"${USER_MAIL}\" }" \ "http://${SVNEDGE_HOST}:3343/csvn/api/1/user?format=json" ) # GRANT PERMISSION USER_ID=$(echo $USER_CREATE | jq '.userId') curl -X PUT --silent \ -H "Accept: application/json" \ -H "Content-type: application/json" \ -u "${ADMIN_USER}:${ADMIN_PASS}" \ -d "{ \"userId\":\"${USER_ID}\", \"action\":\"add\", }" \ "http://${SVNEDGE_HOST}:3343/csvn/api/1/role/2?format=json" done

user_list.txt

hoge pass hoge fuga hoge@example.com

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12509
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン