- Sash, the admins say that we have 400 flew like hell. Look what the problem is.
“Strange… it was still good.
A couple of hours later ...
- Colleagues, and once again we have changed contracts without approval and notification! This is not the first time! Let's do something about it!
, . - . , API-.
. ( ) .
. , :
, . URI ;
. -, , ;
, .. .
, - , . , , , .
, , , , .
Contract first
. , . . :
. , .. ;
. ;
, . , .
(). .
.
Contract first, . , Confluence. . . . . , .
, , … :
(, Confluence) . , .
- . . , .
, , . . , : " ?". Confluence . , , , Swagger- Confluence . . "".
(.) ArchOps. DevOps, . . , . , . , ArchOps - .
. , MS Visio Draw.io, PlantUML. .
DocHub ArchOps. .
, . , , . , code review.
:
:
Developing target API - . , , . TargetAPI.yaml. ;
Developing feature - . ActualAPI.yaml.
, :
TargetAPI.yaml - Contract first. -, develop . . - develop . . .
ActualAPI.yaml - . , . develop . .1
:
;
;
;
pipeline . , .
… :
;
“” .
DocHub. , Swagger UI GitLab.
DocHub
DocHub GitLab. DocHub SPA , GitLab backend. , , GitLab.
. dochub.json. . DocHub . . :
. .
, GitLab, DocHub http/https. , Swagger. .
DocHub
, , .
(src/config.json).
(/dochub.json):
{
"imports": [ // ().
// dochub.json
// .
{
"project_id": 106, // GitLab
"branch": "develop" //
}
]
}
(/dochub.json):
{
"docs": { //
"sbs-targetapi": { //
"icon": "lightbulb_outline", // - https://materialdesignicons.com/
"location": "Sberservice/Backend/ API", //
"description": " REST- ", //
"transport" : "gitlab", // GitLab
"project_id": 106, // GitLab
"branch": "develop", //
"source": "app/Core/Docs/TargetAPI.yaml" // Swagger
},
"sbs-realapi": {
"icon": "lightbulb_outline",
"location": "Sberservice/Backend/ API",
"description": " REST- ",
"transport" : "http", // http
"source": "https://foo.site/api/v1/docs/api-docs.json"
}
}
}
docs, . .
imports, , .
DocHub , .
, .
DocHub (), . , .
DocHub . . . ArchOps.
, . GNU GPL v.2 Open source license. . - !
https://github.com/RabotaRu/DocHub