{"meta":{"title":"Закрытие неактивных проблем","intro":"Вы можете использовать GitHub Actions, чтобы добавлять комментарии о проблемах или закрывать проблемы, которые были неактивны в течение определенного периода времени.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/tutorials","title":"Учебники"},{"href":"/ru/actions/tutorials/manage-your-work","title":"Управление работой"},{"href":"/ru/actions/tutorials/manage-your-work/close-inactive-issues","title":"Закрыть неактивные проблемы"}],"documentType":"article"},"body":"# Закрытие неактивных проблем\n\nВы можете использовать GitHub Actions, чтобы добавлять комментарии о проблемах или закрывать проблемы, которые были неактивны в течение определенного периода времени.\n\n## Введение\n\nВ этом руководстве показано, как использовать [действие `actions/stale`](https://github.com/marketplace/actions/close-stale-issues) для добавления комментариев и закрытия проблем, которые были неактивны в течение определенного периода времени. Например, если проблема была неактивна в течение 30 дней, можно оставить комментарий, чтобы побудить участников к действию. Если через 14 дней после этого никакие действия выполнены не будут, можно закрыть проблему.\n\nВ этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `actions/stale`](https://github.com/marketplace/actions/close-stale-issues). Затем вы настроите рабочий процесс в соответствии с вашими потребностями.\n\n## Создание рабочего процесса\n\n1. Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе [Создание репозитория](/ru/repositories/creating-and-managing-repositories/creating-a-new-repository).\n\n2. В репозитории создайте файл с именем `.github/workflows/YOUR_WORKFLOW.yml`, где `YOUR_WORKFLOW` — это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов на сайте GitHub см. в разделе [Создание новых файлов](/ru/repositories/working-with-files/managing-files/creating-new-files).\n\n3. Скопируйте следующее содержимое YAML в файл рабочего процесса.\n\n   ```yaml copy\n   name: Close inactive issues\n   on:\n     schedule:\n       - cron: \"30 1 * * *\"\n\n   jobs:\n     close-issues:\n       runs-on: ubuntu-latest\n       permissions:\n         issues: write\n         pull-requests: write\n       steps:\n         - uses: actions/stale@v10\n           with:\n             days-before-issue-stale: 30\n             days-before-issue-close: 14\n             stale-issue-label: \"stale\"\n             stale-issue-message: \"This issue is stale because it has been open for 30 days with no activity.\"\n             close-issue-message: \"This issue was closed because it has been inactive for 14 days since being marked as stale.\"\n             days-before-pr-stale: -1\n             days-before-pr-close: -1\n             repo-token: ${{ secrets.GITHUB_TOKEN }}\n   ```\n\n4. Настройте параметры в файле рабочего процесса.\n   * Измените значение для `on.schedule`, чтобы определить время выполнения рабочего процесса. В приведенном выше примере рабочий процесс будет выполняться каждый день в 1:30 (в формате UTC). Дополнительные сведения о запланированных рабочих процессах см. в разделе [События, инициирующие рабочие процессы](/ru/actions/using-workflows/events-that-trigger-workflows#scheduled-events).\n   * Измените значение для `days-before-issue-stale` на количество дней бездействия до того, как действие `actions/stale` применит метку к проблеме. Чтобы это действие никогда не применяло метки к проблемам, задайте значение `-1`.\n   * Измените значение для `days-before-issue-close` на количество дней бездействия до того, как действие `actions/stale` закроет проблему. Чтобы это действие никогда не закрывало проблемы, задайте значение `-1`.\n   * Измените значение для `stale-issue-label` на метку, применяемую к проблемам, которые были неактивны в течение указанного времени, указанного `days-before-issue-stale`.\n   * Измените значение `stale-issue-message` на комментарий, добавляемый к проблемам, которые помечены действием `actions/stale`.\n   * Измените значение для `close-issue-message` на комментарий, добавляемый к проблемам, которые закрыты действием `actions/stale`.\n\n5. Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе [Создание новых файлов](/ru/repositories/working-with-files/managing-files/creating-new-files).\n\n## Ожидаемые результаты\n\nВ зависимости от параметра `schedule` (например, каждый день в 1:30 (в формате UTC)) рабочий процесс будет обнаруживать проблемы, которые были неактивны в течение указанного периода времени, и будет добавлять указанный комментарий и метку. Кроме того, рабочий процесс будет закрывать все ранее помеченные проблемы, если в течение указанного периода времени не произошло никаких дополнительных действий.\n\n> \\[!NOTE]\n> Событие `schedule` может быть отложено в периоды высокой нагрузки рабочих процессов GitHub Actions. К периодам высокой загрузки относится начало каждого часа. Если загрузка достаточно высока, некоторые задания в очереди могут быть удалены. Чтобы уменьшить вероятность задержки, запланируйте выполнение рабочего процесса в другое время часа.\n\nЧтобы периодически отслеживать выполнение рабочего процесса, можно просматривать историю его выполнений. Дополнительные сведения см. в разделе [Просмотр журнала выполнения рабочего процесса](/ru/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history).\n\nВо избежание превышения предела скорости, этот рабочий процесс будет помечать и (или) закрывать только 30 проблем за раз. Это поведение можно настроить с помощью параметра `operations-per-run`. Дополнительные сведения см. в [документации по действию `actions/stale`](https://github.com/marketplace/actions/close-stale-issues).\n\n## Следующие шаги\n\n* Подробные сведения о том, что можно сделать с помощью действия `actions/stale` (например, закрывать неактивные запросы на вытягивание, игнорировать проблем с определенными метками или вехами, а также проверять проблемы только с определенными метками), см. в [документации по действию `actions/stale`](https://github.com/marketplace/actions/close-stale-issues).\n* [Поиск GitHub](https://github.com/search?q=%22uses%3A+actions%2Fstale%22\\&type=code) для примеров рабочих процессов с использованием этого действия."}