Merge pull request #10329 from iamazeem/10301-gh-project-iteration-id

[gh project item-list] Add `iterationId` field in ProjectV2ItemFieldIterationValue
This commit is contained in:
Andy Feller 2025-02-03 15:37:46 -05:00 committed by GitHub
commit 4f80400a89
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 10 deletions

View file

@ -295,6 +295,7 @@ func TestJSONProjectItem_DraftIssue_ProjectV2ItemFieldIterationValue(t *testing.
iterationFieldValue := FieldValueNodes{Type: "ProjectV2ItemFieldIterationValue"}
iterationFieldValue.ProjectV2ItemFieldIterationValue.Title = "Iteration Title"
iterationFieldValue.ProjectV2ItemFieldIterationValue.Field = iterationField
iterationFieldValue.ProjectV2ItemFieldIterationValue.IterationId = "iterationId"
draftIssue := ProjectItem{
Id: "draftIssueId",
@ -321,7 +322,7 @@ func TestJSONProjectItem_DraftIssue_ProjectV2ItemFieldIterationValue(t *testing.
assert.NoError(t, err)
assert.JSONEq(
t,
`{"items":[{"sprint":{"title":"Iteration Title","startDate":"","duration":0},"content":{"type":"DraftIssue","body":"a body","title":"Pull Request title","id":"draftIssueId"},"id":"draftIssueId"}],"totalCount":5}`,
`{"items":[{"sprint":{"title":"Iteration Title","startDate":"","duration":0,"iterationId":"iterationId"},"content":{"type":"DraftIssue","body":"a body","title":"Pull Request title","id":"draftIssueId"},"id":"draftIssueId"}],"totalCount":5}`,
string(out))
}

View file

@ -235,10 +235,11 @@ type FieldValueNodes struct {
Field ProjectField
} `graphql:"... on ProjectV2ItemFieldDateValue"`
ProjectV2ItemFieldIterationValue struct {
Title string
StartDate string
Duration int
Field ProjectField
Title string
StartDate string
Duration int
Field ProjectField
IterationId string
} `graphql:"... on ProjectV2ItemFieldIterationValue"`
ProjectV2ItemFieldLabelValue struct {
Labels struct {
@ -1488,9 +1489,10 @@ func projectFieldValueData(v FieldValueNodes) interface{} {
return v.ProjectV2ItemFieldDateValue.Date
case "ProjectV2ItemFieldIterationValue":
return map[string]interface{}{
"title": v.ProjectV2ItemFieldIterationValue.Title,
"startDate": v.ProjectV2ItemFieldIterationValue.StartDate,
"duration": v.ProjectV2ItemFieldIterationValue.Duration,
"title": v.ProjectV2ItemFieldIterationValue.Title,
"startDate": v.ProjectV2ItemFieldIterationValue.StartDate,
"duration": v.ProjectV2ItemFieldIterationValue.Duration,
"iterationId": v.ProjectV2ItemFieldIterationValue.IterationId,
}
case "ProjectV2ItemFieldNumberValue":
return v.ProjectV2ItemFieldNumberValue.Number

View file

@ -395,8 +395,9 @@ func TestProjectItems_FieldTitle(t *testing.T) {
"fieldValues": map[string]interface{}{
"nodes": []map[string]interface{}{
{
"__typename": "ProjectV2ItemFieldIterationValue",
"title": "Iteration Title 1",
"__typename": "ProjectV2ItemFieldIterationValue",
"title": "Iteration Title 1",
"iterationId": "iterationId1",
},
{
"__typename": "ProjectV2ItemFieldMilestoneValue",
@ -426,6 +427,7 @@ func TestProjectItems_FieldTitle(t *testing.T) {
assert.Len(t, project.Items.Nodes, 1)
assert.Len(t, project.Items.Nodes[0].FieldValues.Nodes, 2)
assert.Equal(t, project.Items.Nodes[0].FieldValues.Nodes[0].ProjectV2ItemFieldIterationValue.Title, "Iteration Title 1")
assert.Equal(t, project.Items.Nodes[0].FieldValues.Nodes[0].ProjectV2ItemFieldIterationValue.IterationId, "iterationId1")
assert.Equal(t, project.Items.Nodes[0].FieldValues.Nodes[1].ProjectV2ItemFieldMilestoneValue.Milestone.Title, "Milestone Title 1")
}