UNPKG

@pipedream/fogbugz

Version:

Pipedream FogBugz Components

104 lines (102 loc) 2.22 kB
import { parseObject } from "../../common/utils.mjs"; import fogbugz from "../../fogbugz.app.mjs"; export default { key: "fogbugz-create-case", name: "Create Case", description: "Creates a new case on FogBugz. [See the documentation](https://support.fogbugz.com/hc/en-us/articles/360011330713-FogBugz-XML-API-Editing-Cases)", version: "0.0.1", type: "action", props: { fogbugz, ixBugParent: { propDefinition: [ fogbugz, "ixBugParentId", ], optional: true, }, sTitle: { propDefinition: [ fogbugz, "sTitle", ], }, sTags: { propDefinition: [ fogbugz, "sTags", ], optional: true, }, ixProject: { propDefinition: [ fogbugz, "ixProjectId", ], optional: true, }, ixArea: { propDefinition: [ fogbugz, "ixAreaId", ], optional: true, }, ixCategory: { propDefinition: [ fogbugz, "ixCategoryId", ({ ixProject }) => ({ ixProject, }), ], optional: true, }, ixPersonId: { propDefinition: [ fogbugz, "ixPersonId", ], label: "Ix Person Assigned To", description: "The Id of the Person assigned to the case.", optional: true, }, ixPriority: { propDefinition: [ fogbugz, "ixPriorityId", ], optional: true, }, }, methods: { async createCase({ data, ...opts }) { return await this.fogbugz.post({ data: { cmd: "new", ...data, }, ...opts, }); }, }, async run({ $ }) { const response = await this.createCase({ $, data: { ixBugParent: this.ixBugParent, sTitle: this. sTitle, sTags: parseObject(this.sTags).toString(), ixProject: this.ixProject, ixArea: this.ixArea, ixCategory: this.ixCategory, ixPersonAssignedTo: this.ixPersonId, ixPriority: this.ixPriority, }, }); $.export("$summary", `Successfully created case with Id: ${response.data?.case?.ixBug}`); return response; }, };