@@ -108,19 +108,47 @@ jobs:
108108 project-number : ${{ steps.copy-project.outputs.number }}
109109 token : ${{ steps.get-auth-token.outputs.token }}
110110
111- - name : Check Draft Issue
111+ # Upstream needs to fix https://github.com/cli/cli/issues/12726
112+ #
113+ # - name: Edit Draft Issue Title
114+ # uses: ./edit-item/
115+ # id: edit-draft-issue-title
116+ # with:
117+ # item: ${{ steps.get-draft-issue.outputs.id }}
118+ # owner: ${{ steps.copy-project.outputs.owner }}
119+ # project-number: ${{ steps.copy-project.outputs.number }}
120+ # token: ${{ steps.get-auth-token.outputs.token }}
121+ # title: New Draft Issue Title
122+
123+ - name : Edit Draft Issue Assignees
124+ uses : ./edit-item/
125+ id : edit-draft-issue-assignees
126+ with :
127+ assignees : dsanders11
128+ item : ${{ steps.get-draft-issue.outputs.id }}
129+ owner : ${{ steps.copy-project.outputs.owner }}
130+ project-number : ${{ steps.copy-project.outputs.number }}
131+ token : ${{ steps.get-auth-token.outputs.token }}
132+
133+ - name : Get Draft Issue (again)
134+ uses : ./get-item/
135+ id : get-draft-issue-again
136+ with :
137+ field : Priority
138+ item : ${{ steps.get-draft-issue-id.outputs.id }}
139+ owner : ${{ steps.copy-project.outputs.owner }}
140+ project-number : ${{ steps.copy-project.outputs.number }}
141+ token : ${{ steps.get-auth-token.outputs.token }}
142+
143+ - name : Check Draft Issue Assignees
112144 uses : ./github-script/
113145 env :
114- BODY : ${{ steps.get-draft-issue.outputs.body }}
115- FIELD_VALUE : ${{ steps.get-draft-issue.outputs.field-value }}
116- TITLE : ${{ steps.get-draft-issue.outputs.title }}
146+ ASSIGNEES : ${{ steps.get-draft-issue-again.outputs.assignees }}
117147 with :
118148 script : |
119149 const assert = require('node:assert');
120150
121- assert.strictEqual(process.env.TITLE, 'My Favorite Issue');
122- assert.strictEqual(process.env.FIELD_VALUE, 'Low');
123- assert.match(process.env.BODY, /Here's another bar/);
151+ assert.strictEqual(process.env.ASSIGNEES, 'dsanders11');
124152
125153 - name : Run Completed By
126154 uses : ./completed-by/
@@ -177,7 +205,7 @@ jobs:
177205 project-number : ${{ steps.copy-project.outputs.number }}
178206 token : ${{ steps.get-auth-token.outputs.token }}
179207
180- - name : Check Added Item Field Value
208+ - name : Check Added Item
181209 uses : ./github-script/
182210 env :
183211 DATE_STRING : ${{ steps.get-date.outputs.result }}
@@ -188,6 +216,38 @@ jobs:
188216
189217 assert.strictEqual(process.env.FIELD_VALUE, new Date(process.env.DATE_STRING).toISOString().split('T')[0]);
190218
219+ - name : Edit Item Assignees
220+ uses : ./edit-item/
221+ id : edit-item-assignees
222+ if : ${{ matrix.owner == 'dsanders11-playground-org' && matrix.auth != 'GHA' }}
223+ with :
224+ assignees : dsanders11
225+ item : ${{ steps.get-added-item.outputs.id }}
226+ owner : ${{ steps.copy-project.outputs.owner }}
227+ project-number : ${{ steps.copy-project.outputs.number }}
228+ token : ${{ steps.get-auth-token.outputs.token }}
229+
230+ - name : Get Item After Assignee Edit
231+ uses : ./get-item/
232+ id : get-item-after-assignee-edit
233+ if : ${{ matrix.owner == 'dsanders11-playground-org' && matrix.auth != 'GHA' }}
234+ with :
235+ item : ${{ steps.get-added-item.outputs.id }}
236+ owner : ${{ steps.copy-project.outputs.owner }}
237+ project-number : ${{ steps.copy-project.outputs.number }}
238+ token : ${{ steps.get-auth-token.outputs.token }}
239+
240+ - name : Check Assignees After Edit
241+ uses : ./github-script/
242+ if : ${{ matrix.owner == 'dsanders11-playground-org' && matrix.auth != 'GHA' }}
243+ env :
244+ ASSIGNEES : ${{ steps.get-item-after-assignee-edit.outputs.assignees }}
245+ with :
246+ script : |
247+ const assert = require('node:assert');
248+
249+ assert.strictEqual(process.env.ASSIGNEES, 'dsanders11');
250+
191251 - name : Edit Item
192252 uses : ./edit-item/
193253 id : edit-item
@@ -265,6 +325,37 @@ jobs:
265325 assert.strictEqual(item.field?.value, '⛰️ High');
266326 assert.strictEqual(items.length, 2, 'Expected 2 items');
267327
328+ - name : Test GitHub Script Action (Assignees)
329+ uses : ./github-script/
330+ env :
331+ ITEM_ID : ${{ steps.get-draft-issue.outputs.id }}
332+ PROJECT_ID : ${{ steps.copy-project.outputs.id }}
333+ PROJECT_NUMBER : ${{ steps.copy-project.outputs.number }}
334+ OWNER : ${{ steps.copy-project.outputs.owner }}
335+ with :
336+ token : ${{ steps.get-auth-token.outputs.token }}
337+ script : |
338+ const assert = require('node:assert');
339+
340+ let item = await actions.getItem(
341+ process.env.OWNER,
342+ process.env.PROJECT_NUMBER,
343+ process.env.ITEM_ID,
344+ );
345+
346+ await actions.editItem(process.env.PROJECT_ID, item.content.id, {
347+ assignees: ['dsanders11'],
348+ });
349+
350+ // Verify assignees were set by re-fetching the item
351+ item = await actions.getItem(
352+ process.env.OWNER,
353+ process.env.PROJECT_NUMBER,
354+ process.env.ITEM_ID,
355+ );
356+ const logins = item.content.assignees.nodes.map(a => a.login);
357+ assert.ok(logins.includes('dsanders11'), 'Expected dsanders11 to be an assignee');
358+
268359 # - name: Archive Item
269360 # uses: ./archive-item/
270361 # id: archive-item
0 commit comments