Отправить и принять приглашение в организацию SourceCraft

Отправить приглашение

Важно

Для отправки приглашения в организацию у вас должна быть роль не ниже Администратор организации.

Вы можете пригласить пользователя с аккаунтом на Яндексе в организацию SourceCraft.

Совет

Для авторизации корпоративных аккаунтов в SourceCraft с помощью системы единого входа (Single Sign-On, SSO) вы можете использовать SAML-совместимые федерации удостоверений Yandex Cloud.

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой перейдите в раздел Организации.

  3. Выберите организацию, в которую хотите пригласить пользователя.

  4. На странице организации в разделе Люди перейдите в секцию Участники и роли.

  5. В правом верхнем углу нажмите Новый участник.

  6. В открывшемся окне выберите принцип, по которому пользователю будет отправлено приглашение в организацию:

    1. В поле Приглашаемые пользователи начните вводить публичное имя, например Иванов Иван, или никнейм, например ivanov-2000, и выберите один из предложенных вариантов. Вы можете добавить несколько пользователей.
    2. (Опционально) Назначьте роль для приглашаемых пользователей:
      1. Нажмите Добавить роль.
      2. В выпадающем списке Роль выберите необходимую роль.
    3. В выпадающем списке Срок действия инвайта выберите срок, в течение которого пользователи должны принять приглашение в организацию.
    4. Нажмите Пригласить в организацию.

    Пользователю придет письмо с приглашением вступить в вашу организацию. Он может это сделать, перейдя по ссылке в письме.

    Примечание

    У зарегистрированных пользователей приглашение также будет отображаться на главной странице SourceCraft.

    1. В поле Приглашаемые люди введите адрес электронной почты пользователя и нажмите Добавить email. Вы можете добавить несколько адресов.
    2. (Опционально) Назначьте роль для приглашаемых пользователей:
      1. Нажмите Добавить роль
      2. В выпадающем списке Роль выберите необходимую роль.
    3. В выпадающем списке Срок действия инвайта выберите срок, в течение которого пользователи должны принять приглашение в организацию.
    4. Нажмите Пригласить в организацию.

    Пользователю придет письмо с приглашением вступить в вашу организацию. Он может это сделать, перейдя по ссылке в письме.

    Примечание

    У зарегистрированных пользователей приглашение также будет отображаться на главной странице SourceCraft.

    Вы можете сгенерировать уникальные ссылки-приглашения для произвольных пользователей. Каждая ссылка имеет свой срок действия и может быть использована только один раз.

    Этот способ полезен, если вам неизвестны логины или электронные почты пользователей, а также может быть использован для автоматизации назначения ролей и предоставления доступа к репозиторию.

    Перейдя по ссылке, пользователь может принять ваше приглашение. После этого он получит доступ к вашей организации и репозиториям в ней.

    Чтобы сгенерировать ссылки-приглашения:

    1. (Опционально) Назначьте роль для приглашаемого пользователя:

      1. Нажмите Добавить роль
      2. В выпадающем списке Роль выберите необходимую роль.
    2. В выпадающем списке Срок действия инвайта выберите срок, в течение которого будет действовать ссылка.

    3. В поле Количество укажите количество уникальных ссылок-приглашений.

    4. В поле Префикс укажите префикс для ссылок-приглашений, например team-sourcecraft.

    5. Нажмите Пригласить в организацию.

    6. В открывшемся окне скопируйте ссылки в буфер обмена или скачайте в виде файла и закройте окно.

      Важно

      После закрытия окна сгенерированные ссылки будут недоступны. Но вы можете создать новые.

    7. Отправьте ссылки-приглашения пользователям.

    Вы можете сгенерировать одну мульти-ссылку, по которой к организации сможет присоединиться один или несколько пользователей. Создать мульти-ссылку можно как для заранее известных пользователей, так и для произвольных.

    Мульти-ссылка работает через сервисный аккаунт Yandex Identity and Access Management с ролью organization-manager.passportUserAdmin. Вы можете выбрать существующий сервисный аккаунт или создать новый.

    Чтобы сгенерировать мульти-ссылку:

    1. В выпадающем списке Срок действия инвайта выберите срок, в течение которого будет действовать мульти-ссылка.

    2. (Опционально) В поле Лимит пользователей укажите максимальное число пользователей, которые смогут принять мульти-ссылку. Если поле не заполнено, число пользователей не ограничено.

    3. (Опционально) В поле Уникальное имя ссылки укажите уникальное имя мульти-ссылки. Если поле не заполнено, имя будет сгенерировано автоматически.

    4. (Опционально) Назначьте роль для приглашаемых пользователей:

      1. Нажмите Добавить роль.
      2. В выпадающем списке Роль выберите необходимую роль.
    5. В блоке Могут принять выберите ограничение для приглашения:

      • Все — приглашение может принять любой пользователь.
      • Некоторые — приглашение могут принять только определенные пользователи:
        • (Опционально) Пользователи SourceCraft — начните вводить публичное имя, например Иванов Иван, или никнейм, например ivanov-2000, и выберите одного из предложенных пользователей. Вы можете добавить несколько пользователей.
        • (Опционально) Логины Яндекса — введите логин пользователя и нажмите Добавить логин. Вы можете добавить несколько пользователей.
    6. В блоке Сервисный аккаунт выберите вариант:

      • Автоматически — в Yandex Cloud автоматически будет создан новый сервисный аккаунт с ролью organization-manager.passportUserAdmin.
      • Выбрать существующий — выберите сервисный аккаунт Yandex Identity and Access Management, от имени которого будут создаваться приглашения.
    7. Нажмите Пригласить в организацию.

    8. В открывшемся окне скопируйте мульти-ссылку в буфер обмена и закройте окно.

      Важно

      После закрытия окна сгенерированная мульти-ссылка будет недоступна. Но вы можете создать новую.

    9. Отправьте мульти-ссылку пользователям.

