name: 'TODO to Issue' description: 'Converts IDE TODO comments to GitHub issues' author: 'Alastair Mooney' runs: using: 'composite' steps: - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install dependencies run: pip install requests ruamel.yaml shell: bash - name: Run TODO to Issue action run: python ${{ github.action_path }}/main.py shell: bash env: INPUT_REPO: ${{ inputs.REPO }} INPUT_BEFORE: ${{ inputs.BEFORE }} INPUT_COMMITS: ${{ inputs.COMMITS }} INPUT_DIFF_URL: ${{ inputs.DIFF_URL }} INPUT_SHA: ${{ inputs.SHA }} INPUT_TOKEN: ${{ inputs.TOKEN }} INPUT_CLOSE_ISSUES: ${{ inputs.CLOSE_ISSUES }} INPUT_AUTO_P: ${{ inputs.AUTO_P }} INPUT_PROJECT: ${{ inputs.PROJECT }} INPUT_PROJECTS_SECRET: ${{ inputs.PROJECTS_SECRET }} INPUT_IGNORE: ${{ inputs.IGNORE }} INPUT_AUTO_ASSIGN: ${{ inputs.AUTO_ASSIGN }} INPUT_ACTOR: ${{ inputs.ACTOR }} INPUT_ISSUE_TEMPLATE: ${{ inputs.ISSUE_TEMPLATE }} INPUT_IDENTIFIERS: ${{ inputs.IDENTIFIERS }} INPUT_GITHUB_URL: ${{ inputs.GITHUB_URL }} INPUT_GITHUB_SERVER_URL: ${{ inputs.GITHUB_SERVER_URL }} INPUT_ESCAPE: ${{ inputs.ESCAPE }} INPUT_LANGUAGES: ${{ inputs.LANGUAGES }} INPUT_NO_STANDARD: ${{ inputs.NO_STANDARD }} INPUT_INSERT_ISSUE_URLS: ${{ inputs.INSERT_ISSUE_URLS }} INPUT_TARGET_REPO: ${{ inputs.TARGET_REPO }} branding: icon: 'check-square' color: 'orange' inputs: REPO: description: "The path to the repository where the action will be used, e.g. 'alstr/my-repo' (automatically set)" required: false default: '${{ github.repository }}' BEFORE: description: 'The SHA of the last pushed commit (automatically set)' required: false default: '${{ github.event.before || github.base_ref }}' COMMITS: description: 'An array of commit objects describing the pushed commits (automatically set)' required: false default: '${{ toJSON(github.event.commits) }}' DIFF_URL: description: 'The URL to use to get the diff (automatically set)' required: false default: '${{ github.event.pull_request.diff_url }}' SHA: description: 'The SHA of the latest commit (automatically set)' required: false default: '${{ github.sha }}' TOKEN: description: 'The GitHub access token to allow us to retrieve, create and update issues (automatically set)' required: false default: '${{ github.token }}' TARGET_REPO: description: "Optional target repository to create issues in (e.g. 'owner/repo'). If not provided, issues will be created in the current repository." required: false CLOSE_ISSUES: description: 'Optional input specifying whether to attempt to close an issue when a TODO is removed' required: false default: 'true' AUTO_P: description: 'For multiline TODOs, format each line as a new paragraph when creating the issue' required: false default: 'true' PROJECT: description: "User or organization project to link issues to, format 'project_type/owner/project_name'" required: false PROJECTS_SECRET: description: 'Encrypted secret corresponding to your personal access token (do not enter the actual secret)' required: false IGNORE: description: 'A collection of comma-delimited regular expression that matches files that should be ignored when searching for TODOs' required: false AUTO_ASSIGN: description: 'Automatically assign new issues to the user who triggered the action' required: false default: 'false' ACTOR: description: 'The username of the person who triggered the action (automatically set)' required: false default: '${{ github.actor }}' ISSUE_TEMPLATE: description: 'The template used to format new issues' required: false IDENTIFIERS: description: 'Dictionary of custom identifiers' required: false GITHUB_URL: description: 'Base url of GitHub API' required: false default: ${{ github.api_url }} GITHUB_SERVER_URL: description: 'Base URL of GitHub web interface' required: false default: ${{ github.server_url }} ESCAPE: description: 'Escape all special Markdown characters' required: false default: 'true' LANGUAGES: description: 'A collection of comma-delimited URLs or local paths for custom language files' required: false NO_STANDARD: description: "Exclude loading the default 'syntax.json' and 'languages.yml' files from the repository" required: false default: 'false' INSERT_ISSUE_URLS: description: 'Whether the action should insert the URL for a newly-created issue into the associated TODO comment' required: false default: 'false'