This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 63a53b5
Showing
15 changed files
with
6,845 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"extends": "@atlassian-partner-engineering", | ||
"rules": { | ||
"no-plusplus": "off" | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# Logs | ||
logs | ||
*.log | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
lerna-debug.log* | ||
|
||
# Diagnostic reports (https://nodejs.org/api/report.html) | ||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
|
||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
*.pid.lock | ||
|
||
# Directory for instrumented libs generated by jscoverage/JSCover | ||
lib-cov | ||
|
||
# Coverage directory used by tools like istanbul | ||
coverage | ||
*.lcov | ||
|
||
# nyc test coverage | ||
.nyc_output | ||
|
||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
.grunt | ||
|
||
# Bower dependency directory (https://bower.io/) | ||
bower_components | ||
|
||
# node-waf configuration | ||
.lock-wscript | ||
|
||
# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
build/Release | ||
|
||
# Dependency directories | ||
node_modules/ | ||
jspm_packages/ | ||
|
||
# TypeScript v1 declaration files | ||
typings/ | ||
|
||
# TypeScript cache | ||
*.tsbuildinfo | ||
|
||
# Optional npm cache directory | ||
.npm | ||
|
||
# Optional eslint cache | ||
.eslintcache | ||
|
||
# Optional REPL history | ||
.node_repl_history | ||
|
||
# Output of 'npm pack' | ||
*.tgz | ||
|
||
# Yarn Integrity file | ||
.yarn-integrity | ||
|
||
# dotenv environment variables file | ||
.env | ||
.env.test | ||
|
||
# parcel-bundler cache (https://parceljs.org/) | ||
.cache | ||
|
||
# next.js build output | ||
.next | ||
|
||
# nuxt.js build output | ||
.nuxt | ||
|
||
# vuepress build output | ||
.vuepress/dist | ||
|
||
# Serverless directories | ||
.serverless/ | ||
|
||
# FuseBox cache | ||
.fusebox/ | ||
|
||
# DynamoDB Local files | ||
.dynamodb/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Jira Create | ||
|
||
This project is forked from https://github.com/atlassian/gajira-create | ||
|
||
Please use the offical project if possible | ||
|
||
## What this project can do | ||
|
||
* Create new Jira issue | ||
|
||
## Usage | ||
|
||
``` | ||
- name: Jira issue:create | ||
uses: uses: govcms-extras/github-action-jira-create@main | ||
with: | ||
project: EXAMPLE | ||
issuetype: Task | ||
summary: | | ||
Build completed for ${{ github.repository }} | ||
description: | | ||
Compare branch | ||
fields: '{"customfield_10171": "test"}' | ||
- name: Log created issue | ||
run: echo "Issue ${{ steps.create.outputs.issue }} was created" | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
|
||
const nock = require('nock') | ||
const Action = require('../action') | ||
|
||
const auth = { email: '[email protected]', token: 'tokentoken' } | ||
const baseUrl = 'https://example.com' | ||
const config = { | ||
...auth, | ||
baseUrl, | ||
} | ||
|
||
const projectKey = 'TESTPROJECT' | ||
const issuetypeName = 'TESTISSUETYPE' | ||
|
||
const { mocks } = require('./helpers') | ||
|
||
test(`Should create issue with customfield`, async () => { | ||
const action = new Action({ | ||
argv: { | ||
project: projectKey, | ||
issuetype: issuetypeName, | ||
summary: 'This is summary ref/head/blah', | ||
description: 'This is description ref/head/blah', | ||
fields: '{"customfield_10171" : "test"}', | ||
}, | ||
config, | ||
}) | ||
|
||
const createMetaRequest = nock(baseUrl) | ||
.get('/rest/api/2/issue/createmeta') | ||
.query({ | ||
expand: 'projects.issuetypes.fields', | ||
projectKeys: 'TESTPROJECT', | ||
issuetypeNames: 'TESTISSUETYPE', | ||
}) | ||
.reply(200, mocks.jira.responses.createMeta) | ||
|
||
let createIssueRequestBody = {} | ||
const createIssueRequest = nock(baseUrl) | ||
.post('/rest/api/2/issue') | ||
.reply(200, (url, body) => { | ||
createIssueRequestBody = body | ||
|
||
return { | ||
key: 'TESTPROJECT-2', | ||
} | ||
}) | ||
|
||
await createMetaRequest | ||
await createIssueRequest | ||
|
||
const result = await action.execute() | ||
|
||
expect(createIssueRequestBody).toEqual({ | ||
fields: { | ||
project: { | ||
key: projectKey, | ||
}, | ||
issuetype: { | ||
name: issuetypeName, | ||
}, | ||
summary: 'This is summary ref/head/blah', | ||
description: 'This is description ref/head/blah', | ||
customfield_10171: 'test', | ||
}, | ||
}) | ||
|
||
expect(result).toEqual({ | ||
issue: 'TESTPROJECT-2', | ||
}) | ||
}) | ||
|
||
test(`Should create simple issue without customfield`, async () => { | ||
const action = new Action({ | ||
argv: { | ||
project: projectKey, | ||
issuetype: issuetypeName, | ||
summary: 'This is summary ref/head/blah', | ||
description: 'This is description ref/head/blah', | ||
}, | ||
config, | ||
}) | ||
|
||
const createMetaRequest = nock(baseUrl) | ||
.get('/rest/api/2/issue/createmeta') | ||
.query({ | ||
expand: 'projects.issuetypes.fields', | ||
projectKeys: 'TESTPROJECT', | ||
issuetypeNames: 'TESTISSUETYPE', | ||
}) | ||
.reply(200, mocks.jira.responses.createMeta) | ||
|
||
let createIssueRequestBody = {} | ||
const createIssueRequest = nock(baseUrl) | ||
.post('/rest/api/2/issue') | ||
.reply(200, (url, body) => { | ||
createIssueRequestBody = body | ||
|
||
return { | ||
key: 'TESTPROJECT-2', | ||
} | ||
}) | ||
|
||
await createMetaRequest | ||
await createIssueRequest | ||
|
||
const result = await action.execute() | ||
|
||
expect(createIssueRequestBody).toEqual({ | ||
fields: { | ||
project: { | ||
key: projectKey, | ||
}, | ||
issuetype: { | ||
name: issuetypeName, | ||
}, | ||
summary: 'This is summary ref/head/blah', | ||
description: 'This is description ref/head/blah', | ||
}, | ||
}) | ||
|
||
expect(result).toEqual({ | ||
issue: 'TESTPROJECT-2', | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/* eslint-disable global-require */ | ||
|
||
module.exports = { | ||
mocks: require('./mocks'), | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
const requireDirectory = require('require-directory') | ||
|
||
module.exports = requireDirectory(module) |
Oops, something went wrong.