detail

detail allows contributors to create structured and configurable notes in a project, providing the ability to do automations such as:

  1. Ensuring that contributors add information to pull requests that provide QA instructions, release notes, and associated tickets. The detail lint command ensures that notes are present in a pull request and adhere to the schema.

  2. Rendering dynamic logs from the notes. detail log provides the ability to slice and dice the commit log however you need, pulling in a notes variable in a Jinja template with all notes that can be grouped and filtered.

  3. Other automations, such as version bumping, Slack posting, ticket comments, etc can be instrumented in continuous integration from the structured notes.

When contributing a change, call detail to be prompted for all information defined in the project’s detail schema. Information can be collected conditionally based on previous steps all thanks to the formaldict library.

Below is an example of a contributor creating a structured note with the type of change they are making, a summary, a description, and an associated Jira ticket:

_images/detail-intro.gif

Notes are commited to projects, allowing review of them before they are used to perform automations in continuous integration.

See the Tutorial for a walk-through of how to configure and use detail for your use case.