Closed t-will-gillis closed 3 weeks ago
Hi @t-will-gillis.
Please don't forget to add the proper labels to this issue. Currently, the labels for the following are missing:
NOTE: Please ignore this comment if you do not have 'write' access to this directory.
To add a label, take a look at Github's documentation here.
Also, don't forget to remove the "missing labels" afterwards. To remove a label, the process is similar to adding a label, but you select a currently added label to remove it.
After the proper labels are added, the merge team will review the issue and add a "Ready for Prioritization" label once it is ready for prioritization.
Additional Resources:
Issue Trigger
Workflow
Summary
The
issue-trigger.yml
workflow is triggered whenever an issue trigger (akaevent_action
) isopened
,transferred
,assigned
,labeled
, orunlabeled
. Workflow steps run for different triggers: for example, "Add-Missing-Labels-To-Issues" is triggered when an issue isopened
ortransferred
, "Ask-For-Preliminary-Update" whenassigned
, and "Add-Feature-Branch-Comment" and "Remove-Feature-Branch-Comment" whenlabeled
orunlabeled
(and that label isFeature: Feature Branch
).Triggers
Feature: Feature Branch
)Feature: Feature Branch
)Labels Used by Workflow
Complexity: Missing
(future "complexityMissingLabel" labelKey)Complexity: Small
(future "complexitySmallLabel" labelKey)Complexity: Prework
(future "complexityPreworkLabel" labelKey)good first issue
(future "goodFirstIssueLabel" labelKey)size: missing
(future "sizeMissingLabel" labelKey)size: 0.25pt
(future "size025ptLabel" labelKey)role missing
(future "roleMissingLabel" labelKey)role: front end
(future "roleFrontEndLabel" labelKey)role: back end/devOps
(future "roleBackEndDevOpsLabel" labelKey)role: design
(future "roleDesignLabel" labelKey)role: user research
(future "roleUserResearchLabel" labelKey)role: dev leads
(future "roleDevLeadsLabel" labelKey)Feature: Missing
(future "featureMissingLabel" labelKey)Feature: Administrative
(future "featureAdminLabel" labelKey)ready for dev lead
(future "readyForDevLeadLabel" labelKey)Draft
(future "draftLabel" labelKey)Tokens Used by Workflow
TEAMS
HACKFORLA_GRAPHQL_TOKEN
Workflow Files
Support File Folders:
Process:
fetchContributors()
queries GitHub for data about all user contributions to the 'hackforla/website' repo:allContributorsSinceOneMonthAgo
) and within the last two months (second run,allContributorsSinceTwoMonthsAgo
) are recorded.inactiveWithOpenIssue
.readPreviousNotifyList()
retrieves the list of 'notified members' from the previous monthpreviouslyNotified
.getTeamMembers()
records all current 'website-write' team memberscurrentTeamMembers
.removeInactiveMembers()
iterates through the list of current team members and checks whether the member is listed on theallContributorsSinceTwoMonthsAgo
list. If the team member does not show any activity in the last two months, the function then checks:inactiveWithOpenIssue
and the issue is not a "Pre-work Checklist", if so their name and issue are added tocannotRemoveYet
. (We don't want to remove the person with an open assignment)previouslyNotified
list. If not, they will not be removed in the current month. (We want to give people a notification prior to removing them from the 'website-write' team)closePrework()
.getTeamMembers()
then runs a second time to update the list ofupdatedTeamMembers
.notifyInactiveMembers()
iterates through the list of updated team members and checks whether the member is listed on theallContributorsSinceOneMonthAgo
list. If the member does not show any activity within the last month, the function checks:stefanzweifel/git-auto-commit-action@v5.0.1
to commit the record ofinactive-members.json
to the repo.schedule-monthly.yml
is successful and includes:createIssue()
writes the lists of removed members and members to be notified to a template inactive-members.mdpostComment()
posts a comment to the Monday Dev Meeting Agenda issue informing that the workflow has run, linking to the issue that was created, and if applicable listing members with open issues (and issue number) post-issue-comment.js module moduleData auto-generated by Google Sheets worksheets (maintained in the "hackforla-bot@hackforla.org" account) complement this workflow:
Test Procedure
Important note: line numbers and specific code references may have changed slightly since the time of this Wiki- verify with the actual files.
schedule-monthly.yml
, you will need to activate two personal tokens.HACKFORLA_BOT_PA_TOKEN
scopes: admin:org_hook, public_repoHACKFORLA_ADMIN_TOKEN
scopes: admin:org_hook, repo, write:orgget-contributors-data.js
owner: 'hackforla',
repo: 'website',
(unless your repo is 'website')In 'trim-inactive-members.js`:
[ ] IMPORTANT: Disable lines 84-88 by replacing:
with:
[ ] IMPORTANT: Disable entirely the
closePrework()
function, starting around ln 110:create-new-issue.js
:const owner = '<your name>';
NOT 'hackforla'const repo = '<your repo name>';
// let milestone = parseInt(issueObject['milestone']);
// milestone,
/utils/get-team-members.js
:org: 'hackforla',
/utils/add-team-member.js
:org: 'hackforla',
org: 'hackforla',
/utils/get-timeline.js
:owner: 'hackforla',
repo: 'website',
/utils/post-issue-comment.js
:owner: ' <your name> ',
NOT 'hackforla'repo: 'website',
Testing Resources