diff --git a/packages/backend/src/apps/github/data/list-labels/index.ts b/packages/backend/src/apps/github/data/list-labels/index.ts new file mode 100644 index 00000000..2f6974c5 --- /dev/null +++ b/packages/backend/src/apps/github/data/list-labels/index.ts @@ -0,0 +1,26 @@ +import { IGlobalVariable } from '@automatisch/types'; +import getRepoOwnerAndRepo from '../../common/get-repo-owner-and-repo'; +import paginateAll from '../../common/paginate-all'; + +export default { + name: 'List labels', + key: 'listLabels', + + async run($: IGlobalVariable) { + const { + repoOwner, + repo, + } = getRepoOwnerAndRepo($.step.parameters.repo as string); + const firstPageRequest = $.http.get(`/repos/${repoOwner}/${repo}/labels`); + const response = await paginateAll($, firstPageRequest); + + response.data = response.data.map((repo: { name: string }) => { + return { + value: repo.name, + name: repo.name, + }; + }); + + return response; + }, +};