Skip to content

Commit

Permalink
Update feature-request.md
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksa-krolls authored Feb 27, 2025
1 parent 6d16fb2 commit 1715319
Showing 1 changed file with 59 additions and 39 deletions.
98 changes: 59 additions & 39 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Feature request
about: For requesting changes to jobs
about: For new workflows & change requests
title: ''
labels: enhancement
labels: feature request
assignees: ''

---

## Background, context, and business value
Expand All @@ -15,59 +14,80 @@ For example: [Insert use case here]

## The specific request, in as few words as possible

A clear and concise description of what you want to happen.
A clear and concise summary of what you want to happen.
Things to include as needed:
- The number of jobs needed to be created or updated
- The function of each job including specific resources and operations
- Unique identifiers
- Links to mapping specifications, data flow diagrams, sample input/output data, and any API documentation

- Workflow Diagram: [Link to workflow diagram]
- Mapping Specs: [Link to field-level mapping specifications]
- API Docs: [Link to relevant API & system documentation]

```md
Create jobs 1 &2 in which OpenFn gets cases from Primero and gets the case and services, maps the Primero extract and upserts to Progres
## Data Volumes & Limits

1. Get referral data: GET /api/v2/cases -- where service_implementing_agency='UNHCR'
This should return: https://github.com/OpenFn/primero-progres/blob/master/sampleData/primero_sample_state.json
2. Map Primero response to DTP/Progres interface. The field progres_primeroid will be the primary uid used by DTP.
3. Upload referrals to DTP/Progres: POST https://antirrio.azure-api.net/primero-uat/ReceiveIncomingReferral
```
How many records do we think these jobs will need to process in each run? For
example:

### Expected data volumes
How many records do we think these jobs will need to process in each run? For example:
```md
When you GET data from Primero, this may return up to 1000 records. There are no known Primero API limits for # of records, but there is API paging to consider.
When you GET data from the DB, this may return up to 1000 records. There are no
known Primero API limits for # of records, but there is API paging to consider.
```

## state.json
## [Workflow Name] Workflow Steps

Either provide state directly, or link to a file. If sensitive information
should be in state, redact it and provide instructions for where it can be
found.
Create a workflow in which OpenFn will:

### Trigger: Cron Schedule `Every 1 hour`

```json
{
"configuration": ["SEE LAST PASS: 'client cred'"],
"data": { LINK TO STATE },
"cursor": "2020-01-19 00:00:00"
}
```
> What is the trigger type: cron, webhook, or kafka? Be sure to provide a sample
> input.
### Step 1: Get new rows from the PostgreSQL database every 1 hour

- **Adaptor:** [PostgreSQL]
- **Input**: [Link to sample input data]
- **Collections (optional):** [Collection details if required]
- **Credential (optional):** [Also specify If VPN Access is required]
- **Desired Output:** [Description of the desired output]

### Step 2: Clean & transform the data according to the specified mapping rules

- **Adaptor:** [Common]
- **Edge Condition**: [Eg: on success]
- **Mapping Spec**: [Link to mapping spec]
- **Credential (optional):** [Credential details if required]
- **Desired Output:** [Description of the desired output]

### Step 3: Upsert cases in the Primero case management system via externalId `case_id`

> Note: 1 DB row will = 1 case record.
## expression.js
- **Adaptor:** [Primero]
- **Edge Condition**: [Eg: `!state.errors && state.patients.length > 0`]
- **Credential (optional):** [Credential details if required]
- **Desired Output:** [Description of the desired output]

For new jobs, describe the number of jobs needed and the high-level function of each job. Also include the trigger on platform and the adaptor needed for each job.
For existing jobs, provide a link to the job itself in Github and the high-level changes needed to be made. _Provide the information below for _each_ job that is required._
## Testing Guidance

Link to test suite and/or provide examples of scenarios with sample input/output
data to help the dev validate the implementation.

### job name
### adaptor
### trigger
### operation
### output
## Toggl

## Toggl
`Name of Toggl project`

Name of the Toggle project to log work
## Pre-Development Checklist

Before handling this issue to a developer, ensure the following items are
checked:

- [ ] Credentials: Ensure all necessary credentials are available and
documented.
- [ ] Sample Input Data: Ensure sample input data is provided and linked.
- [ ] PII: Verify if any Personally Identifiable Information (PII) is involved
and ensure proper handling.
- [ ] Collections: Confirm if collections are needed and pre-configure with
sample data if required.
- [ ] Mapping Spec: Ensure mapping specifications are complete and linked.
- [ ] API Docs: Ensure all relevant API documentation is linked.
- [ ] Workflow Diagrams: Ensure workflow diagrams are complete and linked.
- [ ] VPN Access: Ensure VPN Access is provided if required to run the workflow
- [ ] Toggl: Ensure the Toggl project name is provided.

0 comments on commit 1715319

Please sign in to comment.