Принять приглашение

  1. Выполните действия в зависимости от того, как вы получили приглашение:
    • Письмо от SourceCraft: откройте его и нажмите Открыть приглашение.
    • Ссылка: перейдите по ней.
  2. Чтобы посмотреть информацию об организации, в которую вы приглашены, на открывшейся странице нажмите Посмотреть организацию.
  3. Чтобы принять приглашение, нажмите Принять приглашение.
  1. Выполните действия в зависимости от того, как вы получили приглашение:

    • Письмо от SourceCraft: откройте его и нажмите Принять приглашение.
    • Ссылка: перейдите по ней.
  2. На открывшейся странице нажмите Принять.

  3. Войдите с помощью Яндекс ID.

    Если у вас еще нет Яндекс ID, зарегистрируйтесь.

    Если для входа на Яндекс вы используете профиль в социальной сети, заведите логин и пароль.

  4. Подтвердите выбор аккаунта для добавления в организацию.

  5. Завершите регистрацию.

Работа с приглашениями с помощью API

Для автоматизации процесса работы с приглашениями доступен REST API SourceCraft.

Например, вы можете встроить процесс выдачи приглашений на сайт или в свою систему управления доступом.

Подробнее на странице Organization | Invites.

Важно

Аутентификация в API SourceCraft для работы с приглашениями возможна только с помощью IAM-токена Yandex Identity and Access Management. Подробнее на странице Получение IAM-токена.

Создать приглашение в организацию с помощью API

export IAM_TOKEN=<IAM-токен>
curl \
  --request POST \
  --url "https://api.sourcecraft.tech/orgs/<слаг_организации>/invites" \
  --header "Authorization: Bearer $IAM_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "invitees": [
      {
        "email": "<почта_пользователя>"
      },
      {
        "slug": "<слаг_пользователя_1>"
      },
      {
        "alias": "<текстовая_запись_для_идентификации>"
      },
      {
        "slug": "<слаг_пользователя_2>"
      }
    ],
    "ttl_in_days": 1
  }' | jq

Где:

  • invitees — список приглашаемых пользователей и принцип, по которому пользователю будет отправлено приглашение:
    • для приглашения конкретных пользователей используйте один из параметров:
      • email — почта пользователя. Можно приглашать, как зарегистрированных в SourceCraft, так и новых пользователей.
      • slug — слаг пользователя в SourceCraft. Только для зарегистрированных пользователей SourceCraft.
    • для приглашения произвольного пользователя используйте параметр alias — приглашение по одноразовой ссылке. Содержит текстовую запись для идентификации приглашения, например my-first-invite.
  • ttl_in_days — срок действия приглашения в днях.

