# tap-circle-ci
`tap-circle-ci` is a Singer tap for [CircleCI][circleci].
Built with the [Meltano Tap SDK][sdk] for Singer Taps.
## Streams
- [Pipelines](https://circleci.com/docs/api/v2/#operation/listPipelines)
- [Workflows](https://circleci.com/docs/api/v2/#operation/listWorkflowsByPipelineId)
- [Jobs](https://circleci.com/docs/api/v2/#operation/listWorkflowJobs)
WARNING: You must follow the projects in CircleCI to obtain their pipelines.
## Installation
You can install this repository directly from the Github repo. For example, by running:
```bash
pipx install https://github.com/MeltanoLabs/tap-circle-ci.git
```
## Configuration
### Accepted Config Options
The following configuration options are available:
| Field | Description | Type | Required | Default |
|---------------|-----------------------------------------------------------------------------------------|----------------|----------|----------------------------------------------------------|
| `token` | Personal API Token you have generated that can be used to access the CircleCI API | `string` | yes | |
| `org_slug` | Organization slug in the form vcs-slug/org-name. Example: `org-slug=gh/CircleCI-Public` | `string` | yes | |
| `user_agent` | User-Agent to make requests with | `string` | no | `tap-circle-ci/<version> Singer Tap for the CircleCI API` |
| `base_url` | Base URL for the CircleCI API | `string` | no | `https://circleci.com/api/v2` |
A full list of supported settings and capabilities for this
tap is available by running:
```bash
tap-circle-ci --about
```
### Source Authentication and Authorization
Login to your Circle CI account, go to the [Personal API Tokens](https://circleci.com/account/api) page,
and generate a new token.
## Usage
You can easily run `tap-circle-ci` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-circle-ci --version
tap-circle-ci --help
tap-circle-ci --config CONFIG --discover > ./catalog.json
```
## Developer Resources
### Initialize your Development Environment
```bash
pipx install poetry
poetry install
```
### Create and Run Tests
Create tests within the `tap_circle_ci/tests` subfolder and
then run:
```bash
poetry run pytest
```
You can also test the `tap-circle-ci` CLI interface directly using `poetry run`:
```bash
poetry run tap-circle-ci --help
```
### Testing with [Meltano](https://www.meltano.com)
_**Note:** This tap will work in any Singer environment and does not require Meltano.
Examples here are for convenience and to streamline end-to-end orchestration scenarios._
Your project comes with a custom `meltano.yml` project file already created. Open the `meltano.yml` and follow any _"TODO"_ items listed in
the file.
Next, install Meltano (if you haven't already) and any needed plugins:
```bash
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-circle-ci
meltano install
```
Now you can test and orchestrate using Meltano:
```bash
# Test invocation:
meltano invoke tap-circle-ci --version
# OR run a test `elt` pipeline:
meltano elt tap-circle-ci target-jsonl
```
### SDK Dev Guide
See the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to
develop your own taps and targets.
[circleci]: https://app.circleci.com/
[sdk]: https://sdk.meltano.com
[apidocs]: https://circleci.com/docs/2.0/api-developers-guide/
[meltano]: https://www.meltano.com
Raw data
{
"_id": null,
"home_page": "https://github.com/MeltanoLabs/tap-circle-ci",
"name": "meltano-tap-circle-ci",
"maintainer": "Meltano Team",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "hello@meltano.com",
"keywords": "ELT, Meltano, CircleCI",
"author": "Fran Lozano",
"author_email": "fjlozanos@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/25/f6/14844aad2c14951b98bca8f779d0a0e5ce58bea82a4a4d3fe0692bde16bc/meltano_tap_circle_ci-0.5.0.tar.gz",
"platform": null,
"description": "# tap-circle-ci\n\n`tap-circle-ci` is a Singer tap for [CircleCI][circleci].\n\nBuilt with the [Meltano Tap SDK][sdk] for Singer Taps.\n\n## Streams\n - [Pipelines](https://circleci.com/docs/api/v2/#operation/listPipelines)\n - [Workflows](https://circleci.com/docs/api/v2/#operation/listWorkflowsByPipelineId)\n - [Jobs](https://circleci.com/docs/api/v2/#operation/listWorkflowJobs)\n\nWARNING: You must follow the projects in CircleCI to obtain their pipelines.\n\n## Installation\n\nYou can install this repository directly from the Github repo. For example, by running:\n\n```bash\npipx install https://github.com/MeltanoLabs/tap-circle-ci.git\n```\n\n## Configuration\n\n### Accepted Config Options\n\nThe following configuration options are available:\n\n| Field | Description | Type | Required | Default |\n|---------------|-----------------------------------------------------------------------------------------|----------------|----------|----------------------------------------------------------|\n| `token` | Personal API Token you have generated that can be used to access the CircleCI API | `string` | yes | |\n| `org_slug` | Organization slug in the form vcs-slug/org-name. Example: `org-slug=gh/CircleCI-Public` | `string` | yes | |\n| `user_agent` | User-Agent to make requests with | `string` | no | `tap-circle-ci/<version> Singer Tap for the CircleCI API` |\n| `base_url` | Base URL for the CircleCI API | `string` | no | `https://circleci.com/api/v2` |\n\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-circle-ci --about\n```\n\n### Source Authentication and Authorization\n\nLogin to your Circle CI account, go to the [Personal API Tokens](https://circleci.com/account/api) page,\nand generate a new token.\n\n## Usage\n\nYou can easily run `tap-circle-ci` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-circle-ci --version\ntap-circle-ci --help\ntap-circle-ci --config CONFIG --discover > ./catalog.json\n```\n\n## Developer Resources\n\n### Initialize your Development Environment\n\n```bash\npipx install poetry\npoetry install\n```\n\n### Create and Run Tests\n\nCreate tests within the `tap_circle_ci/tests` subfolder and\n then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-circle-ci` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-circle-ci --help\n```\n\n### Testing with [Meltano](https://www.meltano.com)\n\n_**Note:** This tap will work in any Singer environment and does not require Meltano.\nExamples here are for convenience and to streamline end-to-end orchestration scenarios._\n\nYour project comes with a custom `meltano.yml` project file already created. Open the `meltano.yml` and follow any _\"TODO\"_ items listed in\nthe file.\n\nNext, install Meltano (if you haven't already) and any needed plugins:\n\n```bash\n# Install meltano\npipx install meltano\n# Initialize meltano within this directory\ncd tap-circle-ci\nmeltano install\n```\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-circle-ci --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-circle-ci target-jsonl\n```\n\n### SDK Dev Guide\n\nSee the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to\ndevelop your own taps and targets.\n\n[circleci]: https://app.circleci.com/\n[sdk]: https://sdk.meltano.com\n[apidocs]: https://circleci.com/docs/2.0/api-developers-guide/\n[meltano]: https://www.meltano.com\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Singer tap for CircleCI, built with the Meltano SDK for Singer Taps.",
"version": "0.5.0",
"project_urls": {
"Documentation": "https://github.com/MeltanoLabs/tap-circle-ci/blob/main/README.md",
"Homepage": "https://github.com/MeltanoLabs/tap-circle-ci",
"Repository": "https://github.com/MeltanoLabs/tap-circle-ci"
},
"split_keywords": [
"elt",
" meltano",
" circleci"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "907c8d7cf484fe1b7f4070bfccc0d46e3cf1527ecf386214ead90001c609dd9d",
"md5": "a30c89d81a9c1bc933b1d63deaaed1f6",
"sha256": "cc4769628ecee54be828b396c45c3d22898ffaaa48be474067dad06a004d829e"
},
"downloads": -1,
"filename": "meltano_tap_circle_ci-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a30c89d81a9c1bc933b1d63deaaed1f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 8842,
"upload_time": "2024-12-10T23:19:59",
"upload_time_iso_8601": "2024-12-10T23:19:59.400254Z",
"url": "https://files.pythonhosted.org/packages/90/7c/8d7cf484fe1b7f4070bfccc0d46e3cf1527ecf386214ead90001c609dd9d/meltano_tap_circle_ci-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "25f614844aad2c14951b98bca8f779d0a0e5ce58bea82a4a4d3fe0692bde16bc",
"md5": "814a34e6dd331efc8f0a53e30db95fcf",
"sha256": "fb43fcb83f29cda0d08a1cda205721b416873a8ef7555e576672f9a4e36068c3"
},
"downloads": -1,
"filename": "meltano_tap_circle_ci-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "814a34e6dd331efc8f0a53e30db95fcf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 7935,
"upload_time": "2024-12-10T23:20:00",
"upload_time_iso_8601": "2024-12-10T23:20:00.891963Z",
"url": "https://files.pythonhosted.org/packages/25/f6/14844aad2c14951b98bca8f779d0a0e5ce58bea82a4a4d3fe0692bde16bc/meltano_tap_circle_ci-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-10 23:20:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MeltanoLabs",
"github_project": "tap-circle-ci",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "meltano-tap-circle-ci"
}