Merge pull request #324 from actions/mattcosta7/patch-1
Mattcosta7/patch 1
This commit is contained in:
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
---
|
||||
name: "@actions/core"
|
||||
name: '@actions/core'
|
||||
version: 1.10.0
|
||||
type: npm
|
||||
summary: Actions core lib
|
||||
homepage: https://github.com/actions/toolkit/tree/main/packages/core
|
||||
license: mit
|
||||
licenses:
|
||||
- sources: LICENSE.md
|
||||
- sources: LICENSE.md
|
||||
text: |-
|
||||
The MIT License (MIT)
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -6,7 +6,7 @@ summary: RFC4122 (v1, v4, and v5) UUIDs
|
||||
homepage:
|
||||
license: mit
|
||||
licenses:
|
||||
- sources: LICENSE.md
|
||||
- sources: LICENSE.md
|
||||
text: |
|
||||
The MIT License (MIT)
|
||||
|
||||
|
||||
@@ -144,6 +144,7 @@ Using these events ensure that a given issue or pull request, in the workflow's
|
||||
_See [Encrypted secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) for more information_
|
||||
|
||||
## Setting a specific status or column name to the project item
|
||||
|
||||
If you want to add an issue to a custom default column in a project (i.e. other than 'Todo'), you can do this directly via the project UI. You don't need to add anything else to your YAML workflow file to get this to work.
|
||||
|
||||
Use the [Add To GitHub Projects](https://github.com/marketplace/actions/add-to-github-projects) action to assign newly opened issues to the project. And then in the project UI simply [specify which column to use as the default](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects#configure-built-in-automation)!
|
||||
|
||||
+189
-189
@@ -13,7 +13,7 @@ describe('addToProject', () => {
|
||||
beforeEach(() => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token'
|
||||
'github-token': 'gh_token',
|
||||
})
|
||||
|
||||
outputs = mockSetOutput()
|
||||
@@ -30,14 +30,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -46,21 +46,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -74,14 +74,14 @@ describe('addToProject', () => {
|
||||
number: 2221,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/octokit/octokit.js/issues/2221'
|
||||
html_url: 'https://github.com/octokit/octokit.js/issues/2221',
|
||||
},
|
||||
repository: {
|
||||
name: 'octokit.js',
|
||||
owner: {
|
||||
login: 'octokit'
|
||||
}
|
||||
}
|
||||
login: 'octokit',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -90,21 +90,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2DraftIssue/,
|
||||
return: {
|
||||
addProjectV2DraftIssue: {
|
||||
projectItem: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -116,7 +116,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new'
|
||||
labeled: 'bug, new',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -124,14 +124,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -140,21 +140,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -166,7 +166,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new'
|
||||
labeled: 'bug, new',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -175,14 +175,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/pull/136'
|
||||
html_url: 'https://github.com/actions/add-to-project/pull/136',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -191,21 +191,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -217,7 +217,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug'
|
||||
labeled: 'bug',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -225,14 +225,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
@@ -247,7 +247,7 @@ describe('addToProject', () => {
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new',
|
||||
'label-operator': 'AND'
|
||||
'label-operator': 'AND',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -255,14 +255,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}, {name: 'new'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -271,21 +271,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -298,7 +298,7 @@ describe('addToProject', () => {
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new',
|
||||
'label-operator': 'AND'
|
||||
'label-operator': 'AND',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -306,14 +306,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}, {name: 'other'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
@@ -328,7 +328,7 @@ describe('addToProject', () => {
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new',
|
||||
'label-operator': 'NOT'
|
||||
'label-operator': 'NOT',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -336,14 +336,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
@@ -358,7 +358,7 @@ describe('addToProject', () => {
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new',
|
||||
'label-operator': 'NOT'
|
||||
'label-operator': 'NOT',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -366,14 +366,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'other'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -382,21 +382,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-next-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-next-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-next-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-next-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -408,7 +408,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'accessibility,backend,bug'
|
||||
labeled: 'accessibility,backend,bug',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -416,14 +416,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'accessibility'}, {name: 'backend'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const gqlMock = mockGraphQL(
|
||||
@@ -432,21 +432,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
@@ -464,7 +464,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'accessibility, backend, bug'
|
||||
labeled: 'accessibility, backend, bug',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -472,21 +472,21 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'data'}, {name: 'frontend'}, {name: 'improvement'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
const gqlMock = mockGraphQL()
|
||||
await addToProject()
|
||||
expect(infoSpy).toHaveBeenCalledWith(
|
||||
`Skipping issue 1 because it does not have one of the labels: accessibility, backend, bug`
|
||||
`Skipping issue 1 because it does not have one of the labels: accessibility, backend, bug`,
|
||||
)
|
||||
expect(gqlMock).not.toHaveBeenCalled()
|
||||
})
|
||||
@@ -495,7 +495,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'accessibility , backend ,, . , bug'
|
||||
labeled: 'accessibility , backend ,, . , bug',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -504,14 +504,14 @@ describe('addToProject', () => {
|
||||
labels: [{name: 'accessibility'}, {name: 'backend'}, {name: 'bug'}],
|
||||
'label-operator': 'AND',
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const gqlMock = mockGraphQL(
|
||||
@@ -520,21 +520,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
@@ -551,7 +551,7 @@ describe('addToProject', () => {
|
||||
test(`throws an error when url isn't a valid project url`, async () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/github/repositories',
|
||||
'github-token': 'gh_token'
|
||||
'github-token': 'gh_token',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -559,20 +559,20 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
const gqlMock = mockGraphQL()
|
||||
await expect(addToProject()).rejects.toThrow(
|
||||
'https://github.com/orgs/github/repositories. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>'
|
||||
'https://github.com/orgs/github/repositories. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>',
|
||||
)
|
||||
expect(infoSpy).not.toHaveBeenCalled()
|
||||
expect(gqlMock).not.toHaveBeenCalled()
|
||||
@@ -581,7 +581,7 @@ describe('addToProject', () => {
|
||||
test(`throws an error when url isn't under the github.com domain`, async () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://notgithub.com/orgs/github/projects/1',
|
||||
'github-token': 'gh_token'
|
||||
'github-token': 'gh_token',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -589,20 +589,20 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const infoSpy = jest.spyOn(core, 'info')
|
||||
const gqlMock = mockGraphQL()
|
||||
await expect(addToProject()).rejects.toThrow(
|
||||
'https://notgithub.com/orgs/github/projects/1. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>'
|
||||
'https://notgithub.com/orgs/github/projects/1. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>',
|
||||
)
|
||||
expect(infoSpy).not.toHaveBeenCalled()
|
||||
expect(gqlMock).not.toHaveBeenCalled()
|
||||
@@ -612,7 +612,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new'
|
||||
labeled: 'bug, new',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -620,14 +620,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const gqlMock = mockGraphQL(
|
||||
@@ -636,28 +636,28 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
|
||||
expect(gqlMock).toHaveBeenNthCalledWith(1, expect.stringContaining('organization(login: $projectOwnerName)'), {
|
||||
projectOwnerName: 'actions',
|
||||
projectNumber: 1
|
||||
projectNumber: 1,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -665,7 +665,7 @@ describe('addToProject', () => {
|
||||
mockGetInput({
|
||||
'project-url': 'https://github.com/users/monalisa/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'bug, new'
|
||||
labeled: 'bug, new',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -673,14 +673,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'bug'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/monalisa/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/monalisa/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'monalisa'
|
||||
}
|
||||
}
|
||||
login: 'monalisa',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const gqlMock = mockGraphQL(
|
||||
@@ -689,28 +689,28 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
|
||||
expect(gqlMock).toHaveBeenNthCalledWith(1, expect.stringContaining('user(login: $projectOwnerName)'), {
|
||||
projectOwnerName: 'monalisa',
|
||||
projectNumber: 1
|
||||
projectNumber: 1,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -719,7 +719,7 @@ describe('addToProject', () => {
|
||||
'project-url': 'https://github.com/orgs/actions/projects/1',
|
||||
'github-token': 'gh_token',
|
||||
labeled: 'FOO, Bar, baz',
|
||||
'label-operator': 'AND'
|
||||
'label-operator': 'AND',
|
||||
})
|
||||
|
||||
github.context.payload = {
|
||||
@@ -727,14 +727,14 @@ describe('addToProject', () => {
|
||||
number: 1,
|
||||
labels: [{name: 'foo'}, {name: 'BAR'}, {name: 'baz'}],
|
||||
// eslint-disable-next-line camelcase
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74'
|
||||
html_url: 'https://github.com/actions/add-to-project/issues/74',
|
||||
},
|
||||
repository: {
|
||||
name: 'add-to-project',
|
||||
owner: {
|
||||
login: 'actions'
|
||||
}
|
||||
}
|
||||
login: 'actions',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
mockGraphQL(
|
||||
@@ -743,21 +743,21 @@ describe('addToProject', () => {
|
||||
return: {
|
||||
organization: {
|
||||
projectV2: {
|
||||
id: 'project-next-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-next-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /addProjectV2ItemById/,
|
||||
return: {
|
||||
addProjectV2ItemById: {
|
||||
item: {
|
||||
id: 'project-next-item-id'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
id: 'project-next-item-id',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
await addToProject()
|
||||
@@ -810,7 +810,7 @@ function mockGraphQL(...mocks: {test: RegExp; return: unknown}[]): jest.Mock {
|
||||
|
||||
jest.spyOn(github, 'getOctokit').mockImplementation(() => {
|
||||
return {
|
||||
graphql: mock
|
||||
graphql: mock,
|
||||
} as unknown as ReturnType<typeof github.getOctokit>
|
||||
})
|
||||
|
||||
|
||||
+5
-4
@@ -61,6 +61,7 @@ function addToProject() {
|
||||
const issueLabels = ((_c = issue === null || issue === void 0 ? void 0 : issue.labels) !== null && _c !== void 0 ? _c : []).map((l) => l.name.toLowerCase());
|
||||
const issueOwnerName = (_d = github.context.payload.repository) === null || _d === void 0 ? void 0 : _d.owner.login;
|
||||
core.debug(`Issue/PR owner: ${issueOwnerName}`);
|
||||
core.debug(`Issue/PR labels: ${issueLabels.join(', ')}`);
|
||||
// Ensure the issue matches our `labeled` filter based on the label-operator.
|
||||
if (labelOperator === 'and') {
|
||||
if (!labeled.every(l => issueLabels.includes(l))) {
|
||||
@@ -101,7 +102,7 @@ function addToProject() {
|
||||
}
|
||||
}`, {
|
||||
projectOwnerName,
|
||||
projectNumber
|
||||
projectNumber,
|
||||
});
|
||||
const projectId = (_j = idResp[ownerTypeQuery]) === null || _j === void 0 ? void 0 : _j.projectV2.id;
|
||||
const contentId = issue === null || issue === void 0 ? void 0 : issue.node_id;
|
||||
@@ -121,8 +122,8 @@ function addToProject() {
|
||||
}`, {
|
||||
input: {
|
||||
projectId,
|
||||
contentId
|
||||
}
|
||||
contentId,
|
||||
},
|
||||
});
|
||||
core.setOutput('itemId', addResp.addProjectV2ItemById.item.id);
|
||||
}
|
||||
@@ -139,7 +140,7 @@ function addToProject() {
|
||||
}
|
||||
}`, {
|
||||
projectId,
|
||||
title: issue === null || issue === void 0 ? void 0 : issue.html_url
|
||||
title: issue === null || issue === void 0 ? void 0 : issue.html_url,
|
||||
});
|
||||
core.setOutput('itemId', addResp.addProjectV2DraftIssue.projectItem.id);
|
||||
}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
@@ -3,7 +3,7 @@ module.exports = {
|
||||
moduleFileExtensions: ['js', 'ts'],
|
||||
testMatch: ['**/*.test.ts'],
|
||||
transform: {
|
||||
'^.+\\.ts$': 'ts-jest'
|
||||
'^.+\\.ts$': 'ts-jest',
|
||||
},
|
||||
verbose: true
|
||||
verbose: true,
|
||||
}
|
||||
|
||||
Generated
+2
-2
@@ -29,8 +29,8 @@
|
||||
"typescript": "^4.9.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0",
|
||||
"npm": ">= 7.0.0"
|
||||
"node": ">=16.0.0 <20.0.0",
|
||||
"npm": ">= 8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/core": {
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
"@actions/github": "^5.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0",
|
||||
"npm": ">= 7.0.0"
|
||||
"node": ">=16.0.0 <20.0.0",
|
||||
"npm": ">= 8.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@github/prettier-config": "^0.0.6",
|
||||
|
||||
@@ -54,6 +54,7 @@ export async function addToProject(): Promise<void> {
|
||||
const issueOwnerName = github.context.payload.repository?.owner.login
|
||||
|
||||
core.debug(`Issue/PR owner: ${issueOwnerName}`)
|
||||
core.debug(`Issue/PR labels: ${issueLabels.join(', ')}`)
|
||||
|
||||
// Ensure the issue matches our `labeled` filter based on the label-operator.
|
||||
if (labelOperator === 'and') {
|
||||
@@ -79,7 +80,7 @@ export async function addToProject(): Promise<void> {
|
||||
|
||||
if (!urlMatch) {
|
||||
throw new Error(
|
||||
`Invalid project URL: ${projectUrl}. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>`
|
||||
`Invalid project URL: ${projectUrl}. Project URL should match the format https://github.com/<orgs-or-users>/<ownerName>/projects/<projectNumber>`,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -103,8 +104,8 @@ export async function addToProject(): Promise<void> {
|
||||
}`,
|
||||
{
|
||||
projectOwnerName,
|
||||
projectNumber
|
||||
}
|
||||
projectNumber,
|
||||
},
|
||||
)
|
||||
|
||||
const projectId = idResp[ownerTypeQuery]?.projectV2.id
|
||||
@@ -130,9 +131,9 @@ export async function addToProject(): Promise<void> {
|
||||
{
|
||||
input: {
|
||||
projectId,
|
||||
contentId
|
||||
}
|
||||
}
|
||||
contentId,
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
core.setOutput('itemId', addResp.addProjectV2ItemById.item.id)
|
||||
@@ -152,8 +153,8 @@ export async function addToProject(): Promise<void> {
|
||||
}`,
|
||||
{
|
||||
projectId,
|
||||
title: issue?.html_url
|
||||
}
|
||||
title: issue?.html_url,
|
||||
},
|
||||
)
|
||||
|
||||
core.setOutput('itemId', addResp.addProjectV2DraftIssue.projectItem.id)
|
||||
|
||||
+2
-1
@@ -6,7 +6,8 @@
|
||||
"rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
|
||||
"strict": true /* Enable all strict type-checking options. */,
|
||||
"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
|
||||
"noUncheckedIndexedAccess": true
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user