Taskeract helps your team quickly receive, tag, triage, and track issues.
This sample repo contains issue templates for three types of tasks ("generic", "blogpost", and "video"), but you are free to create your own task types and delete the samples. Note the fields for date
, topic
, product
, region
, stakeholders
-- each of these will be used by the automation to create labels on your issues so you can easily search & filter them.
date
, topic
, product
, region
, stakeholders
region
field
product
, by editing notify_supervisors
and SUPERVISORS_BY_REGION
inside .github/workflows/taskeract/utils.py
Copy all files from the .github
folder into your own repository's .github
folder (or fork this repo if starting fresh)
In your repository, go to Settings > Actions > General and set "Workflow permissions" to "Read and write permissions". If this is too permissive, you can instead create a PAT under Secrets, and edit all tesseract-*.yml
workflows to use that secret instead of `secrets.GITHUB_TOKEN``
In your repository, create the following labels: TASK: generic
,TASK: blogpost
,TASK: video
Inside .github/workflows/taskeract-created.yml
and taskeract-edited.yml
, change REPOSITORY_NAME
to be your new repository
If you want to notify regional supervisors when new issues are created, add their handles to SUPERVISORS_BY_REGION
inside .github/workflows/taskeract/utils.py
Decide whether to use the Project Board automation available in this tool. While Project Boards provide a native mechanism for auto-adding issues to projects, Taskeract gives you a bit more control over which issues are added, and allows you to set field values as you do.
ADD_TO_PROJECT_PAT
which contains a token capable of editing any project boards you'll be adding issues to (usually, a "classic"" token with "Full control of private repositories" and "Full control of projects").github/workflows/taskeract-created.yml
.github/workflows/taskeract-created.yml
Fields can be safely deleted from any issue template and the relevant field-mapping JSON file
New fields can be added to any issue template without affecting the automation
To add a field and create custom automation for that field:
field-mapping-[TYPE].json
file inside .github/workflows/taskeract/
and add an entry
.github/workflows/taskeract/utils.py
(see assign_labels_topic
as an example... your new variable name from the prior step would replace topics
).github/workflows/taskeract/issue_created.py
and/or issue_edited.py
LABEL_PREFIX_[fieldname] = '[fieldname]: '
(the trailing space is mandatory) near the top of utils.py
, and another entry inside LABEL_COLORS
just below it.First, add a new issue template.
TASK:
such as labels: ["TASK: workshop"]
(the space is mandatory)Next, add a new field-mapping-[TYPE].json
file inside .github/workflows/taskeract/
field-mapping-video.json
as an example)Lastly, add any project assignments or field values needed to .github/workflows/taskeract-created.yml
under "add to project and set project fields"
Note that unused task types can be safely removed by simply deleting their issue template and associated "field-mapping-[TYPE].json" file