import defineAction from '../../../../helpers/define-action.js'; export default defineAction({ name: 'Create board', key: 'createBoard', description: 'Creates a new board.', arguments: [ { label: 'Title', key: 'title', type: 'string', required: true, description: 'Title for the board.', variables: true, }, { label: 'Description', key: 'description', type: 'string', required: false, description: 'Description of the board.', variables: true, }, { label: 'Team Access', key: 'teamAccess', type: 'dropdown', required: false, description: 'Team access to the board. Can be private, view, comment or edit. Default: private.', variables: true, options: [ { label: 'Private - nobody in the team can find and access the board', value: 'private', }, { label: 'View - any team member can find and view the board', value: 'view', }, { label: 'Comment - any team member can find and comment the board', value: 'comment', }, { label: 'Edit - any team member can find and edit the board', value: 'edit', }, ], }, { label: 'Access Via Link', key: 'accessViaLink', type: 'dropdown', required: false, description: 'Access to the board by link. Can be private, view, comment. Default: private.', variables: true, options: [ { label: 'Private - only you have access to the board', value: 'private', }, { label: 'View - can view, no sign-in required', value: 'view', }, { label: 'Comment - can comment, no sign-in required', value: 'comment', }, ], }, ], async run($) { const body = { name: $.step.parameters.title, description: $.step.parameters.description, policy: { sharingPolicy: { access: $.step.parameters.accessViaLink || 'private', teamAccess: $.step.parameters.teamAccess || 'private', }, }, }; const { data } = await $.http.post('/v2/boards', body); $.setActionItem({ raw: data, }); }, });