InfoGrab Docs

초대 API

요약

이 API를 사용하여 초대를 관리하고 그룹 또는 프로젝트에 사용자를 추가합니다. 새 멤버를 추가합니다. 모든 이메일이 성공적으로 전송된 경우: 이메일 전송 중 오류가 발생한 경우: 청구 불가능한 승격 관리를 활성화하려면, 먼저 enable_member_promotion_management 애플리케이션 설정을 활성화해야 합니다.

이 API를 사용하여 초대를 관리하고 그룹 또는 프로젝트에 사용자를 추가합니다.

그룹 또는 프로젝트에 멤버 추가#

새 멤버를 추가합니다. 사용자 ID를 지정하거나 이메일로 사용자를 초대할 수 있습니다.

필수 요건:

POST /groups/:id/invitations
POST /projects/:id/invitations
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로
email 문자열 예 (user_id가 제공되지 않은 경우) 새 멤버의 이메일 또는 쉼표로 구분된 여러 이메일.
user_id 정수 또는 문자열 예 (email이 제공되지 않은 경우) 새 멤버의 ID 또는 쉼표로 구분된 여러 ID.
access_level 정수 유효한 액세스 레벨. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 또는 50 (Owner). 기본값: 30.
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"
             }
}

청구 불가능한 승격 관리를 활성화하려면, 먼저 enable_member_promotion_management 애플리케이션 설정을 활성화해야 합니다.

응답 예시:

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

그룹 또는 프로젝트에 대한 모든 보류 중인 초대 목록 조회#

인증된 사용자가 볼 수 있는 초대된 그룹 또는 프로젝트 멤버 목록을 가져옵니다. 직접 멤버에 대한 초대만 반환하며, 상속된 조상 그룹을 통한 초대는 반환하지 않습니다.

이 기능은 페이지네이션 파라미터 pageper_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 정수 아니요 유효한 액세스 레벨. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 또는 50 (Owner). 기본값: 30.
expires_at 문자열 아니요 ISO 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 not found를 반환합니다.
  • 요청이 유효하지만 초대를 삭제할 수 없는 경우 409를 반환합니다.

초대 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 초대를 관리하고 그룹 또는 프로젝트에 사용자를 추가합니다. 새 멤버를 추가합니다. 모든 이메일이 성공적으로 전송된 경우: 이메일 전송 중 오류가 발생한 경우: 청구 불가능한 승격 관리를 활성화하려면, 먼저 enable_member_promotion_management 애플리케이션 설정을 활성화해야 합니다.

이 API를 사용하여 초대를 관리하고 그룹 또는 프로젝트에 사용자를 추가합니다.

그룹 또는 프로젝트에 멤버 추가#

새 멤버를 추가합니다. 사용자 ID를 지정하거나 이메일로 사용자를 초대할 수 있습니다.

필수 요건:

POST /groups/:id/invitations
POST /projects/:id/invitations
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로
email 문자열 예 (user_id가 제공되지 않은 경우) 새 멤버의 이메일 또는 쉼표로 구분된 여러 이메일.
user_id 정수 또는 문자열 예 (email이 제공되지 않은 경우) 새 멤버의 ID 또는 쉼표로 구분된 여러 ID.
access_level 정수 유효한 액세스 레벨. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 또는 50 (Owner). 기본값: 30.
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"
             }
}

청구 불가능한 승격 관리를 활성화하려면, 먼저 enable_member_promotion_management 애플리케이션 설정을 활성화해야 합니다.

응답 예시:

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

그룹 또는 프로젝트에 대한 모든 보류 중인 초대 목록 조회#

인증된 사용자가 볼 수 있는 초대된 그룹 또는 프로젝트 멤버 목록을 가져옵니다. 직접 멤버에 대한 초대만 반환하며, 상속된 조상 그룹을 통한 초대는 반환하지 않습니다.

이 기능은 페이지네이션 파라미터 pageper_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 정수 아니요 유효한 액세스 레벨. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 또는 50 (Owner). 기본값: 30.
expires_at 문자열 아니요 ISO 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 not found를 반환합니다.
  • 요청이 유효하지만 초대를 삭제할 수 없는 경우 409를 반환합니다.