Skip to main content

Integration of GitHub issues with Docassemble interviews for collecting user feedback

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docassemble.GithubFeedbackForm-0.2.1.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file docassemble.GithubFeedbackForm-0.2.1.tar.gz.

File metadata

File hashes

Hashes for docassemble.GithubFeedbackForm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f55f1c72dbf1bae9569987624ad520891e5f86cba9283c97bf9d34408c6286c1
MD5 88e17eb5b78df889919f4b58c48b6329
BLAKE2b-256 10aac36edf9cbb72383c9eb7740a152b9b438dc9256b6eb7da2561425fd88db5

See more details on using hashes here.

File details

Details for the file docassemble.GithubFeedbackForm-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for docassemble.GithubFeedbackForm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9f7f89e8b2290d9102c51e1254bf2763148c7cd828b9396f20e282fd63dd296
MD5 d65d1b33bbbc148a99ba55608cbc1143
BLAKE2b-256 32e92f04304a6afb2743648f5e11e895bcc12b231055c203441bfad43493f14b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page