Skip to content

Update wins data to be posted to new project board #8701

Description

@castillios

Prerequisite

  1. Be a member of Hack for LA. (There are no fees to join.) If you have not joined yet, please follow the steps on our Getting Started page and attend an onboarding session.
  2. Before you claim or start working on an issue, please make sure you have read our How to Contribute to Hack for LA Guide.

Overview

We need to update the Wins Google Apps scripts so that it starts adding issues from the old project board to the new project board's "Questions/In Review" column.

To set an issue's status, the current code uses a combination of REST API calls and Column Keys. The new project board uses GraphQL API calls and Status Field IDs. We must update this behavior to maintain the Wins workflow.

Action Items

  • Refer to ALL of the steps in the Wins Google App Script documentation to set up your local environment for testing and development. 1
    • Message a Team Lead to gain access to the following files required for this issue:
      • Wins Form Admin Guide (To understand the Wins workflow)
      • Wins-form (Responses) Google Sheet
      • Wins-form Google Form
      • gh-requests Google Document
    • Set up your testing and development environment with the documentation provided.
  • Trace how Wins are posted as issues to the old project board by reviewing addIssueToProjectBoardColumn in the following files:
    • google-apps-scripts/gh-requests/Code.js
    • google-apps-scripts/wins-form-responses/Code.js
  • Ingh-requests/Code.js:
    • Remove and replace classic Projects REST API calls with GraphQL mutations for Projects v2 compatibility by refactoring addIssueToProjectBoardColumn. Rename the function to reflect this migration. 2
    • You will need to add a GraphQL request helper, similar to existing REST request helpers.
  • In wins-form-responses/Code.js:
    • Refer to the Status Field IDs utility file then note PROJECT_ID, FIELD_ID, and any issue status fields that need to be replaced. 3
    • Replace COLUMN_KEYS with a Project v2 Status Field ID object. Include PROJECT_ID and FIELD_ID as they will be needed for GraphQL calls.
    • Edit the createIssue function with your updated addIssueToProjectBoard function.
    • Ensure that the issue Status Field ID is set to "InReview".
  • Test your changes locally and verify that any test Wins submissions populate your local fork.
  • Refer to 9. Completing an issue in the Wins documentation before you create your PR. 1

Resources/Instructions

Footnotes

  1. Wins Google App Script documentation and how to set up testing environment: Wins Google App Script Development Process 2

  2. GitHub Projects v2 GraphQL Documentation (take a look at addProjectV2ItemById and updateProjectV2ItemFieldValue): https://docs.github.com/en/graphql/reference/projects

  3. Website Project v2 Status Field IDs: https://github.com/hackforla/website/blob/gh-pages/github-actions/utils/_data/status-field-ids.js

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
In progress (actively working)

Relationships

None yet

Development

No branches or pull requests

Issue actions