正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

招待API

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このを使用して、招待を管理し、ユーザーをグループまたはプロジェクトに追加します。

有効なアクセスレベル

招待を送信するには、メールを送信するプロジェクトまたはグループへのアクセス権が必要です。有効なアクセスレベルは、Gitlab::Accessモジュールで定義されています:

  • アクセスなし(0
  • 最小アクセス(5
  • ゲスト(10
  • プランナー(15
  • レポーター(20
  • デベロッパー(30
  • メンテナー(40
  • オーナー(50

グループまたはプロジェクトにメンバーを追加する

新しいメンバーを追加します。ユーザーを指定するか、メールでユーザーを招待できます。

前提要件:

POST /groups/:id/invitations
POST /projects/:id/invitations
属性必須説明
id整数または文字列はいプロジェクトまたはグループのIDまたはURLエンコードされたパス
email文字列はい(user_idが指定されていない場合)新しいメンバーのメール、またはコンマで区切られた複数のメール。
user_id整数または文字列はい(emailが指定されていない場合)新しいメンバーのID、またはカンマで区切られた複数のID。
access_level整数はい有効なアクセスレベル。
expires_at文字列いいえYEAR-MONTH-DAY形式の日付文字列。
invite_source文字列いいえメンバー作成プロセスを開始する招待のソース。
member_role_id整数いいえ指定されたカスタムロールに新しいメンバーを割り当てます。GitLab 16.6で導入。Ultimateのみです。
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/:id/invitations" \
  --data "email=test@example.com&user_id=1&access_level=30"
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/:id/invitations" \
  --data "email=test@example.com&user_id=1&access_level=30"

レスポンス例:

すべてのメールが正常に送信された場合:

{  "status":  "success"  }

メールの送信中にエラーが発生した場合:

{
  "status": "error",
  "message": {
               "test@example.com": "Invite email has already been taken",
               "test2@example.com": "User already exists in source",
               "test_username": "Access level is not included in the list"
             }
}

Manage non-billable promotions(請求対象でないプロモーションの管理)を有効にするには、最初にenable_member_promotion_managementアプリケーション設定を有効にする必要があります。

レスポンス例:

{
  "queued_users": {
    "username_1": "Request queued for administrator approval."
  },
  "status": "success"
}

グループまたはプロジェクトの保留中のすべての招待をリストします

認証済みユーザーが表示可能なグループ・プロジェクトメンバーのリストを取得します。直接のメンバーへの招待のみを返し、祖先のグループから継承したものではありません。

この関数は、ページネーションパラメータpageおよびper_pageを受け取り、メンバーのリストを制限します。

GET /groups/:id/invitations
GET /projects/:id/invitations
属性必須説明
id整数または文字列はいプロジェクトまたはグループのIDまたはURLエンコードされたパス
page整数いいえ取得するページ。
per_page整数いいえページごとに返すメンバー招待の数
query文字列いいえ招待メールで招待されたメンバーを検索するクエリ文字列。クエリテキストは、メールアドレスと完全に一致する必要があります。空の場合、すべての招待を返します。
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/:id/invitations?query=member@example.org"
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/:id/invitations?query=member@example.org"

レスポンス例:

 [
   {
     "id": 1,
     "invite_email": "member@example.org",
     "created_at": "2020-10-22T14:13:35Z",
     "access_level": 30,
     "expires_at": "2020-11-22T14:13:35Z",
     "user_name": "Raymond Smith",
     "created_by_name": "Administrator"
   },
]

グループまたはプロジェクトへの招待を更新します

保留中の招待のアクセスレベルまたはアクセス有効期限日を更新します。

PUT /groups/:id/invitations/:email
PUT /projects/:id/invitations/:email
属性必須説明
id整数または文字列はいプロジェクトまたはグループのIDまたはURLエンコードされたパス
email文字列はい招待が以前に送信されたメールアドレス。
access_level整数いいえ有効なアクセスレベル(デフォルト:30、デベロッパーロール)。
expires_at文字列いいえ8601形式の日付文字列(YYYY-MM-DDTHH:MM:SSZ)。
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/55/invitations/email@example.org?access_level=40"
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/55/invitations/email@example.org?access_level=40"

レスポンス例:

{
  "expires_at": "2012-10-22T14:13:35Z",
  "access_level": 40,
}

グループまたはプロジェクトへの招待を削除します

メールアドレスで保留中の招待を削除します。

DELETE /groups/:id/invitations/:email
DELETE /projects/:id/invitations/:email
属性必須説明
id整数または文字列はいプロジェクトまたはグループのIDまたはURLエンコードされたパス
email文字列はい招待が以前に送信されたメールアドレス
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/55/invitations/email@example.org"
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/55/invitations/email@example.org"
  • 成功すると204が返されますが、コンテンツは返されません。
  • 招待を削除する権限がない場合は、403 forbiddenを返します。
  • 権限があり、そのメールアドレスの招待が見つからない場合は、404が見つからないことを返します。
  • リクエストは有効だが、招待を削除できなかった場合は、409を返します。