2018/08/01
りっくまのお便り投稿シリーズJira編10: REST APIでユーザーやグループを管理するっくま!南澤 華代Hanayo Minamisawa
こんにちは。リックソフト ヘルプデスク担当の南澤です。
今回も リックソフトブログで一番人気?!のりっくまのお便り投稿シリーズ をお送りします。
このシリーズは、技術知識があまりなく、Jira初心者の新米プロジェクトリーダーのりっくまくんが、弊社ヘルプデスクへ悩みを相談しながら成長していく物語です。
今回は、前回好評だったりっくまのお便り投稿シリーズJira編9: REST APIでJira課題を更新・コメント追加するっくま!の続きで、またまたREST APIを使ってJiraを利用する例を紹介したいと思います。
こんにちは! 僕はりっくまです。
REST APIを使って、Jira課題を作ったり更新したりといった課題操作の活用方法については少しわかってきたクマ~
今度はシステム開発担当からユーザー管理もREST APIで実現できないか相談が来たクマ。 例えば、グループのメンバーを把握して、グループへ新しいユーザーを追加したいクマ。できる場合は教えてほしいクマ!
まず、REST APIとは何?となった方はりっくまのお便り投稿シリーズ8: REST APIでJira課題を検索・作成するっくま!に説明を記載していますので、ご確認ください。また、REST APIを使ってJira課題を検索、作成する方法も紹介しています。
今回は、REST APIを使って、以下ができるかの質問ですが、すべて可能です。
今回も、以下のJiraのREST APiリファレンスや利用例 をもとに質問に回答していきます。
別システムからJiraに登録されているグループメンバー情報を把握したい場合に、REST APIで取得出来ると便利ですよね。
JIRA Server platform REST API referenceを見ると、Get users from group (/rest/api/2/group/member) のGETメソッドでできそうなことがわかります。
ためしに 「jira-bears」グループに所属するメンバーを取得してみましょう。
今回の例では、パラメータは以下を設定します。
パラメータ | 型 | 設定する値 | 説明 |
---|---|---|---|
groupname | string | jira-bears | メンバーを取得したいグループを設定する |
以上を踏まえると、グループメンバーを取得できるURLは以下になります。(JiraのベースURLは、http://192.168.56.103:8080/jiraとします。)
http://192.168.56.103:8080/jira/rest/api/2/group/member?groupname=jira-bears
ためしにこのURLをブラウザ(Firefox)で参照してみましょう。そうすると以下のように 「jira-bears」グループに所属しているメンバー 2名 (めがねっくま、りっくま) を取得できました。
Jiraのユーザー管理画面より「jira-bears」グループのメンバーを検索すると、ユーザー2名 (めがねっくま、りっくま) の所属が確認でき、同じ結果になっていることがわかりますね。
これを、Linux の curl コマンドでこのGETメソッドを実行する場合は下記の通りとなります。
(以下の例の admin:password は Jira にログイン可能で課題の閲覧権限を持つ ユーザー名(admin)とパスワード(password)です。JiraのベースURLは、http://192.168.56.103:8080/jiraとしています。)
# curl \ -D- \ -u admin:password \ -X GET \ -H "Content-Type: application/json" \ http://192.168.56.103:8080/jira/rest/api/2/group/member?groupname=jira-bears
今度は、新しいユーザーを追加してみましょう。
リファレンスを見ると Create User (/rest/api/2/user) のPOSTメソッドでできそうなことがわかります。(ただしステータスが「EXPERIMENTAL」とあるので、今後廃止されるリスクがあります)
以下のCurlコマンドで 新しいユーザー「ただの くま」さんを追加してみます。
# curl -D- -X POST http://192.168.56.103:8080/jira/rest/api/2/user -H "Content-type: application/json" -u admin:password -d' { "name": "tadakuma", "password": "abracadabra", "emailAddress": "tadakuma@dummy.com", "displayName": "ただの くま", "applicationKeys": [ "jira-software" ] }'
Jiraのユーザー管理画面を見ると、「ただのくま」さんが追加されたことがわかります。
今度は、「ただのくま」さんを「jira-bears」グループへ追加してみましょう。
リファレンスを見ると、Add User to Group(/rest/api/2/group/user)のPOSTメソッドでできるようです。
以下のCurlコマンドで「ただの くま」さんを「jira-bears」グループへ追加してみます。
# curl -D- -X POST http://192.168.56.103:8080/jira/rest/api/2/group/user?groupname=jira-bears -H "Content-type: application/json" -u admin:password -d' { "name": "tadakuma" }'
Jiraのユーザー管理画面より「jira-bears」グループのメンバーを検索すると、ユーザー3名 (めがねっくま、りっくま、ただのくま) の所属が確認できます。
ひとつめに紹介したGet users from group (/rest/api/2/group/member) のGETメソッドで追加確認をするのもいいですね。
今回も難しい質問でしたが、りっくまさん、このような回答でいかがでしょうか?
他にもわからないことがあったらどんどん質問してねっクマ♪
ご不明な点がございましたら、お気軽に弊社にお問合せください。
アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。
リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。
ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。
リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。
ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。
日本随一の生産性向上にも効果のある研修サービスです。
リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。