Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Integration][AzureDevops] - Add Azure Devops Intergration #388

Merged
merged 95 commits into from
Mar 3, 2024
Merged
Show file tree
Hide file tree
Changes from 93 commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
32fc37a
Added caching mechanism to async generators results
matan84 Feb 18, 2024
8421286
Added Azure devops integration
matan84 Feb 18, 2024
f3b11c9
Changed pyproject.toml
matan84 Feb 18, 2024
160df8c
Changed ruff version
matan84 Feb 18, 2024
10e2ec4
Fixed poetry lock
matan84 Feb 18, 2024
c9e6867
reverted gitlab changes
matan84 Feb 18, 2024
c7d4b6d
Changed default main branch to be main
matan84 Feb 18, 2024
be9b735
Changed location of cache_results func
matan84 Feb 18, 2024
9a064f6
converted dict to str to make it hashable
matan84 Feb 18, 2024
472a5e2
Changed to observer key
matan84 Feb 18, 2024
c0bc03b
Changed setup listeners logic
matan84 Feb 18, 2024
674d85b
removed useless log
matan84 Feb 18, 2024
575ae94
Changed error logs to debugs
matan84 Feb 18, 2024
afbcd19
Added is subscribed method
matan84 Feb 18, 2024
ba2ac46
Changed error to debug
matan84 Feb 18, 2024
e24f323
Removed cache_results function
matan84 Feb 18, 2024
9bbfe80
raised ocean version
matan84 Feb 18, 2024
4cc2cc2
removed unused import
matan84 Feb 18, 2024
db79772
Added space
matan84 Feb 18, 2024
97da7ae
Removed days since last update
matan84 Feb 18, 2024
1c95cbf
Linting
matan84 Feb 18, 2024
c93b2f1
linting
matan84 Feb 18, 2024
6aed0fa
added pyyaml typings
matan84 Feb 18, 2024
dbd7997
changed lock
matan84 Feb 18, 2024
6202b37
Changed integration files validation regex
matan84 Feb 18, 2024
71c547d
updated Ocean
matan84 Feb 18, 2024
9db71ab
Added gitops to spec
matan84 Feb 19, 2024
3d9833b
Changed logs to info and changed kind names location
matan84 Feb 19, 2024
eb7e05e
Changed to HTTPError and change dict additional params insertion
matan84 Feb 19, 2024
96bcb1a
removed useless return
matan84 Feb 19, 2024
830d5e8
Renamed AzureDevopsClient
matan84 Feb 19, 2024
8cd2335
Added error handling to webhook observer
matan84 Feb 19, 2024
8822d6d
Removed dedicated methods
matan84 Feb 19, 2024
78574c2
Added log before notifying listeners
matan84 Feb 19, 2024
21948cc
added type
matan84 Feb 19, 2024
f3e2922
added error handling
matan84 Feb 19, 2024
9075f8a
Added initial log
matan84 Feb 19, 2024
a4c3c61
Forces file:// only to repo
matan84 Feb 19, 2024
56baa60
Changed icon
matan84 Feb 19, 2024
51d6245
Changed to StrEnum
matan84 Feb 19, 2024
d549c9b
Pythonic sugar syntax
matan84 Feb 19, 2024
e01487b
Reformats
matan84 Feb 19, 2024
7f1ec5f
Changed method
matan84 Feb 19, 2024
46ee20e
Removed type: ignore
matan84 Feb 19, 2024
7e974b9
removed async
matan84 Feb 19, 2024
3af8914
reformats
matan84 Feb 19, 2024
1803fd4
Added Default onboarding items
matan84 Feb 20, 2024
13a3490
Formatting and rephrasing
matan84 Feb 20, 2024
03bef31
Merge branch 'main' into PORT-4585-azure-devops-ocean-integration
yairsimantov20 Feb 21, 2024
88855f6
fix(azure-devops): backuping actions instead of creating them beofre …
danielsinai Feb 29, 2024
c08b651
fix(azure-devops): change the naming of the files
danielsinai Feb 29, 2024
daab8ea
Merge branch 'main' of https://github.com/port-labs/port-ocean into P…
danielsinai Feb 29, 2024
424d001
fix(azure-devops): upgrade ocean version
danielsinai Feb 29, 2024
deb59ad
fix(azure-devops): imports
danielsinai Feb 29, 2024
0f01fb2
fix(azure-devops): removed redudent file instead fo backing it up
danielsinai Feb 29, 2024
f4c3999
fix(azure-devops): fix pages readme
danielsinai Feb 29, 2024
be05b96
fix(azure-devops): fix pages typos
danielsinai Feb 29, 2024
09edafa
fix(azure-devops): fix pages typos
danielsinai Feb 29, 2024
b157d94
fix(azure-devops): fix lint of pages
danielsinai Feb 29, 2024
fbdfb26
fix(azure-devops): removing static property
danielsinai Feb 29, 2024
8858e07
fix(azure-devops) added __ to meta field added by the integration
danielsinai Mar 1, 2024
645471a
fix(auzre-devops): removed redunandent variable and tried to make fu…
danielsinai Mar 1, 2024
3ffd1e8
fix(auzre-devops): fixed batch of CR comments
danielsinai Mar 1, 2024
c9cf6e8
fix(auzre-devops): fixed batch of CR comments
danielsinai Mar 1, 2024
d4725b2
fix(azure-devops): made everything async
danielsinai Mar 2, 2024
30373d8
fix(azure-devops): delete board from utils
danielsinai Mar 2, 2024
a266543
fix(azure-devops) remove the git selector as monorepos aren't support…
danielsinai Mar 2, 2024
e6f864b
fix(azure-devops): singluar port.yml option
danielsinai Mar 2, 2024
e3efdc7
fix(azure-devops): linting
danielsinai Mar 2, 2024
e6f580a
fix(azure-devops): fixed types and __teamId
danielsinai Mar 3, 2024
8e32371
fix(azure-devops): revert as_completed
danielsinai Mar 3, 2024
75b54e3
fix(azure-devops): removed unused imports
danielsinai Mar 3, 2024
920c0fc
fix(azure-devops): removed parse fn
danielsinai Mar 3, 2024
a729f94
fix(azure-devops): added nest-async
danielsinai Mar 3, 2024
373b530
parallel jq
yairsimantov20 Mar 3, 2024
4b72e18
fix(azure-devops): added newline in config.yaml
danielsinai Mar 3, 2024
02ac84e
bump
yairsimantov20 Mar 3, 2024
a4d5e38
Merge branch 'PORT-6993-ocean-allow-async-calls-in-the-jq-entity-proc…
danielsinai Mar 3, 2024
b455aad
update jq entity processor
yairsimantov20 Mar 3, 2024
a5521b3
Merge branch 'PORT-6993-ocean-allow-async-calls-in-the-jq-entity-proc…
danielsinai Mar 3, 2024
02037bb
update jq entity processor
yairsimantov20 Mar 3, 2024
b58ebf2
Merge branch 'PORT-6993-ocean-allow-async-calls-in-the-jq-entity-proc…
danielsinai Mar 3, 2024
7274c96
merge
danielsinai Mar 3, 2024
5a9d9cd
chore(azure-devops) upgrade ocean version to 0.5.3
danielsinai Mar 3, 2024
21fd62b
fix(azure-devops) fix deps
danielsinai Mar 3, 2024
85576fa
fix(azure-devops) removed nest asyncio
danielsinai Mar 3, 2024
9e78037
fix(azure-devops) reverted file_entity_processor
danielsinai Mar 3, 2024
704f4a7
fix: deps
danielsinai Mar 3, 2024
fae83a4
fix(azure-devops) lint
danielsinai Mar 3, 2024
6c370d3
fix(azure-devops) mypy and black formatting
danielsinai Mar 3, 2024
727961d
fix(azure-devops) utils to misc
danielsinai Mar 3, 2024
bc4ddea
fix(azure-devops) fix cr comments
danielsinai Mar 3, 2024
9d3ae39
fix(azure-devops) fix cr comments
danielsinai Mar 3, 2024
ce10fcd
fix(azure-devops) last cr comments
danielsinai Mar 3, 2024
e08cf0b
fix(azure-devops) made id as the project/repo name
danielsinai Mar 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/validate-integration-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
for integration in $(find integrations -name 'spec.yaml' -not -path "**/.venv/*"); do
integration_type=$(yq -r '.type' $integration)