Результат:

{
  "operation_id": "cq9gajzloslj********",
  "status_url": "/operations/create-invites/id:cq9gajzloslj********",
  "status": "scheduled",
  "created_at": "2026-01-23T07:42:03.062925Z",
  "modified_at": "2026-01-23T07:42:03.062925Z"
}

Операция выполняется асинхронно. Сохраните ее идентификатор (operation_id), чтобы получить информацию о статусе выполнения.

Подробнее на странице Organization | Invites.

Получить информацию об операции создания приглашения с помощью API

export IAM_TOKEN=<персональный_токен>
curl \
  --request GET \
  --url "https://api.sourcecraft.tech/operations/create-invites/id:<идентификатор_операции>" \
  --header "Authorization: Bearer $IAM_TOKEN" \
  --header "Content-Type: application/json"

Результат:

{
  "operation_id": "cq9gajzloslj********",
  "status_url": "operations/create-invites/id:cq9gajzloslj********",
  "status": "success",
  "created_at": "2026-01-23T07:42:03.062925Z",
  "modified_at": "2026-01-23T07:42:09.612256Z",
  "response": {
    "invites": [
      {
        "id": "bpf65vedallc********",
        "email": "<почта_пользователя>",
        "alias": "",
        "invite_link": "",
        "status": "pending",
        "subject": {
          "type": "invitee",
          "id": "ajeth710l8gi********"
        },
        "created_at": "1970-01-01T00:00:00Z",
        "expires_at": "1970-01-01T00:00:00Z"
      },
      {
        "id": "bpf4q13jhnod********",
        "email": "",
        "alias": "",
        "invite_link": "",
        "invitee": {
          "id": "01971bf5-6751-7eea-a07f-2e29********",
          "slug": "<слаг_пользователя_1>"
        },
        "status": "pending",
        "subject": {
          "type": "invitee",
          "id": "ajehmssc34ob********"
        },
        "created_at": "1970-01-01T00:00:00Z",
        "expires_at": "1970-01-01T00:00:00Z"
      },
      {
        "id": "bpfrvnq2qd81********",
        "email": "",
        "alias": "<текстовая_запись_для_идентификации>",
        "invite_link": "https://sourcecraft.dev/me/accept-invite/9emq5q98ym4cJU********",
        "status": "pending",
        "subject": {
          "type": "invitee",
          "id": "ajebuh02o909********"
        },
        "created_at": "2026-02-05T07:34:20.736642Z",
        "expires_at": "2026-02-06T07:34:20.673905Z"
      }
    ],
    "errors": [
      {
        "invitee": {
          "email": "",
          "slug": "<слаг_пользователя_2>",
          "alias": ""
        },
        "error_code": "InviteeHasAlreadyJoined",
        "message": "Invited user is already a member"
      }
     ]
  }
}

Где:

  • status — статус приглашения.

  • invite_link — одноразовая ссылка-приглашение для произвольного пользователя. Доступна только с типом приглашения alias.

    Важно

    Ссылка-приглашение отображается только один раз. В дальнейшем получить ее будет невозможно. Но можно создать новую.

  • errors — ошибки при создании приглашения, например если пользователь уже является участником организации.

Подробнее на странице Get invitation creation operation status (By Operation ID).

Вывести список активных приглашений с помощью API

Приглашение является активным, если пользователь его еще не принял.

export IAM_TOKEN=<персональный_токен>
curl \
  --request GET \
  --url "https://api.sourcecraft.tech/orgs/<слаг_организации>/invites" \
  --header "Authorization: Bearer $IAM_TOKEN" \
  --header "Content-Type: application/json"

Результат:

{
  "invites": [
    {
      "id": "bpf65vedallc********",
      "email": "<почта_пользователя>",
      "alias": "",
      "invite_link": "",
      "status": "pending",
      "subject": {
        "type": "invitee",
        "id": "ajeth710l8gi********"
      },
      "created_at": "2026-01-23T07:42:06.938436Z",
      "expires_at": "2026-01-24T07:42:06.847107Z"
    }
  ],
  "next_page_token": ""
}

Подробнее на странице List Organization Invitations.

Полезные ссылки