-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
enhancementNew feature or requestNew feature or request
Description
I'm trying to send a message using only blocks, but the action don't accept this. Have an default to fields, text, title, footer and authors.
The message structure don't allow the blocks inside the message, always the blocks push at the end of the message.
Lines 229 to 269 in c97e3fd
| const pretextTemplate = Handlebars.compile(opts?.pretext || '') | |
| const titleTemplate = Handlebars.compile(opts?.title || '') | |
| const defaultText = `${ | |
| '*<{{{workflowUrl}}}|Workflow _{{workflow}}_ ' + | |
| 'job _{{jobName}}_ triggered by _{{eventName}}_ is _{{jobStatus}}_>* ' + | |
| 'for <{{refUrl}}|`{{ref}}`>\n' | |
| }${description ? '<{{diffUrl}}|`{{diffRef}}`> - {{{description}}}' : ''}` | |
| const textTemplate = Handlebars.compile(message || opts?.text || defaultText) | |
| const defaultFallback = `[GitHub]: [{{repositoryName}}] {{workflow}} {{eventName}} ${ | |
| action ? '{{action}} ' : '' | |
| }{{jobStatus}}` | |
| const fallbackTemplate = Handlebars.compile(opts?.fallback || defaultFallback) | |
| const defaultFields = Object.entries(jobSteps).length | |
| ? [ | |
| { | |
| title: 'Job Steps', | |
| value: '{{#each jobSteps}}{{icon this.outcome}} {{@key}}\n{{~/each}}', | |
| short: false, | |
| if: 'always()' | |
| } | |
| ] | |
| : [] | |
| const filteredFields: object[] = [] | |
| for (const field of opts?.fields || defaultFields) { | |
| const field_if = field?.if || 'always()' | |
| if (field_if === 'always()' || field_if.startsWith(jobStatus.toLowerCase())) { | |
| filteredFields.push({ | |
| title: field.title, | |
| value: field.value, | |
| short: JSON.parse(field.short.toString()) | |
| }) | |
| } | |
| } | |
| const fieldsTemplate = Handlebars.compile(JSON.stringify(filteredFields)) | |
| const defaultFooter = '<{{repositoryUrl}}|{{repositoryName}}> #{{runNumber}}' | |
| const footerTemplate = Handlebars.compile(opts?.footer || defaultFooter) |
Lines 334 to 359 in c97e3fd
| const attachments: MessageAttachment[] = [ | |
| { | |
| mrkdwn_in: ['pretext' as const, 'text' as const, 'fields' as const], | |
| color: jobColor(jobStatus, opts?.colors), | |
| pretext, | |
| author_name: sender?.login, | |
| author_link: sender?.html_url, | |
| author_icon: sender?.avatar_url, | |
| title, | |
| title_link: opts?.title_link, | |
| text, | |
| fields, | |
| fallback, | |
| footer, | |
| footer_icon: DEFAULT_FOOTER_ICON, | |
| ts: ts.toString() | |
| } | |
| ] | |
| if (opts?.blocks) { | |
| attachments.push({ | |
| color: jobColor(jobStatus, opts?.colors), | |
| fallback, | |
| blocks | |
| }) | |
| } |
The feature i propose is omit the default values and only build the message with blocks.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request