mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-22 22:06:43 +00:00
- Changed action execution from Docker to composite with Python setup. - Added `TARGET_REPO` input to allow issue creation in a specified repository. - Updated `GitHubClient` to use `TARGET_REPO` for issue and milestone URLs. - Enhanced README with instructions for cross-repository usage. - Introduced example workflow for creating TODO issues in another repository. Signed-off-by: Shakar Bakr <5h4k4r.b4kr@gmail.com>
127 lines
4.7 KiB
YAML
127 lines
4.7 KiB
YAML
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'
|