Project

copyist

0.0
No commit activity in last 3 years
No release in over 3 years
parse markdown to create github issues
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

>= 0
>= 0
 Project Readme

Copyist

This application is a tool that can parse a file written in markdown and generate multiple Github isuue tickets at once.

The word 'Copyist' means 'Hikko (筆耕)' in Japanese.

How to use

step0. Installation

  • $ gem install copyist

step1. set ENV

  • set your github personal token to GITHUB_PERSONAL_TOKEN

    • $ export GITHUB_PERSONAL_TOKEN={YOUR_TOKEN}
  • set target github user name, target github repository name to .env file

step2. ready markdown file

example

### foo
- fizz
    - bazz
- fizzbazz
### bar
- aaa
    - **bbb**

step3. run copyist

  1. $ copyist job path/to/markdown_file.md

Required or Optional Settings (to ENV or .env)

TITLE_IDENTIFIRE (requires)

An identifier to determine which line to use as the title of the ticket. Determine if it matches the beginning of a line. Add a space after the set string to judge.

example)

# when you set '#' as the TITLE_IDENTIFIRE

match -> '# This is title.'

not match -> '#This is title.'
not match -> '## This is title.'

SKIP_IDENTIFIRES (optional)

Identifier to determine which lines you do not want to include in the ticket. If it doesn't exist, ignore it. You can specify multiple values separated by commas. Determine if it matches the beginning of a line. Add a space after the set string to judge.

example)

# when you set 'aaa,bbb:' as the SKIP_IDENTIFIRES

match -> 'aaa This line skipped.'
match -> 'bbb: This line skipped.'

not match -> ' aaa This line skipped.'
not match -> 'aaaline skipped.'
not match -> 'bbb line skipped.'

LABEL_IDENTIFIRE (optional)

Identifier to determine the line representing the label to be given to the ticket. Enter a comma-separated list of labels to be set on the line to be judged. Determine if it matches the beginning of a line. Add a space after the set string to judge.

example)

# when you set 'labels:' as the LABEL_IDENTIFIRE

match -> 'labels: labelA,labelB'  -> tickets add label 'labelA' and 'labelB'
match -> 'labels: labelA, labelB'  -> tickets add label 'labelA' and 'labelB'  (Spaces will be removed)

not match -> 'labels:labelA,labelB'  -> No label will be set on the ticket.

GLOBAL_LABELS (optional)

Specify the label to be set for all tickets. Enter a comma-separated list of labels to be set on the line to be judged. You can specify multiple values separated by commas.

ENVFILE_PATH

ENV-related settings can be specified in a file. Enter the path in the environment variable ENVFILE_PATH.

example)

$ export ENVFILE_PATH=.env

Experimental Feature

Implemented a feature to generate JIRA child issues. (Because the team I belong to switched from GIthub to JIRA)

By setting the JIRA_PARENT_PROJECT_IDENTIFIRE key to the prepared markdown, you can create a ticket for a child issue that is connected to an already existing parent issue.

Please check the implementation for details.

Development

Contributing

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Copyist project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.