mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 20:54:07 -08:00
feat(Jira Software Node): Add Wiki Markup support for Jira Cloud comments (#8857)
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
This commit is contained in:
parent
00dfad3279
commit
756012b052
|
@ -111,7 +111,7 @@ export const issueCommentFields: INodeProperties[] = [
|
||||||
displayName: 'Options',
|
displayName: 'Options',
|
||||||
name: 'options',
|
name: 'options',
|
||||||
type: 'collection',
|
type: 'collection',
|
||||||
placeholder: 'Add Field',
|
placeholder: 'Add Option',
|
||||||
default: {},
|
default: {},
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
@ -130,10 +130,23 @@ export const issueCommentFields: INodeProperties[] = [
|
||||||
value: 'renderedBody',
|
value: 'renderedBody',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: '',
|
default: [],
|
||||||
description:
|
description:
|
||||||
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Use Wiki Markup',
|
||||||
|
name: 'wikiMarkup',
|
||||||
|
type: 'boolean',
|
||||||
|
default: false,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
'/jiraVersion': ['cloud'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
description:
|
||||||
|
'Whether to enable parsing of wikiformatting for this comment. Default is false.',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -269,7 +282,7 @@ export const issueCommentFields: INodeProperties[] = [
|
||||||
value: 'renderedBody',
|
value: 'renderedBody',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: '',
|
default: 'renderedBody',
|
||||||
description:
|
description:
|
||||||
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
||||||
},
|
},
|
||||||
|
@ -384,7 +397,7 @@ export const issueCommentFields: INodeProperties[] = [
|
||||||
displayName: 'Options',
|
displayName: 'Options',
|
||||||
name: 'options',
|
name: 'options',
|
||||||
type: 'collection',
|
type: 'collection',
|
||||||
placeholder: 'Add Field',
|
placeholder: 'Add Option',
|
||||||
default: {},
|
default: {},
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
@ -403,10 +416,23 @@ export const issueCommentFields: INodeProperties[] = [
|
||||||
value: 'renderedBody',
|
value: 'renderedBody',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: '',
|
default: 'renderedBody',
|
||||||
description:
|
description:
|
||||||
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
'Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Use Wiki Markup',
|
||||||
|
name: 'wikiMarkup',
|
||||||
|
type: 'boolean',
|
||||||
|
default: false,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
'/jiraVersion': ['cloud'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
description:
|
||||||
|
'Whether to enable parsing of wikiformatting for this comment. Default is false.',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -1167,7 +1167,7 @@ export class Jira implements INodeType {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resource === 'issueComment') {
|
if (resource === 'issueComment') {
|
||||||
const apiVersion = jiraVersion === 'server' ? '2' : ('3' as string);
|
let apiVersion = jiraVersion === 'server' ? '2' : ('3' as string);
|
||||||
|
|
||||||
//https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-post
|
//https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-post
|
||||||
if (operation === 'add') {
|
if (operation === 'add') {
|
||||||
|
@ -1175,6 +1175,11 @@ export class Jira implements INodeType {
|
||||||
const jsonParameters = this.getNodeParameter('jsonParameters', 0);
|
const jsonParameters = this.getNodeParameter('jsonParameters', 0);
|
||||||
const issueKey = this.getNodeParameter('issueKey', i) as string;
|
const issueKey = this.getNodeParameter('issueKey', i) as string;
|
||||||
const options = this.getNodeParameter('options', i);
|
const options = this.getNodeParameter('options', i);
|
||||||
|
|
||||||
|
if (options.wikiMarkup) {
|
||||||
|
apiVersion = '2';
|
||||||
|
}
|
||||||
|
|
||||||
const body: IDataObject = {};
|
const body: IDataObject = {};
|
||||||
if (options.expand) {
|
if (options.expand) {
|
||||||
qs.expand = options.expand as string;
|
qs.expand = options.expand as string;
|
||||||
|
@ -1184,7 +1189,7 @@ export class Jira implements INodeType {
|
||||||
Object.assign(body, options);
|
Object.assign(body, options);
|
||||||
if (!jsonParameters) {
|
if (!jsonParameters) {
|
||||||
const comment = this.getNodeParameter('comment', i) as string;
|
const comment = this.getNodeParameter('comment', i) as string;
|
||||||
if (jiraVersion === 'server') {
|
if (jiraVersion === 'server' || options.wikiMarkup) {
|
||||||
Object.assign(body, { body: comment });
|
Object.assign(body, { body: comment });
|
||||||
} else {
|
} else {
|
||||||
Object.assign(body, {
|
Object.assign(body, {
|
||||||
|
@ -1327,10 +1332,15 @@ export class Jira implements INodeType {
|
||||||
qs.expand = options.expand as string;
|
qs.expand = options.expand as string;
|
||||||
delete options.expand;
|
delete options.expand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options.wikiMarkup) {
|
||||||
|
apiVersion = '2';
|
||||||
|
}
|
||||||
|
|
||||||
Object.assign(qs, options);
|
Object.assign(qs, options);
|
||||||
if (!jsonParameters) {
|
if (!jsonParameters) {
|
||||||
const comment = this.getNodeParameter('comment', i) as string;
|
const comment = this.getNodeParameter('comment', i) as string;
|
||||||
if (jiraVersion === 'server') {
|
if (jiraVersion === 'server' || options.wikiMarkup) {
|
||||||
Object.assign(body, { body: comment });
|
Object.assign(body, { body: comment });
|
||||||
} else {
|
} else {
|
||||||
Object.assign(body, {
|
Object.assign(body, {
|
||||||
|
|
Loading…
Reference in a new issue