Skip to content

Commit a6d7fc6

Browse files
cesareomaciasgitbook-bot
authored andcommitted
GITBOOK-1: No subject
1 parent 1b52a38 commit a6d7fc6

File tree

4 files changed

+53
-51
lines changed

4 files changed

+53
-51
lines changed

Diff for: .gitbook/assets/adidas_company_logo_BWp.png

3.27 KB
Loading

Diff for: .gitbook/assets/adidas_company_logo_BWr.png

2.96 KB
Loading

Diff for: README.md

+29-25
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
# adidas API Guidelines
22

3-
![adidas logo](adidaslogo.jpg)
3+
4+
5+
<figure><picture><source srcset=".gitbook/assets/adidas_company_logo_BWr.png" media="(prefers-color-scheme: dark)"><img src=".gitbook/assets/adidas_company_logo_BWp.png" alt=""></picture><figcaption></figcaption></figure>
46

57
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
68

79
[Read online at GitBook](https://adidas.gitbook.io/api-guidelines/)
810

911
### Motivation
1012

11-
The goal of this document is to facilitate the work and minimize the effort of all API users at adidas while protecting their investment and encouraging API adoption.
13+
The goal of this document is to facilitate the work and minimize the effort of all API users at adidas while protecting their investment and encouraging API First adoption.
1214

1315
These guidelines lay down the foundation for collaboration, stability, and extensibility.
1416

@@ -19,13 +21,15 @@ The API Guidelines are split into two main parts:
1921
* [General Guidelines](general-guidelines/general-guidelines.md)
2022
* API type-specific Guidelines
2123
* [REST APIs Guidelines](rest-api-guidelines/rest.md)
22-
* [Asynchronous APIs Guidelines](asynchronous-api-guidelines/index.md)
24+
* [Asynchronous APIs Guidelines](https://github.com/cesareomacias/api-guidelines/blob/master/asynchronous-api-guidelines/index.md)
25+
26+
The general guidelines section discusses the core principles relevant to any kind of API.&#x20;
2327

24-
The general guidelines section discusses the core principles relevant to any kind of API. The API type-specific section further defines the guidelines specific to a given architectural style or API technique (such as REST, Kafka or GraphQL APIs).
28+
The API type-specific section further defines the guidelines specific to a given architectural style or API technique (such as REST, Kafka or GraphQL APIs).
2529

2630
### How to read the Guidelines
2731

28-
These Guidelines are available for online reading at [GitBook](https://adidas.gitbook.io/api-guidelines/). The source code can be found on [GitHub](https://github.com/adidas/api-guidelines).
32+
These guidelines are available for online reading at [GitBook](https://adidas.gitbook.io/api-guidelines/). The source code can be found on [GitHub](https://github.com/adidas/api-guidelines).
2933

3034
The CAPITALIZED words throughout these guidelines have a special meaning:
3135

@@ -35,54 +39,54 @@ The CAPITALIZED words throughout these guidelines have a special meaning:
3539
> this document are to be interpreted as described in RFC2119.
3640
> ```
3741
38-
Refer to [RFC2119](https://www.ietf.org/rfc/rfc2119) for details.
42+
Refer to [RFC2119](https://www.rfc-editor.org/rfc/rfc2119) for details.
3943
4044
### Validating your API Guidelines against OpenAPI Specification
4145
42-
In the `ruleset.md` file you can find a digest of API Guidelines rules which you can use to validate your API description documents. If you are using OpenAPI Specification as the API description format you can also leverage the `.spectral.yaml` ruleset to automatically verify your specification compliance using [Spectral](github.com/stoplightio/spectral/).
46+
In the `ruleset.md` file you can find a digest of API Guidelines rules which you can use to validate your API description documents.
4347
44-
To install Spectral you will need Node.js and a package manager (npm or yarn).
48+
If you are using OpenAPI or AsyncAPI specification as API description format, you can also leverage the `adidas-spectral.yaml` ruleset to automatically lint your specification compliance using [Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview).
4549
46-
Note: The version used with the spectral specifications was 5.3.0
50+
> To install Spectral, you will need Node.js and a package manager (npm or yarn).
4751
48-
```
49-
npm install -g @stoplight/spectral@5.3.0
52+
```bash
53+
npm install -g @stoplight/spectral-cli
5054
5155
# OR
5256
53-
yarn global add @stoplight/spectral@5.3.0
57+
yarn global add @stoplight/spectral-cli
58+
```
59+
60+
Once installed, to verify your _oas_ or _async_ file with spectral execute:
61+
62+
```bash
63+
spectral lint <api-specification-file> --ruleset adidas-spectral.yaml
5464
```
5565

56-
Once installed, to verify your OAS file with spectral execute `spectral lint <oas-file> -r <adidas-api-guidelines-folder>/.spectral.yaml` where `<adidas-api-guidelines-folder>/.spectral.yaml` indicated the location `.spectral.yaml` file.
66+
### Contact Us
5767

58-
For further documentation on Spectral refer to their [documentation](https://stoplight.io/p/docs/gh/stoplightio/spectral/README.md).
68+
In case you have any questions or comments, please utilize the appropriate GitHub collaboration tools, such as issues, pull requests, and discussions.
5969

60-
### Questions & Comments
70+
If you want to contact adidas API Team regarding these guidelines, you can mail us at
6171

62-
_Please contact_ [_jesusjavier.dediego@adidas.com_](mailto:jesusjavier.dediego@adidas.com) _in case of questions._
72+
&#x20;_**api-team@adidas.com**_
6373

6474
## Intended Use Cases
6575

6676
This project is intended to provide the guidelines for design & development of APIs at adidas.
6777

68-
adidas is not responsible for the usage of this software for different purposes that the ones described in the use cases.
78+
Adidas is not responsible for the usage of this software for different purposes that the ones described in the use cases.
6979

7080
## Last Review
7181

72-
May 2024
82+
February 2025
7383

7484
## License and Software Information
7585

7686
© adidas AG
7787

7888
adidas AG publishes this software and accompanied documentation (if any) subject to the terms of the MIT license with the aim of helping the community with our tools and libraries which we think can be also useful for other people. You will find a copy of the MIT license in the root folder of this package. All rights not explicitly granted to you under the MIT license remain the sole and exclusive property of adidas AG.
7989

80-
NOTICE: The software has been designed solely for the purpose of providing API design and development guidelines. The software is NOT designed, tested or verified for productive use whatsoever, nor or for any use related to high risk environments, such as health care, highly or fully autonomous driving, power plants, or other critical infrastructures or services.
81-
82-
If you want to contact adidas regarding the software, you can mail us at [email protected]_.
90+
NOTICE: The software has been designed solely for the purpose of providing API design and development guidelines. The software is NOT designed, tested or verified for productive use whatsoever, nor or for any use related to high-risk environments, such as health care, highly or fully autonomous driving, power plants, or other critical infrastructures or services.
8391

8492
For further information open the [adidas terms and conditions](https://github.com/adidas/adidas-contribution-guidelines/wiki/Terms-and-conditions) page.
85-
86-
### License
87-
88-
[MIT](https://github.com/adidas/api-guidelines/blob/master/LICENSE)
+24-26
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,59 @@
11
# API Testing CI Environment
22

3-
This guide describes steps necessary for testing an API described in a swagger file with the [Dredd API Testing Framework](https://github.com/apiaryio/dredd) in a CI Environment \(Jenkins, TeamCity\).
3+
This guide describes steps necessary for testing an API described in a swagger file with the [Dredd API Testing Framework](https://github.com/apiaryio/dredd) in a CI Environment (Jenkins, TeamCity).
44

55
## Environment Prerequisites
66

77
The following must be available in the CI environment before testing:
88

9-
1. **Node.js** runtime MUST be available in the CI environment:
9+
1. **Node.js** runtime MUST be available in the CI environment:
1010

11-
```text
12-
$ node -v
13-
v14.15.5
14-
```
11+
```
12+
$ node -v
13+
v14.15.5
14+
```
15+
2. [**Dredd**](https://github.com/apiaryio/dredd) MUST be installed globally in the CI environment:
1516
16-
3. [**Dredd**](https://github.com/apiaryio/dredd) MUST be installed globally in the CI environment:
17+
```
18+
$ npm install -g dredd --no-optional
19+
```
1720
18-
```text
19-
$ npm install -g dredd --no-optional
20-
```
21-
22-
```text
23-
$ dredd --version
24-
dredd v14.0.0
25-
```
21+
```
22+
$ dredd --version
23+
dredd v14.0.0
24+
```
2625
2726
## Testing an API
2827
2928
### Test Run Prerequisites
3029
3130
To test an API within the CI environment provisioned as mentioned in the environment prerequisites, you will need the following:
3231
33-
1. A `swagger.yaml` file with the description of API being tested
34-
35-
The OpenAPI Specifciation file should be fetched from [API Design Platform](design-plaform.md). In the case of SwaggerHub API Design Platform, the file can be fetched manually or via their API. Refer to [Integrating with the SwaggerHub API](https://swagger.io/blog/api-development/integrating-with-the-swaggerhub-api/), for details how to use SwaggerHub API.
32+
1. A `swagger.yaml` file with the description of API being tested
3633
37-
Alternativelly this can also be a remote file e.g. SwaggerHub URL, if the API is public its OAS file and reachable from the testing host.
34+
The OpenAPI Specifciation file should be fetched from [API Design Platform](https://github.com/cesareomacias/api-guidelines/blob/master/rest-api-guidelines/guides/design-plaform.md). In the case of SwaggerHub API Design Platform, the file can be fetched manually or via their API. Refer to [Integrating with the SwaggerHub API](https://swagger.io/blog/api-development/integrating-with-the-swaggerhub-api/), for details how to use SwaggerHub API.
3835
39-
2. The host \(address\) of the service being tested
36+
Alternativelly this can also be a remote file e.g. SwaggerHub URL, if the API is public its OAS file and reachable from the testing host.
37+
2. The host (address) of the service being tested
4038
41-
```text
42-
$ export API_HOST=http://deheremap7336.emea.adsint.biz:8004`
43-
```
39+
```
40+
$ export API_HOST=http://deheremap7336.emea.adsint.biz:8004`
41+
```
4442
4543
### Running the Test
4644
4745
Run:
4846
49-
```text
47+
```
5048
$ dredd swagger.yaml $API_HOST
5149
```
5250
5351
> See [Dredd Command-line Interface](https://dredd.readthedocs.io/en/latest/usage-cli/).
5452
5553
The Dredd will perform the tests and exits usually if the tests have passed. You can check the test result as with any other Unix tools with:
5654
57-
```text
55+
```
5856
$ echo $?
5957
```
6058
61-
Everything else but `0` should break the build. The test results will be visible in the CLI \(log\)
59+
Everything else but `0` should break the build. The test results will be visible in the CLI (log)

0 commit comments

Comments
 (0)