gr2m / gr2m/github-project

New custom field not accessible

Open
#151 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
JavaScript
Stars
36
Forks
10
PR merge metrics
No merged PRs in 30d

Description

### Please avoid duplicates

- [X] I checked [all open bugs](https://github.com/gr2m/github-project/issues?q=is%3Aissue+is%3Aopen+label%3Abug) and none of them matched my problem.

### Reproducible test case

_No response_

### Please select the environment(s) that are relevant to your bug report

- [ ] Browsers
- [X] Node
- [ ] Deno

### Versions

NodeJs: v18.18.2
github-project: 5.4.0

### What happened?

I have a weird issue: Some of the newly created custom fields cannot be found. I created different fields with different types but nothing works. Interestingly old custom fields that I created a while back work fine.

```
const options = {
owner: "xxx",
number: 2,
token: "xxx",
fields: {
priority: "Priority",
milestone: "Milestone",
Estimate: { name: "Estimate", optional: true },
lastUpdate: { name: "Last Update", optional: true },
},
};
const project = new GitHubProject(options);
const data = await project.items.list();
console.log(data[0]);
```

results in getting the right object, but the `Estimate` custom field is missing.

Running this:

```
const data = await octokit.graphql(`
query {
node(id: "PVT_kwDOAYW1RM4AAzYZ") {
... on ProjectV2 {
items(first: 20) {
nodes {
id
fieldValues(first: 20) {
nodes {
... on ProjectV2ItemFieldNumberValue {
field {
... on ProjectV2Field {
name
}
}
number
id
updatedAt
creator {
url
}
}
}
}
}
}
}
}
}
`);

console.log(data.node.items.nodes[0].fieldValues.nodes);
```

results in

```
[
{},
{},
{},
{},
{},
{},
{},
{},
{
field: { name: 'Estimate' },
number: 15,
id: 'PVTFNV_lQDOAYW1RM4AAzYczgJ_92DOB0nF8A',
updatedAt: '2023-11-05T00:20:25Z',
creator: { url: 'https://github.com/bobinrinder' }
},
{}
]
```

So looks like the name is set correctly. Any ideas? 🧐

### Would you be interested in contributing a fix?

- [x] yes

Contributor guide

Open the contributing guide

Research direction

Start by running the Node example and comparing items.list() with the raw GitHub GraphQL fieldValues response. Trace the items.list() entry point and the custom-field parsing path; done means newly created fields such as Estimate are returned consistently with the GraphQL data.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, graphql, javascript, node.js
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.