{"id":28427887,"url":"https://github.com/hwahyeon/book-reading-actions","last_synced_at":"2026-05-05T03:37:20.899Z","repository":{"id":249390447,"uuid":"830714998","full_name":"hwahyeon/book-reading-actions","owner":"hwahyeon","description":"Automate issue tracking for Markdown tasks: scan folders, create GitHub issues, and update their status based on task completion","archived":false,"fork":false,"pushed_at":"2024-07-20T16:46:23.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T12:38:30.403Z","etag":null,"topics":["continuous-integration","github-actions","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hwahyeon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-18T20:45:53.000Z","updated_at":"2024-07-20T16:46:26.000Z","dependencies_parsed_at":"2024-07-20T13:27:55.582Z","dependency_job_id":"3fd6ccae-c080-4cbf-90ce-e48073cdf5c2","html_url":"https://github.com/hwahyeon/book-reading-actions","commit_stats":null,"previous_names":["hwahyeon/book-reading-actions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hwahyeon/book-reading-actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwahyeon%2Fbook-reading-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwahyeon%2Fbook-reading-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwahyeon%2Fbook-reading-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwahyeon%2Fbook-reading-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hwahyeon","download_url":"https://codeload.github.com/hwahyeon/book-reading-actions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwahyeon%2Fbook-reading-actions/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263475348,"owners_count":23472376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-integration","github-actions","python"],"created_at":"2025-06-05T12:30:45.828Z","updated_at":"2026-05-05T03:37:20.872Z","avatar_url":"https://github.com/hwahyeon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Markdown Issue Tracker\nThis repository contains a workflow script that automatically detects Markdown files in a specified folder, creates issues for each task listed, and closes issues as tasks are marked complete.\n\n\n## 🔴Important Notice\nThe default GitHub Actions token (`GITHUB_TOKEN`) prevents new workflows from being triggered by actions it performs. This means that if you create or modify issues using `GITHUB_TOKEN`, other workflows will not detect and execute these actions. This is to prevent infinite loops and enhance security.\n\n**Example**\n1. **Workflow A**: Uses `GITHUB_TOKEN` to create a new issue.\n2. **Expected Trigger**: Normally, creating a new issue would trigger **Workflow B** to run.\n3. **Actual Result**: Issues created using `GITHUB_TOKEN` do not trigger **Workflow B**.\n\nTherefore, this repository is intended for situations where you cannot use a Personal Access Token. If you want full issue tracking functionality, please move to [this repository](https://github.com/hwahyeon/book-reading-actions-ptk), which is configured to use a Personal Access Token.\n\n## Usage\n\n1. Configure Actions Permissions:\n    1. Click on the `Settings` tab of the repository where you want to apply this workflow.\n    2. Click `Actions` under `Code and automation`.\n    3. Under `Actions permissions`, select `Allow all actions and reusable workflows`.\n    4. Under `Workflow permissions`, select `Read and write permissions`.\n\n2. Create a workflow file named `use-common-workflow.yml` in the `/.github/workflows` directory of your repository with the following content:\n```yml\nname: Use Common Workflow\n\non:\n  push:\n    paths:\n      - 'books/**.md'\n  workflow_dispatch:\n\njobs:\n  callCommonWorkflow:\n    uses: hwahyeon/book-reading-actions/.github/workflows/common-workflow.yml@main\n    secrets: inherit\n```\n\n\n3. Place your Markdown files in the `/books/` directory. Each Markdown file should follow this structure:\n\n```markdown\n# Book Title\n\n**Labels:** label1, label2\n\n- [ ] Chapter 1\n- [ ] Chapter 2\n- [x] Chapter 3\n```\n\n4. Once the workflow file is added to the repository and changes are committed, GitHub Actions will automatically run the script to scan the books folder, create issues for unchecked tasks, and close issues for checked tasks.\n\n5. Go to the `Actions` tab in your repository and ensure the workflow is enabled and configured correctly.\n\n## Example\nGiven a Markdown file named `example_book.md` in the `/books/` folder with the following content:\n```markdown\n# Book Title\n\n**Labels:** reading, example\n\n- [ ] Chapter 1: Introduction\n- [ ] Chapter 2: Getting Started with Examples\n- [x] Chapter 3: Advanced Example\n```\n\nThe script will:\n- Create issues for \"Introduction\" and \"Chapter 1\" with titles in the format `[Book Title] Chapter: Chapter Title`, such as `[Example Book] Chapter1: Introduction`.\n- Attach the specified labels (`reading`, `example`) to the created issues.\n- Not create an issue for \"Chapter 2\" since it is marked as completed.\n- Close the issue for \"Chapter 2\" if it is open.\n\n## Markdown Issue Tracker GitHub Action Flowchart\n```text\nStart (Push to Repository / Manual Trigger)\n          ↓\nCheck for Markdown File Changes in 'books' Directory\n          ↓\nChanged Markdown Files Found?  ----→ No ----→ End\n          ↓\n          Yes\n          ↓\nLoad Issues Data from 'issues.json'\n          ↓\nIssues File Exists?  ----→ No ----→ Initialize Issues Data\n          ↓\n          Yes\n          ↓\nFor Each Changed Markdown File:\n          ↓\nExtract Book Title and Labels\n          ↓\nExtract Unchecked Chapters\n          ↓\nFor Each Unchecked Chapter:\n          ↓\nIssue Already Exists in issues.json? ----→ Yes ----→ Skip\n          ↓\n          No\n          ↓\nCreate Issue with Labels\n          ↓\nAdd New Issue Number to issues.json\n          ↓\nExtract Checked Chapters\n          ↓\nFor Each Checked Chapter:\n          ↓\nIssue Already Exists and Open? ----→ No ----→ Skip\n          ↓\n          Yes\n          ↓\nClose Issue\n          ↓\nRemove Issue from issues.json\n          ↓\nSave Updated issues.json\n          ↓\nEnd\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhwahyeon%2Fbook-reading-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhwahyeon%2Fbook-reading-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhwahyeon%2Fbook-reading-actions/lists"}