Интеграции

GitHub (Strings)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Рекомендации

Для получения информации об интеграции с GitHub в Phrase TMS обратитесь к GitHub (TMS).

Phrase Strings интегрируется с репозиториями GitHub для синхронизации файлов локализации между Phrase и GitHub.

По умолчанию репозитории подключаются с помощью GitHub OAuth App. Также поддерживаются персональные токены доступа, которые в основном предназначены для локально размещенных экземпляров или сред, где установка OAuth App невозможна.

Предварительные требования

  • Файл .phrase.yml конфигурации должен присутствовать в корне отслеживаемой ветки. Файл определяет, какие файлы импортировать (отправка) или экспортировать (извлечение) из хранилища.

  • Для хранилища необходимо получить доступ для чтения и записи.

  • Неверно заданные файлы конфигурации могут вызвать ошибки. Убедитесь, что файл содержит хотя бы одну цель для отправки и одну для извлечения, правильные форматы файлов и правильную настройку параметра Update_translations.

  • GitHub OAuth App:

    • GitHub OAuth App должен быть установлен в организации или учетной записи GitHub, которой принадлежит репозиторий.

    • Репозиторий должен быть включен в установку OAuth App.

    • Для целевой организации или учетной записи требуются разрешения на установку или авторизацию приложений GitHub.

    • Поддерживается подключение учетной записи Strings к нескольким организациям GitHub. Выберите, какая организация GitHub будет синхронизироваться в конфигурации интеграции. Жесткого ограничения на количество подключаемых организаций нет.

  • Токен доступа GitHub:

    • Классические токены

      Требуется область действия repo (public_repo при синхронизации с общедоступным репозиторием)

    • Токены с детализированными правами

      Требуются следующие разрешения:

      • Содержимое: Чтение и запись

      • Запросы на слияние: Чтение и запись

    • Убедитесь, что настройки хранилища не требуют подписанных фиксаций.

  • Если в GitHub включен единый вход в систему (SSO), его также необходимо активировать для токена доступа.

  • Невозможно защитить ветвь phrase_translations.

Примечание

Из-за постоянных доработок пользовательский интерфейс может быть не совсем таким, как представлено в видео.

Подключить репозитории

После того как файл конфигурации будет готов, для подключения репозитория выполните следующие действия:

  1. В главном меню навигации нажмите Automations, затем Repo Syncs.

    Альтернативный вариант: на странице Integrations прокрутите вниз до раздела Repo Sync и нажмите Configure.

    Откроется страница Repo Syncs. В списке Repo Syncs отображаются только те проекты, к которым у просматривающего пользователя есть доступ.

  2. Нажмите Add Sync/GitHub.

    Откроется окно настроек GitHub sync.

  3. Выберите проект из выпадающего списка.

  4. Выберите метод аутентификации:

    • Приложение GitHub (рекомендуется)

      Если приложение GitHub еще не установлено, нажмите Authenticate. Аутентификация выполняется один раз и может быть использована повторно для синхронизации нескольких репозиториев.

      Если приложение GitHub уже установлено, нажмите Manage installation, чтобы завершить установку приложения для целевой организации или учетной записи. Доступ к репозиторию управляется на уровне организации или учетной записи и не привязан к отдельному пользователю GitHub.

    • Личный токен доступа

      Укажите личный Repo access token с областью действия API.

      При использовании личного токена доступа доступ к репозиторию зависит от пользователя GitHub, создавшего этот токен.

    • Самостоятельная точка

      Укажите API endpoint для собственного сервера GitHub и личный Repo access token с областью действия API.

    Если целевой репозиторий требует подтвержденных (подписанных) коммитов, следует использовать метод аутентификации через приложение GitHub. Коммиты, отправленные с использованием личного токена доступа, не подписываются, поэтому синхронизация завершается со следующей ошибкой: «Репозиторий требует подтвержденных (подписанных) коммитов».

  5. Если используется приложение GitHub, выберите Connected GitHub organization из выпадающего списка. Список репозиториев загружается на основе этого выбора.

  6. Выберите GitHub repository из выпадающего списка.

  7. Выберите Repository branch из выпадающего списка для импорта (push) и экспорта (pull). Обычно это ветка master.

  8. При необходимости укажите имя ветки для запроса на слияние. Если оставить поле пустым, будет создана ветка со значением по умолчанию phrase-translations.

  9. При необходимости укажите пользовательский Commit title для запроса на слияние, длиной до 72 символов.

    Если оставить поле пустым, сохранится сообщение по умолчанию: Updated translations from Phrase. После настройки пользовательский заголовок заменяет сообщение коммита и заголовок запроса на слияние при каждом экспорте.

  10. Нажмите Validate Configuration, чтобы убедиться в правильности настроек аутентификации и файла конфигурации.

  11. При необходимости выберите параметр Import behavior, чтобы определить, когда новые или обновленные файлы будут автоматически импортироваться в проект.

  12. Нажмите «Сохранить».

    Проект теперь подключен к выбранному репозиторию GitHub и добавлен в список.

  13. (Необязательно) Нажмите pencil icon, чтобы переименовать интеграцию.

Импорт файлов

Убедитесь, что команды push правильно настроены в файле .phrase.yml configuration. Параметры push такие же, как для конечной точки API uploads.

Для импорта файлов:

  • На странице Repo Syncs выберите проект и нажмите Import Sync Import.

    Языковые файлы (определенные как исходные записи push в файле конфигурации) импортируются в проект.

    Должна присутствовать локаль по умолчанию.

    Примечание

    В случае возникновения проблем при импорте используйте клиент CLI для локального тестирования файла конфигурации .phrase.yml и проверки наличия сообщений об ошибках.

    При необходимости свяжитесь со службой технической поддержки Phrase и приложите файл конфигурации .phrase.yml к запросу в поддержку.

Экспорт файлов

Убедитесь, что команды pull правильно настроены в файле .phrase.yml конфигурации. Параметры pull (например, параметр include_empty_translations) такие же, как и для конечной точки API locales download.

Чтобы экспортировать файлы:

  1. На странице Repo Syncs выберите проект и нажмите Экспорт Экспорт синхронизации.

    Отображается окно Экспорт.

  2. Укажите целевую ветку в поле Ветка PR.

    Самые последние файлы в репозитории будут экспортированы в виде нового запроса на включение (pull request) в нужную ветку.

  3. После экспорта файлов запрос на включение можно объединить или закрыть в репозитории, а ветку — удалить.

Примечание

В случае возникновения проблем при экспорте используйте клиент CLI для локального тестирования файла конфигурации .phrase.yml и проверки наличия сообщений об ошибках.

При необходимости свяжитесь со службой технической поддержки Phrase и приложите файл конфигурации .phrase.yml к запросу в поддержку.

История

Синхронизация репозиториев хранит историю последних импортов и экспортов для каждого проекта Phrase Strings.

Чтобы просмотреть историю:

  • На странице Repo Syncs выберите проект и нажмите История История синхронизации.

    Представлена история импорта и экспорта для проекта. Записи об экспорте в истории включают ссылку на соответствующий запрос на слияние.

Была ли эта статья полезной?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.