name: Label Component Issues on: issues: types: - opened jobs: add-component-label: runs-on: ubuntu-latest permissions: issues: write steps: - name: Add SDK label if: contains(github.event.issue.body, 'SDK (litellm Python package)') uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const labelName = 'sdk'; try { await github.rest.issues.getLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName }); } catch (error) { if (error.status === 404) { await github.rest.issues.createLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName, color: '0E7C86', description: 'Issues related to the litellm Python SDK' }); } else { throw error; } } await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: [labelName] }); - name: Add Proxy label if: contains(github.event.issue.body, 'Proxy') uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const labelName = 'proxy'; try { await github.rest.issues.getLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName }); } catch (error) { if (error.status === 404) { await github.rest.issues.createLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName, color: '5319E7', description: 'Issues related to the LiteLLM Proxy' }); } else { throw error; } } await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: [labelName] }); - name: Add UI Dashboard label if: contains(github.event.issue.body, 'UI Dashboard') uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const labelName = 'ui-dashboard'; try { await github.rest.issues.getLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName }); } catch (error) { if (error.status === 404) { await github.rest.issues.createLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName, color: 'D876E3', description: 'Issues related to the LiteLLM UI Dashboard' }); } else { throw error; } } await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: [labelName] }); - name: Add Docs label if: contains(github.event.issue.body, 'Docs') uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const labelName = 'docs'; try { await github.rest.issues.getLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName }); } catch (error) { if (error.status === 404) { await github.rest.issues.createLabel({ owner: context.repo.owner, repo: context.repo.repo, name: labelName, color: 'FBCA04', description: 'Issues related to LiteLLM documentation' }); } else { throw error; } } await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: [labelName] });