Рекомендации
Для получения информации об интеграции с 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.
-
Поддерживается подключение учетной записи Strings к нескольким организациям GitHub. Выберите, какая организация GitHub будет синхронизироваться в конфигурации интеграции. Жесткого ограничения на количество подключаемых организаций нет.
-
-
-
Классические токены
Требуется область действия repo (
public_repoпри синхронизации с общедоступным репозиторием) -
Токены с детализированными правами
Требуются следующие разрешения:
-
Содержимое: Чтение и запись
-
Запросы на слияние: Чтение и запись
-
-
Убедитесь, что настройки хранилища не требуют подписанных фиксаций.
-
-
Если в GitHub включен единый вход в систему (SSO), его также необходимо активировать для токена доступа.
-
Невозможно защитить ветвь phrase_translations.
Примечание
Из-за постоянных доработок пользовательский интерфейс может быть не совсем таким, как представлено в видео.
После того как файл конфигурации будет готов, для подключения репозитория выполните следующие действия:
-
В главном меню навигации нажмите Automations, затем Repo Syncs.
Альтернативный вариант: на странице прокрутите вниз до раздела и нажмите Configure.
Откроется страница . В списке отображаются только те проекты, к которым у просматривающего пользователя есть доступ.
-
Нажмите Add Sync/GitHub.
Откроется окно настроек .
-
Выберите проект из выпадающего списка.
-
Выберите метод аутентификации:
-
Приложение GitHub (рекомендуется)
Если приложение GitHub еще не установлено, нажмите Authenticate. Аутентификация выполняется один раз и может быть использована повторно для синхронизации нескольких репозиториев.
Если приложение GitHub уже установлено, нажмите Manage installation, чтобы завершить установку приложения для целевой организации или учетной записи. Доступ к репозиторию управляется на уровне организации или учетной записи и не привязан к отдельному пользователю GitHub.
-
Укажите личный с областью действия API.
При использовании личного токена доступа доступ к репозиторию зависит от пользователя GitHub, создавшего этот токен.
-
Укажите для собственного сервера GitHub и личный с областью действия API.
Если целевой репозиторий требует подтвержденных (подписанных) коммитов, следует использовать метод аутентификации через приложение GitHub. Коммиты, отправленные с использованием личного токена доступа, не подписываются, поэтому синхронизация завершается со следующей ошибкой: «Репозиторий требует подтвержденных (подписанных) коммитов».
-
-
Если используется приложение GitHub, выберите из выпадающего списка. Список репозиториев загружается на основе этого выбора.
-
Выберите из выпадающего списка.
-
Выберите из выпадающего списка для импорта (push) и экспорта (pull). Обычно это ветка master.
-
При необходимости укажите имя ветки для запроса на слияние. Если оставить поле пустым, будет создана ветка со значением по умолчанию .
-
При необходимости укажите пользовательский для запроса на слияние, длиной до 72 символов.
Если оставить поле пустым, сохранится сообщение по умолчанию: Updated translations from Phrase. После настройки пользовательский заголовок заменяет сообщение коммита и заголовок запроса на слияние при каждом экспорте.
-
Нажмите Validate Configuration, чтобы убедиться в правильности настроек аутентификации и файла конфигурации.
-
При необходимости выберите параметр , чтобы определить, когда новые или обновленные файлы будут автоматически импортироваться в проект.
-
Нажмите «Сохранить».
Проект теперь подключен к выбранному репозиторию GitHub и добавлен в список.
-
(Необязательно) Нажмите pencil icon, чтобы переименовать интеграцию.
Убедитесь, что команды push правильно настроены в файле .phrase.yml configuration. Параметры push такие же, как для конечной точки API uploads.
Для импорта файлов:
-
На странице выберите проект и нажмите Import
.
Языковые файлы (определенные как исходные записи push в файле конфигурации) импортируются в проект.
Должна присутствовать локаль по умолчанию.
Примечание
В случае возникновения проблем при импорте используйте клиент CLI для локального тестирования файла конфигурации
.phrase.ymlи проверки наличия сообщений об ошибках.При необходимости свяжитесь со службой технической поддержки Phrase и приложите файл конфигурации
.phrase.ymlк запросу в поддержку.
Убедитесь, что команды pull правильно настроены в файле .phrase.yml конфигурации. Параметры pull (например, параметр include_empty_translations) такие же, как и для конечной точки API locales download.
Чтобы экспортировать файлы:
-
На странице выберите проект и нажмите Экспорт
.
Отображается окно .
-
Укажите целевую ветку в поле .
Самые последние файлы в репозитории будут экспортированы в виде нового запроса на включение (pull request) в нужную ветку.
-
После экспорта файлов запрос на включение можно объединить или закрыть в репозитории, а ветку — удалить.
Примечание
В случае возникновения проблем при экспорте используйте клиент CLI для локального тестирования файла конфигурации .phrase.yml и проверки наличия сообщений об ошибках.
При необходимости свяжитесь со службой технической поддержки Phrase и приложите файл конфигурации .phrase.yml к запросу в поддержку.
История
Синхронизация репозиториев хранит историю последних импортов и экспортов для каждого проекта Phrase Strings.
Чтобы просмотреть историю: