{"id":16911894,"url":"https://github.com/vitalijr2/ijhttp-demo","last_synced_at":"2025-09-02T13:04:29.766Z","repository":{"id":163037311,"uuid":"638477977","full_name":"vitalijr2/ijhttp-demo","owner":"vitalijr2","description":"IntelliJ HTTP Client Demo","archived":false,"fork":false,"pushed_at":"2024-10-06T12:54:15.000Z","size":615,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T23:52:54.968Z","etag":null,"topics":["api-testing","api-testing-tool","developer-tools","http-client-cli","ijhttp","integration-testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vitalijr2.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-09T12:56:43.000Z","updated_at":"2024-09-18T05:26:45.000Z","dependencies_parsed_at":"2024-01-02T09:47:23.695Z","dependency_job_id":"9b8198e1-059d-4564-9ce0-11c5eac79693","html_url":"https://github.com/vitalijr2/ijhttp-demo","commit_stats":null,"previous_names":["vitalijr2/ijhttp-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vitalijr2/ijhttp-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalijr2%2Fijhttp-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalijr2%2Fijhttp-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalijr2%2Fijhttp-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalijr2%2Fijhttp-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitalijr2","download_url":"https://codeload.github.com/vitalijr2/ijhttp-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalijr2%2Fijhttp-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273287682,"owners_count":25078575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-testing","api-testing-tool","developer-tools","http-client-cli","ijhttp","integration-testing"],"created_at":"2024-10-13T19:07:58.287Z","updated_at":"2025-09-02T13:04:29.717Z","avatar_url":"https://github.com/vitalijr2.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IntelliJ HTTP Client Demo\n\nThis is a demo project to show using of [IntelliJ HTTP Client][ijhttp] CLI.\nFurther reading about [HTTP Client][http-client] and [specification][spec].\n\n## How to run IntelliJ HTTP Client...\n\n### ... on Maven project ...\n\nThere are two options: run it with `exec-maven-plugin` and `ijhttp-maven-plugin`.\nBoth require to install or download **IntelliJ HTTP Client CLI**.\nI use `download-maven-plugin` to download it.\n\n#### … with Spring Boot Test\n\nRun Maven build\n\n```bash\n./mvnw\n```\n\nYou need `ijhttp` in your **PATH**. You can customize it in `src/test/resources/application.yaml`.\n\n\n#### … with `exec-maven-plugin`\n\n```bash\n./mvnw -Pdownload-ijhttp,spring-boot,exec\n```\n\n#### … with `ijhttp-maven-plugin`\n\n```bash\n./mvnw -Pdownload-ijhttp,spring-boot,maven-plugin\n```\n\n## ... on GitLab CI\n\nThere is `.gitlab-ci.yml` who downloads and unpacks `ijhttp` them runs it.\n\n```yaml\nhttp-test:\n  stage: test\n  script:\n    - microdnf install unzip\n    - curl -f -s -L -o ijhttp.zip https://jb.gg/ijhttp/latest\n    - unzip -nq ijhttp.zip -d target\n    - rm ijhttp.zip\n    - mvn $MAVEN_CLI_OPTS verify -Pspring-boot,maven-plugin\n```\n\nExample:\n![GitLab Pipeline](gitlab-ci.png)\n\nAnother option use a Docker image but remember that you need to build the jar before this task.\n\n```yaml\nhttp-test-on-docker-image:\n  image:\n    name: jetbrains/intellij-http-client:latest\n    entrypoint: [\"\"]\n  stage: integration-test\n  before_script:\n    - java -jar target/ijhttp-demo.jar \u0026\n    - while ! nc -z localhost 8080 \u003c/dev/null; do sleep 5; done\n  script:\n    - java -cp \"/intellij-http-client/*\" com.intellij.httpClient.cli.HttpClientMain --report echo.http\n  artifacts:\n    reports:\n      junit:\n        - reports/report.xml\n```\n\n## Using with GitHub CI\n\nThere is `.github/workflows/maven.yml` who downloads and unpacks `ijhttp` them runs it.\n\n```yaml\nsteps:\n- uses: actions/checkout@v3\n- name: Download ijhttp\n  run: curl -f -s -L -o ijhttp.zip https://jb.gg/ijhttp/latest\n- name: Unpack ijhttp\n  run: unzip -nq ijhttp.zip -d target\n- name: Remove ijhttp.zip\n  run: rm ijhttp.zip\n- name: Set up JDK 17\n  uses: actions/setup-java@v3\n  with:\n    java-version: '17'\n    distribution: 'temurin'\n    cache: maven\n- name: Build with Maven\n  run: mvn verify -ntp -Pspring-boot,maven-plugin\n```\n\nExample:\n![GitLab Workflow](github-workflow.png)\n\nAnd of couse you can use a Docker image. This job needs the jar from another regular job with Maven.\n\n```yaml\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v3\n    # some maven actions\n    # ...\n    - name: Temporarily save test requests\n      uses: actions/upload-artifact@master\n      with:\n        name: tests\n        path: echo.http\n        retention-days: 1\n    - name: Temporarily save target\n      uses: actions/upload-artifact@master\n      with:\n        name: target\n        path: target\n        retention-days: 1\n\n  integration-test:\n\n    runs-on: ubuntu-latest\n    needs: build\n    container:\n      image: jetbrains/intellij-http-client:latest\n\n    steps:\n      - name: Retrieve saved test requests\n        uses: actions/download-artifact@master\n        with:\n          name: tests\n          path: .\n      - name: Retrieve saved target\n        uses: actions/download-artifact@master\n        with:\n          name: target\n          path: target\n      - name: Run the application\n        run: java -jar target/ijhttp-demo.jar \u0026\n      - name: Wait the application\n        run: while ! nc -z localhost 8080 \u003c/dev/null; do sleep 5; done\n      - name: Run tests\n        run: java -cp \"/intellij-http-client/*\" com.intellij.httpClient.cli.HttpClientMain --report echo.http\n```\n\n## Useful links\n\n- ZIP archive https://www.jetbrains.com/ijhttp/download/#section=zip-archive\n- Docker image https://hub.docker.com/r/jetbrains/intellij-http-client\n\n[ijhttp]: https://www.jetbrains.com/help/idea/http-client-cli.html \"HTTP Client CLI\"\n\n[http-client]: https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html \"HTTP Client\"\n\n[spec]: https://github.com/JetBrains/http-request-in-editor-spec/blob/master/spec.md \"HTTP Request in Editor Specification\"","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalijr2%2Fijhttp-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitalijr2%2Fijhttp-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalijr2%2Fijhttp-demo/lists"}