LoginSignup
3

More than 3 years have passed since last update.

Alteryx DesignerでRedmineにユーザーを一括登録

Last updated at Posted at 2020-08-11

Redmineのテスト環境にユーザーを一括登録する際、Alteryx Designerではまりました。解決策をメモしておきます。

環境は以下の通りです。

  • Alteryx Designer:2020.2.3
  • Redmine:4.1.1.stable

Alteryxワークフロー

このワークフローの目的は、Redmine本番環境の特定のプロジェクトのメンバーをテスト環境に登録することです。

  1. Redmine本番環境の全ユーザーのデータをJSONで取得
  2. Redmine本番環境の特定のプロジェクトのメンバーをJSONで取得
  3. これらを結合して特定のプロジェクトに属するメンバーのJSONデータを作成(login, firstname, lastname, mailフィールドのみ)
  4. Redmineテスト環境に上記を登録

以下のスクリーンショットは4の部分です。

REST-API_workflow.png

Alteryxダウンロードツールの設定

「ペイロード」タブでは、フィールドからJSONデータを取得するよう設定します。
payload.png

「ヘッダー」タブでは、AuthorizationとContent-Typeの2つのHTTPリクエストヘッダーを指定します。
header.png

  • Authorizationヘッダの値として「Basic credential」を指定

credentialは、アカウントとパスワードをコロンで連結した文字列をBASE64でエンコードしたものです。(そのためスクリーンショットではモザイクをかけています。)
BASE64エンコードは、Alteryxの「Base64エンコーダー」ツールを使って実行できます。

「接続」タブでログイン情報を指定した場合、HTTPレスポンスが401 Unauthorizedとなってワークフローが停止してしまいます。

  • Content-Typeには「application/json」を指定

このMIMEタイプを指定しないとエラーになります。

(2020/08/12追記)
APIキーを利用した場合には、Authorizationヘッダの代わりにX-Redmine-API-Keyヘッダを使うこともできます。

おわりに

分かってしまえばなんということはないのですが、今回は認証とコンテントタイプでだいぶ時間を浪費してしまいました。何かの参考になりましたら幸いです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3