diff --git a/EXAMPLES.md b/EXAMPLES.md index 5de2c7a..4bf6b99 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -243,7 +243,8 @@ jobs: pull_request_labels: 'enhancement, good first issue' pull_request_assignees: 'crowdin-bot' - pull_request_reviewers: 'crowdin-reviewer' + pull_request_reviewers: 'crowdin-user-reviewer' + pull_request_team_reviewers: 'crowdin-team-reviewer' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} diff --git a/README.md b/README.md index 326427e..9f65238 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,9 @@ In case you don’t want to download translations from Crowdin (`download_transl pull_request_body: 'New Crowdin pull request with translations' pull_request_labels: 'enhancement, good first issue' pull_request_assignees: 'crowdin-bot' - pull_request_reviewers: 'crowdin-reviewer' + pull_request_reviewers: 'crowdin-user-reviewer' + pull_request_team_reviewers: 'crowdin-team-reviewer' + # This is the name of the git branch to with pull request will be created. # If not specified default repository branch will be used. pull_request_base_branch_name: not_default_branch diff --git a/action.yml b/action.yml index 30f6617..3a1f488 100644 --- a/action.yml +++ b/action.yml @@ -101,6 +101,9 @@ inputs: pull_request_reviewers: description: 'Usernames of people from whom a review is requested for this pull request (separated by comma)' required: false + pull_request_team_reviewers: + description: 'Team slugs from which a review is requested for this pull request (separated by comma)' + required: false pull_request_labels: description: 'To add labels for created pull request' required: false diff --git a/entrypoint.sh b/entrypoint.sh index a3289ca..aa88024 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -161,19 +161,34 @@ create_pull_request() { fi fi - if [ -n "$INPUT_PULL_REQUEST_REVIEWERS" ]; then - PULL_REQUEST_REVIEWERS=$(echo "[\"${INPUT_PULL_REQUEST_REVIEWERS}\"]" | sed 's/, \|,/","/g') + if [ -n "$INPUT_PULL_REQUEST_REVIEWERS" ] || [ -n "$INPUT_PULL_REQUEST_TEAM_REVIEWERS" ]; then + if [ -n "$INPUT_PULL_REQUEST_REVIEWERS" ]; then + PULL_REQUEST_REVIEWERS=$(echo "\"${INPUT_PULL_REQUEST_REVIEWERS}\"" | sed 's/, \|,/","/g') + + if [ "$(echo "$PULL_REQUEST_REVIEWERS" | jq -e . > /dev/null 2>&1; echo $?)" -eq 0 ]; then + echo "ADD REVIEWERS TO PULL REQUEST" + else + echo "JSON OF pull_request_reviewers IS INVALID: ${PULL_REQUEST_REVIEWERS}" + fi + fi - if [ "$(echo "$PULL_REQUEST_REVIEWERS" | jq -e . > /dev/null 2>&1; echo $?)" -eq 0 ]; then - echo "ADD REVIEWERS TO PULL REQUEST" + if [ -n "$INPUT_PULL_REQUEST_TEAM_REVIEWERS" ]; then + PULL_REQUEST_TEAM_REVIEWERS=$(echo "\"${INPUT_PULL_REQUEST_TEAM_REVIEWERS}\"" | sed 's/, \|,/","/g') - REVIEWERS_URL="${REPO_URL}/pulls/${PULL_REQUESTS_NUMBER}/requested_reviewers" - REVIEWERS_DATA="{\"reviewers\":${PULL_REQUEST_REVIEWERS}}" + if [ "$(echo "$PULL_REQUEST_TEAM_REVIEWERS" | jq -e . > /dev/null 2>&1; echo $?)" -eq 0 ]; then + echo "ADD TEAM REVIEWERS TO PULL REQUEST" + else + echo "JSON OF pull_request_team_reviewers IS INVALID: ${PULL_REQUEST_TEAM_REVIEWERS}" + fi + fi + { + REVIEWERS_URL="${REPO_URL}/pulls/${PULL_REQUESTS_NUMBER}/requested_reviewers" + REVIEWERS_DATA="{\"reviewers\":[${PULL_REQUEST_REVIEWERS}],\"team_reviewers\":[${PULL_REQUEST_TEAM_REVIEWERS}]}" curl -sSL -H "${AUTH_HEADER}" -H "${HEADER}" -X POST --data "${REVIEWERS_DATA}" "${REVIEWERS_URL}" - else - echo "JSON OF pull_request_reviewers IS INVALID: ${PULL_REQUEST_REVIEWERS}" - fi + } || { + echo "Failed to add reviewers." + } fi echo "PULL REQUEST CREATED: ${PULL_REQUESTS_URL}"