{"meta":{"title":"Использование GitHub CLI в рабочих процессах","intro":"Вы можете создать скрипт с помощью GitHub CLI в рабочих процессах GitHub Actions.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/ru/enterprise-cloud@latest/actions/how-tos","title":"Инструкции"},{"href":"/ru/enterprise-cloud@latest/actions/how-tos/write-workflows","title":"Написание рабочих процессов"},{"href":"/ru/enterprise-cloud@latest/actions/how-tos/write-workflows/choose-what-workflows-do","title":"Выбор рабочих процессов"},{"href":"/ru/enterprise-cloud@latest/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli","title":"Используйте GitHub CLI"}],"documentType":"article"},"body":"# Использование GitHub CLI в рабочих процессах\n\nВы можете создать скрипт с помощью GitHub CLI в рабочих процессах GitHub Actions.\n\n> \\[!NOTE]\n> Дополнительные сведения о GitHub CLIсм. в разделе [О GitHub CLI](/ru/enterprise-cloud@latest/github-cli/github-cli/about-github-cli).\n\nGitHub CLI предустановлен на всех средствах выполнения, размещенных на GitHub. Для каждого шага, использующего GitHub CLI, необходимо задать для переменной среды `GH_TOKEN` маркер с необходимыми областями.\n\nВы можете выполнить любую команду GitHub CLI. Например, этот рабочий процесс использует подкоманду `gh issue comment` для добавления примечания при открытии проблемы.\n\n```yaml copy\nname: Comment when opened\non:\n  issues:\n    types:\n      - opened\njobs:\n  comment:\n    runs-on: ubuntu-latest\n    steps:\n      - run: gh issue comment $ISSUE --body \"Thank you for opening this issue!\"\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          ISSUE: ${{ github.event.issue.html_url }}\n```\n\nВы также можете выполнять вызовы API с помощью GitHub CLI. Например, этот рабочий процесс сначала использует подкоманду `gh api` для запроса API GraphQL и анализа результата. Затем он сохраняет результат в переменной среды, к которой он может получить доступ на следующем шаге. На втором шаге используется подкоманда `gh issue create` для создания проблемы, содержащей сведения с первого шага.\n\n```yaml copy\nname: Report remaining open issues\non:\n  schedule:\n    # Daily at 8:20 UTC\n    - cron: '20 8 * * *'\njobs:\n  track_pr:\n    runs-on: ubuntu-latest\n    steps:\n      - run: |\n          numOpenIssues=\"$(gh api graphql -F owner=$OWNER -F name=$REPO -f query='\n            query($name: String!, $owner: String!) {\n              repository(owner: $owner, name: $name) {\n                issues(states:OPEN){\n                  totalCount\n                }\n              }\n            }\n          ' --jq '.data.repository.issues.totalCount')\"\n\n          echo 'NUM_OPEN_ISSUES='$numOpenIssues >> $GITHUB_ENV\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          OWNER: ${{ github.repository_owner }}\n          REPO: ${{ github.event.repository.name }}\n      - run: |\n          gh issue create --title \"Issue report\" --body \"$NUM_OPEN_ISSUES issues remaining\" --repo $GITHUB_REPOSITORY\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```"}