if [ $(find integrations -name 'spec.yaml' -not -path "**/.venv/*" | xargs -I {} yq -r '.type' {} | grep -c $integration_type) -gt 1 ]; then
if [ $(find integrations -name 'spec.yaml' -not -path "**/.venv/*" | xargs -I {} yq -r '.type' {} | grep -c ^$integration_type$) -gt 1 ]; then
echo "ERROR: $integration_type integration type is duplicated please check your spec.yaml file"
exit 1
fi
Expand Down
153 changes: 153 additions & 0 deletions integrations/azure-devops/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/
1 change: 1 addition & 0 deletions integrations/azure-devops/.port/resources/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
!.gitignore
60 changes: 60 additions & 0 deletions integrations/azure-devops/.port/resources/blueprints.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[
{
"identifier": "service",
"title": "Service",
"icon": "AzureDevops",
"schema": {
"properties": {
"url": {
"title": "URL",
"format": "url",
"type": "string",
"icon": "Link"
},
"readme": {
"title": "README",
"type": "string",
"format": "markdown",
"icon": "Book"
},
"workItemLinking": {
"default": false,
"type": "boolean"
},
"minimumApproverCount": {
"default": 0,
"type": "number"
},
"slack": {
"icon": "Slack",
"type": "string",
"title": "Slack",
"format": "url"
},
"tier": {
"title": "Tier",
"type": "string",
"description": "How mission-critical the service is",
"enum": [
"Mission Critical",
"Customer Facing",
"Internal Service",
"Other"
],
"enumColors": {
"Mission Critical": "turquoise",
"Customer Facing": "green",
"Internal Service": "darkGray",
"Other": "yellow"
},
"icon": "DefaultProperty"
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {}
}
]
Loading
Loading