For new worklog report use user defined start of work day #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Issue Responder | |
on: | |
workflow_dispatch: | |
inputs: | |
ticket_number: | |
description: 'Ticket Number' | |
required: true | |
type: integer | |
ticket_type: | |
description: 'Ticket Type' | |
required: true | |
type: choice | |
options: | |
- issues | |
- discussions | |
default: issues | |
avoidUpdate: | |
description: 'Do not update Resource center' | |
required: false | |
type: boolean | |
default: false | |
updateDocsOnly: | |
description: 'Do not add comments to the ticket' | |
required: false | |
type: boolean | |
default: false | |
issues: | |
types: [opened] | |
issue_comment: | |
types: [created] | |
discussion: | |
types: [created] | |
discussion_comment: | |
types: [created] | |
permissions: | |
issues: write | |
discussions: write | |
statuses: write | |
jobs: | |
run-script: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check if comment is from bot user | |
run: | | |
if [[ "${{ github.actor }}" == "github-actions[bot]" ]] && [[ "${{ github.event_name }}" != "workflow_dispatch" ]]; then | |
echo "Comment was made by the GitHub Actions bot. Exiting without running the script." | |
exit 0 | |
fi | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Download script | |
run: | | |
curl -o github.mjs https://bot.jiraassistant.com/actions/github/github.mjs | |
- name: Identify Action | |
run: | | |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
echo "TICKET_TYPE=${{ github.event.inputs.ticket_type }}" >> $GITHUB_ENV | |
echo "TICKET_NUMBER=${{ github.event.inputs.ticket_number }}" >> $GITHUB_ENV | |
elif [[ "${{ github.event_name }}" == "discussion_comment" ]] || [[ "${{ github.event_name }}" == "discussion" ]]; then | |
echo "TICKET_TYPE=discussions" >> $GITHUB_ENV | |
echo "TICKET_NUMBER=${{ github.event.discussion.number }}" >> $GITHUB_ENV | |
else | |
echo "TICKET_TYPE=issues" >> $GITHUB_ENV | |
echo "TICKET_NUMBER=${{ github.event.issue.number }}" >> $GITHUB_ENV | |
fi | |
- name: Retrieve collaborators | |
id: get-collaborators | |
run: | | |
if [[ "${{ github.event_name }}" != "workflow_dispatch" ]]; then | |
collaborators=$(curl -s -H "Authorization: token ${{ github.token }}" \ | |
"https://api.github.com/repos/${{ github.repository }}/collaborators" | \ | |
jq -r '.[].login') | |
echo "${collaborators}" > collaborators.txt | |
fi | |
- name: Check if comment is from collaborator | |
run: | | |
if [[ "${{ github.event_name }}" != "workflow_dispatch" ]]; then | |
COMMENT_USER="${{ github.actor }}" | |
if grep -q "$COMMENT_USER" collaborators.txt; then | |
echo "Comment was made by a collaborator." | |
echo "avoidComments=true" >> $GITHUB_ENV | |
node github.mjs --ticket "$TICKET_NUMBER" \ | |
--ticketType "$TICKET_TYPE" \ | |
--repo "${{ github.repository }}" \ | |
--orgId "${{ vars.RESPONDER_ORG_ID }}" \ | |
--botId "${{ vars.RESPONDER_BOT_ID }}" \ | |
--ghToken "${{ github.token }}" \ | |
--authToken "${{ secrets.RESPONDER_TOKEN }}" \ | |
--updateOnly | |
exit 0 | |
fi | |
elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]] && [[ "${{ github.event.inputs.updateDocsOnly }}" == "true" ]]; then | |
echo "avoidComments=true" >> $GITHUB_ENV | |
node github.mjs --ticket "$TICKET_NUMBER" \ | |
--ticketType "$TICKET_TYPE" \ | |
--repo "${{ github.repository }}" \ | |
--orgId "${{ vars.RESPONDER_ORG_ID }}" \ | |
--botId "${{ vars.RESPONDER_BOT_ID }}" \ | |
--ghToken "${{ github.token }}" \ | |
--authToken "${{ secrets.RESPONDER_TOKEN }}" \ | |
--updateOnly | |
fi | |
- name: Add comment to ticket | |
if: env.avoidComments != 'true' | |
run: | | |
node github.mjs --testMode "${{ github.event.inputs.avoidUpdate }}" --ticket "$TICKET_NUMBER" \ | |
--ticketType "$TICKET_TYPE" \ | |
--repo "${{ github.repository }}" \ | |
--orgId "${{ vars.RESPONDER_ORG_ID }}" \ | |
--botId "${{ vars.RESPONDER_BOT_ID }}" \ | |
--ghToken "${{ github.token }}" \ | |
--authToken "${{ secrets.RESPONDER_TOKEN }}" |