Skip to content

mnot/ietf-comments

Repository files navigation

The IETF Comments Processor

Handling comments from the IESG, multiple directorate reviews, and in AUTH48 can be burdensome for document authors, because of the sheer number of comments, and because they come in an unstructured format that has to be manually processed.

This package installs two commands:

  • ietf-comments processes comments from the IESG and directorates in a markdown-based format.
  • rfced-comments processes comments from the RFC Editor in RFC XML files.

Both can be used to create GitHub issues for the comments they find. When used properly, they can help automate formerly tiresome tasks.

For IESG and directorate comments, this tool uses the IETF Comment Markdown format, which is a semi-structured format that is similar to that which ADs and directorates use now. Ideally, they will create comments in that format for easy processing, but even when they don't, most comments can easily be transformed into it for processing.

Online Validator

If you just need to validate markdown comments, see the online comments validator.

Installation

To install ietf-comments, you'll need Python 3.6 or greater.

The best way to install it is using pipx, because that will created an isolated environment for the dependencies:

pipx install ietf-comments

Alternatively, you can install it directly using pip:

pip3 install ietf-comments

Note that to use rfced-comments, you'll need Python 3.10 or greater. To assure that Python 3.10 is being used, you may need to use something like:

python3.10 -m pip install ietf-comments

Use

Processing AD and Directorate Comments

To validate a AD or Directorate review in the IETF Comment Markdown format and see the identified issues, run:

ietf-comments filename

To create a GitHub issue for each issue, set GITHUB_ACCESS_TOKEN in your environment to a GitHub Personal Access Token and run:

ietf-comments -g owner/repo filename

... where owner/repo is the repo owner and name, separated by a slash.

If you'd like these issues to have a specific label, run:

ietf-comments -g owner/repo filename -l labelname

If you'd like discuss, comment, and nit labels added as appropriate, along with a review label, pass -a:

ietf-comments -g owner/repo filename -a

Processing RFC Editor Comments

To validate RFC Editor comments in a local RFC XML file and see the identified issues, run:

rfced-comments filename

Alternatively, if you're in AUTH48 and the RFC Editor has published a draft of your RFC-to-be, you can just run

rfced-comments NNNN

where NNNN is the RFC number.

To create a GitHub issue for each issue, set GITHUB_ACCESS_TOKEN in your environment to a GitHub Personal Access Token and run:

rfced-comments -g owner/repo NNNN_or_filename

... where owner/repo is the repo owner and name, separated by a slash.

If you'd like these issues to have a specific label, run:

rfced-comments -g owner/repo NNNN_or_filename -l labelname

Special Features

The following features are currently supported (more soon!):

  • When recognised, internal section references (e.g., Section 2.4) are auto-linked in created issues.
  • Likewise, references to external RFCs (e.g., Section 5.3 of [RFC1234]) will also be auto-linked in created issues when recognised.
  • Text in blockquotes (preceded by >) in comments will be checked for presence in the document; if they aren't found, a warning will be raised.