Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d4ddde5279 | ||
![]() |
176d056aed |
@@ -0,0 +1,49 @@
|
||||
import defineAction from '../../../../helpers/define-action.js';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Find project',
|
||||
key: 'findProject',
|
||||
description: 'Finds an existing project.',
|
||||
arguments: [
|
||||
{
|
||||
label: 'Workspace',
|
||||
key: 'workspaceId',
|
||||
type: 'dropdown',
|
||||
required: true,
|
||||
description: '',
|
||||
variables: true,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
value: 'listWorkspaces',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Name',
|
||||
key: 'name',
|
||||
type: 'string',
|
||||
required: true,
|
||||
description: '',
|
||||
variables: true,
|
||||
},
|
||||
],
|
||||
|
||||
async run($) {
|
||||
const { workspaceId, name } = $.step.parameters;
|
||||
|
||||
const { data } = await $.http.get(
|
||||
`/1.0/workspaces/${workspaceId}/projects`
|
||||
);
|
||||
|
||||
const project = data.data.find((project) => project.name === name);
|
||||
|
||||
$.setActionItem({
|
||||
raw: project,
|
||||
});
|
||||
},
|
||||
});
|
@@ -0,0 +1,69 @@
|
||||
import defineAction from '../../../../helpers/define-action.js';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Find task in a project',
|
||||
key: 'findTaskInProject',
|
||||
description: 'Finds an existing task within a project.',
|
||||
arguments: [
|
||||
{
|
||||
label: 'Workspace',
|
||||
key: 'workspaceId',
|
||||
type: 'dropdown',
|
||||
required: true,
|
||||
description: '',
|
||||
variables: true,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
value: 'listWorkspaces',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Project',
|
||||
key: 'projectId',
|
||||
type: 'dropdown',
|
||||
required: true,
|
||||
description: '',
|
||||
variables: true,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
value: 'listProjects',
|
||||
},
|
||||
{
|
||||
name: 'parameters.workspaceId',
|
||||
value: '{parameters.workspaceId}',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Task Name',
|
||||
key: 'taskName',
|
||||
type: 'string',
|
||||
required: true,
|
||||
description: '',
|
||||
variables: true,
|
||||
},
|
||||
],
|
||||
|
||||
async run($) {
|
||||
const { projectId, taskName } = $.step.parameters;
|
||||
|
||||
const { data } = await $.http.get(`/1.0/projects/${projectId}/tasks`);
|
||||
|
||||
const task = data.data.find((task) => task.name === taskName);
|
||||
|
||||
$.setActionItem({
|
||||
raw: task,
|
||||
});
|
||||
},
|
||||
});
|
@@ -1,4 +1,6 @@
|
||||
import createProject from './create-project/index.js';
|
||||
import createTask from './create-task/index.js';
|
||||
import findProject from './find-project/index.js';
|
||||
import findTaskInProject from './find-task-in-project/index.js';
|
||||
|
||||
export default [createProject, createTask];
|
||||
export default [createProject, createTask, findProject, findTaskInProject];
|
||||
|
@@ -5,6 +5,10 @@ items:
|
||||
desc: Creates a new project.
|
||||
- name: Create task
|
||||
desc: Creates a new task.
|
||||
- name: Find project
|
||||
desc: Finds an existing project.
|
||||
- name: Find task in a project
|
||||
desc: Finds an existing task within a project.
|
||||
---
|
||||
|
||||
<script setup>
|
||||
|
Reference in New Issue
Block a user