1

Watch our latest Product Showcase

Group 370
2

Meet us at WeAreDevelopers World Congress in Berlin

Group 370
3

Spotlight Whitepaper by IDC on Importance of Automated Code Review Technologies

Group 370

Using the API to add Codacy Grade details to the Readme

In this article:
Subscribe to our blog:

Some context

Prerequisites — A Placeholder

# An amazing repository with code<!-- codacy-status --> 
<!-- /codacy-status -->

Hands-on

name: Update Readmeon:
  push:
    branches-ignore:
      - masterjobs:
  update-readme:
    runs-on: ubuntu-latest
    steps:
     - uses: actions/checkout@v2
       with:
        ref: $
     - name: update README.md with codacy status
       run: |
          RETRIES=0
          ANALYZED=$(curl -X GET https://app.codacy.com/api/v3/analysis/organizations/gh/codacy-acme/repositories/nodeproject/commits/${GITHUB_SHA}/deltaStatistics -H 'api-token: $' | jq '.analyzed')
          while [ $ANALYZED != "true" ]
          do
          sleep 10s
          RETRIES=$((RETRIES+1))
          if [ "$RETRIES" -gt "10" ]; then
            echo "pipeline will exit due to max retries (10)"
            exit 0
          fi
          ANALYZED=$(curl -X GET https://app.codacy.com/api/v3/analysis/organizations/gh/codacy-acme/repositories/nodeproject/commits/${GITHUB_SHA}/deltaStatistics -H 'api-token: $' | jq '.analyzed')
          done
          RESULT=$(curl https://app.codacy.com/api/v3/analysis/organizations/gh/codacy-acme/repositories/nodeproject | jq -r -j '["Grade: \(.data.grade) |", "Issues: \(.data.issuesPercentage)% |", "Complex Files: \(.data.complexFilesPercentage)% |", "Coverage: \(.data.coverage.coveragePercentage)%"]' | tr -d \" | tr -d \[ | tr  -d \] | tr -d , | tr -d '\n')
          sed -i ":a;N;\$!ba;s/\(<!-- codacy-status -->\).*\(<!-- \/codacy-status -->\)/\1 \n$RESULT\n \2/g" README.md
       env:
        CI: true
     - uses: stefanzweifel/git-auto-commit-action@v4
       with:
        commit_message: "Update README.md with Project Grade"
        file_pattern: README.md

Downside

 

If you’d like to learn more about using the Codacy API, please check our docs page on the API v3. For more on our product and updates on our static analysis tool, check out Codacy’s product page.

This article was originally published by Hélio, Sr. Solutions Engineer at Codacy on his Medium account. 

RELATED
BLOG POSTS

Why we implemented Offline days at Codacy
Since the Coronavirus outbreak, like most people, we are facing a unique reality that is challenging us in many ways at the same time.
Is your code secure with Codacy?
If you have been in the development business, you are well aware of the fact that data breaches are a part of the development experience, and while...
New Pull Request Coverage Diff View Is Live
Developers often struggle to find and keep track of uncovered lines in their pull requests (PRs). Our latest feature, the Pull Request Coverage Diff...

Automate code
reviews on your commits and pull request

Group 13