Skip to main content

docassemble.GithubFeedbackForm

A package that uses the GitHub API to gather feedback and then submit issues to Github that can be embedded into a Docassemble interview. Makes it easy to collect per-page feedback.

This package is designed to support the following workflow:

  1. Work is stored on a public GitHub repository, or at least, you setup a repository to collect feedback.
  2. There is one package per "interview"/"app".
  3. Each question block has a unique question ID.
  4. Preferably--questions are triggered in an interview order block. If you use a series of mandatory blocks instead of a single mandatory block, the variable listed in the bug report may not be as useful.

Getting started

  1. Create a new GitHub user and create a personal access token on it. The personal access token needs minimal permissions. Specifically, it needs to be allowed to make pull requests. Pull request access is allowed for anyone by default when you create a new, public GitHub repository.
  2. Edit your config, and create a block like this:
github issues:
  username: "YOUR_NEW_DEDICATED_ISSUE_CREATION_ACCOUNT"
  token: "..." # A valid GitHub personal access token associated with the username above
  default repository owner: YOUR_GITHUB_USER_OR_ORG_HERE
  allowed repository owners: # List the repo that your account will be allowed to create issues on
    - YOUR_GITHUB_USER_OR_ORG_HERE 
    - SECOND_GITHUB_USER_OR_ORG

Note that it is important to provide a list of allowed repository owners. This is used to prevent your form from being used to spam GitHub repositories with feedback.

  1. Add a link on each page, in the footer or under area.
    You can use the feedback_link() function to add a link, like this: [:comment-dots: Feedback](${ feedback_link(user_info()) } ){:target="_blank"}

    Optional parameters:

    • i: the feedback form, like: docassemble.AssemblyLine:feedback.yml
    • github_repo: repo name, like: docassemble-AssemblyLine
    • github_user: owner of the repo, like: suffolklitlab
    • variable: variable being sought, like: intro
    • question_id: id of the current question, like: intro
    • package_version: version number of the current package
    • filename: filename of the interview the user is providing feedback on.

    Each has a sensible default. Most likely, you will limit your custom parameters to the github_repo if you want feedback links to work from the docassemble playground.

    You will also need to include the github_issue.py module in your parent interview, like this:

    ---
    modules:
      - docassemble.GithubFeedbackForm.github_issue
    
  2. Optionally, create your own feedback.yml file. If you want a custom feedback.yml, it should look like this, with whatever customizations you choose:

include:
  - docassemble.GithubFeedbackForm:feedback.yml
---
code: |
  al_feedback_form_title = "Your title here"  
---
code: |
  # This email will be used ONLY if there is no valid GitHub config
  al_error_email = "your_email@yourdomain.com"
---
template: al_how_to_get_legal_help
content: |
  If you need more help, these are free resources:

  ... [INCLUDE STATE-SPECIFIC RESOURCES]      

You may also want to customize the metadata: title, exit url and override any specific questions, add a logo, etc.

Author

Quinten Steenhuis, qsteenhuis@suffolk.edu

Metadata

Release files for docassemble.GithubFeedbackForm 0.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docassemble.GithubFeedbackForm 0.5.6
File Size Uploaded
docassemble_githubfeedbackform-0.5.6.tar.gz 42.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docassemble.GithubFeedbackForm 0.5.6
File Interpreter ABI Platform
docassemble_githubfeedbackform-0.5.6-py3-none-any.whl Python 3 none any Details

Total release size: 88.2 kB

Release files / docassemble_githubfeedbackform-0.5.6.tar.gz

Download URL docassemble_githubfeedbackform-0.5.6.tar.gz
Size 42.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c14529d3827016e6bd240756f4d02d8f017f784d8cd7a76b22b36f8643bc6e28
BLAKE2b-256 checksum
How to use checksums
9bd6b4e18253ca57efc2b7d3fc16b072ac8540aa4c2d62906c2ef230cb9de92c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / docassemble_githubfeedbackform-0.5.6-py3-none-any.whl

Download URL docassemble_githubfeedbackform-0.5.6-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72eb472ec081e6c3e095bda8be47c5a4d97d50ffb1f7cff38e4b96adc6294401
BLAKE2b-256 checksum
How to use checksums
b128a517872dbd668d38de6fb18a08cf631668a8aaa00516c44407eb87903f43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.5.6 This release

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page