Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Введение
В этом руководстве показано, как использовать actions/github-script
действие вместе с условным для удаления метки из проблем и запросов на вытягивание, которые добавляются в определенный столбец в доска проекта. Например, можно удалять метку needs review
при перемещении карточки проекта в столбец Done
.
В этом руководстве вы сначала создадите файл рабочего процесса, использующий действие actions/github-script
. Затем вы настроите рабочий процесс в соответствии с вашими потребностями.
Создание рабочего процесса
-
Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе Создание репозитория.
-
Выберите доска проекта, который принадлежит репозиторию. Этот рабочий процесс нельзя использовать с проектами, принадлежащими пользователям или организациям. Можно использовать существующий доска проекта или создать новый доска проекта. Дополнительные сведения о создании проекта см. в разделе Создание компонента "project board".
-
В репозитории создайте файл с именем
.github/workflows/YOUR_WORKFLOW.yml
, гдеYOUR_WORKFLOW
— это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов на GitHub см. в разделе Создание новых файлов. -
Скопируйте следующее содержимое YAML в файл рабочего процесса.
YAML name: Remove a label on: project_card: types: - moved jobs: remove_label: if: github.event.project_card.column_id == '12345678' runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/github-script@v6 with: script: | // this gets the number at the end of the content URL, which should be the issue/PR number const issue_num = context.payload.project_card.content_url.split('/').pop() github.rest.issues.removeLabel({ issue_number: issue_num, owner: context.repo.owner, repo: context.repo.repo, name: ["needs review"] })
-
Настройте параметры в файле рабочего процесса.
-
В
github.event.project_card.column_id == '12345678'
замените12345678
на идентификатор столбца, в котором нужно удалять метки из проблем и запросов на вытягивание, перемещаемых в этот столбец.Чтобы найти идентификатор столбца, перейдите к доска проекта. Рядом с заголовком столбца щелкните и щелкните Копировать ссылку на столбец. Идентификатор столбца — это номер в конце скопированной ссылки. Например,
24687531
— это идентификатор столбца дляhttps://github.com/octocat/octo-repo/projects/1#column-24687531
.Если вы хотите выполнять действия сразу с несколькими столбцами, перечислите условия через
||
. Например, условиеif github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'
будет выполняться при каждом добавлении карточки проекта в столбец12345678
или в столбец87654321
. Столбцы могут находиться на разных досках проектов. -
Измените значение в
name
github.rest.issues.removeLabel()
функции на имя метки, которую нужно удалить из проблем или запросов на вытягивание, которые перемещаются в указанные столбцы. Дополнительные сведения о метках см. в разделе Управление метками.
-
-
Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе Создание новых файлов.
Тестирование рабочего процесса
Каждый раз, когда проект карта в доска проекта в репозитории перемещается, этот рабочий процесс будет выполняться. Если карта является проблемой или запросом на вытягивание и перемещается в указанный столбец, рабочий процесс удалит указанную метку из проблемы или запроса на вытягивание. Карточки, представляющие собой примечания, останутся без изменений.
Протестируйте рабочий процесс, переместив проблему в доска проекта в целевой столбец.
- Откройте проблему в репозитории. Дополнительные сведения см. в разделе Создание проблемы.
- Пометка проблемы меткой, которую требуется удалить рабочим процессом. Дополнительные сведения см. в разделе Управление метками.
- Добавьте проблему в столбец доска проекта, указанный в файле рабочего процесса. Дополнительные сведения см. в разделе Добавление проблем и запросов на вытягивание в project board.
- Чтобы увидеть выполнение рабочего процесса, который запускается при добавлении проблемы в проект, просмотрите журнал выполнений рабочего процесса. Дополнительные сведения см. в разделе Просмотр истории выполнения рабочего процесса.
- После завершения рабочего процесса у проблемы, добавленной в столбец проекта, должна быть удалена указанная метка.
Дальнейшие действия
- Дополнительные сведения о дополнительных действиях, которые можно выполнить с
actions/github-script
помощью действия, см. в документации поactions/github-script
действию. - Выполните поиск в GitHub, чтобы найти примеры рабочих процессов, использующих это действие.