static-cms/cypress/fixtures/GitLab Backend Editorial Workflow__can create an entry.json

645 lines
74 KiB
JSON
Raw Normal View History

Feat: editorial workflow bitbucket gitlab (#3014) * refactor: typescript the backends * feat: support multiple files upload for GitLab and BitBucket * fix: load entry media files from media folder or UI state * chore: cleanup log message * chore: code cleanup * refactor: typescript the test backend * refactor: cleanup getEntry unsued variables * refactor: moved shared backend code to lib util * chore: rename files to preserve history * fix: bind readFile method to API classes * test(e2e): switch to chrome in cypress tests * refactor: extract common api methods * refactor: remove most of immutable js usage from backends * feat(backend-gitlab): initial editorial workflow support * feat(backend-gitlab): implement missing workflow methods * chore: fix lint error * feat(backend-gitlab): support files deletion * test(e2e): add gitlab cypress tests * feat(backend-bitbucket): implement missing editorial workflow methods * test(e2e): add BitBucket backend e2e tests * build: update node version to 12 on netlify builds * fix(backend-bitbucket): extract BitBucket avatar url * test: fix git-gateway AuthenticationPage test * test(e2e): fix some backend tests * test(e2e): fix tests * test(e2e): add git-gateway editorial workflow test * chore: code cleanup * test(e2e): revert back to electron * test(e2e): add non editorial workflow tests * fix(git-gateway-gitlab): don't call unpublishedEntry in simple workflow gitlab git-gateway doesn't support editorial workflow APIs yet. This change makes sure not to call them in simple workflow * refactor(backend-bitbucket): switch to diffstat API instead of raw diff * chore: fix test * test(e2e): add more git-gateway tests * fix: post rebase typescript fixes * test(e2e): fix tests * fix: fix parsing of content key and add tests * refactor: rename test file * test(unit): add getStatues unit tests * chore: update cypress * docs: update beta docs
2020-01-15 00:15:14 +02:00
[
{
"method": "GET",
"url": "/api/v4/user?ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "935",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"18a785be979367fae654773162e47553\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "{\"id\":1,\"name\":\"owner\",\"username\":\"owner\",\"avatar_url\":\"https://avatars1.githubusercontent.com/u/7892489?v=4\",\"email\":\"owner@email.com\",\"login\":\"owner\"}",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo?ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "3220",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4ef93a778bcb60e6650a9a0d5c42647a\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "{\"id\":16214997,\"description\":null,\"name\":\"repo\",\"name_with_namespace\":\"owner / repo\",\"path\":\"repo\",\"path_with_namespace\":\"owner/repo\",\"created_at\":\"2020-01-08T13:23:04.362Z\",\"default_branch\":\"master\",\"tag_list\":[],\"ssh_url_to_repo\":\"git@gitlab.com:owner/repo.git\",\"http_url_to_repo\":\"https://gitlab.com/owner/repo.git\",\"web_url\":\"https://gitlab.com/owner/repo\",\"readme_url\":\"https://gitlab.com/owner/repo/blob/master/README.md\",\"avatar_url\":null,\"star_count\":0,\"forks_count\":0,\"last_activity_at\":\"2020-01-08T13:23:04.362Z\",\"namespace\":{\"id\":6364123,\"name\":\"owner\",\"path\":\"owner\",\"kind\":\"user\",\"full_path\":\"owner\",\"parent_id\":null,\"avatar_url\":\"https://secure.gravatar.com/avatar/2c95a9ee2f890f6c9ccdbf2438c88ca7?s=80\\u0026d=identicon\",\"web_url\":\"https://gitlab.com/owner\"},\"_links\":{\"self\":\"https://gitlab.com/api/v4/projects/16214997\",\"issues\":\"https://gitlab.com/api/v4/projects/16214997/issues\",\"merge_requests\":\"https://gitlab.com/api/v4/projects/16214997/merge_requests\",\"repo_branches\":\"https://gitlab.com/api/v4/projects/16214997/repository/branches\",\"labels\":\"https://gitlab.com/api/v4/projects/16214997/labels\",\"events\":\"https://gitlab.com/api/v4/projects/16214997/events\",\"members\":\"https://gitlab.com/api/v4/projects/16214997/members\"},\"empty_repo\":false,\"archived\":false,\"visibility\":\"private\",\"owner\":{\"id\":4843565,\"name\":\"owner\",\"username\":\"owner\",\"state\":\"active\",\"avatar_url\":\"https://secure.gravatar.com/avatar/2c95a9ee2f890f6c9ccdbf2438c88ca7?s=80\\u0026d=identicon\",\"web_url\":\"https://gitlab.com/owner\"},\"resolve_outdated_diff_discussions\":false,\"container_registry_enabled\":true,\"issues_enabled\":true,\"merge_requests_enabled\":true,\"wiki_enabled\":true,\"jobs_enabled\":true,\"snippets_enabled\":true,\"issues_access_level\":\"enabled\",\"repository_access_level\":\"enabled\",\"merge_requests_access_level\":\"enabled\",\"wiki_access_level\":\"enabled\",\"builds_access_level\":\"enabled\",\"snippets_access_level\":\"enabled\",\"shared_runners_enabled\":true,\"lfs_enabled\":true,\"creator_id\":4843565,\"import_status\":\"none\",\"import_error\":null,\"open_issues_count\":0,\"runners_token\":\"fSzEANQoZ91CxModrdrd\",\"ci_default_git_depth\":50,\"public_jobs\":true,\"build_git_strategy\":\"fetch\",\"build_timeout\":3600,\"auto_cancel_pending_pipelines\":\"enabled\",\"build_coverage_regex\":null,\"ci_config_path\":null,\"shared_with_groups\":[],\"only_allow_merge_if_pipeline_succeeds\":false,\"request_access_enabled\":true,\"only_allow_merge_if_all_discussions_are_resolved\":false,\"remove_source_branch_after_merge\":true,\"printing_merge_request_link_enabled\":true,\"merge_method\":\"merge\",\"auto_devops_enabled\":false,\"auto_devops_deploy_strategy\":\"continuous\",\"permissions\":{\"project_access\":{\"access_level\":40,\"notification_level\":3},\"group_access\":null},\"mirror\":false,\"external_authorization_classification_label\":\"\"}",
"status": 200
},
{
"method": "HEAD",
"url": "/api/v4/projects/owner%2Frepo/repository/tree?path=content/posts&ref=master&recursive=false&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "1059",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "no-cache",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=content%2Fposts&per_page=20&recursive=false&ref=master&ts=0>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=content%2Fposts&per_page=20&recursive=false&ref=master&ts=0>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "5",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": null,
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/tree?path=static/media&ref=master&per_page=100&recursive=false&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4f53cda18c2baa0c0354bb5f9a3ecbe5\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=static%2Fmedia&per_page=100&recursive=false&ref=master&ts=0>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=static%2Fmedia&per_page=100&recursive=false&ref=master&ts=0>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "100",
"X-Prev-Page": "",
"X-Total": "0",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/tree?id=owner/repo&page=1&path=content/posts&per_page=20&recursive=false&ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "1059",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"9ca3072f5c1550ce99f3530fd192d1f7\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=content%2Fposts&per_page=20&recursive=false&ref=master&ts=0>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/repository/tree?id=owner%2Frepo&page=1&path=content%2Fposts&per_page=20&recursive=false&ref=master&ts=0>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "5",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[{\"id\":\"6d51a38aed7139d2117724b1e307657b6ff2d043\",\"name\":\"2016-01-09---Perfecting-the-Art-of-Perfection.md\",\"type\":\"blob\",\"path\":\"content/posts/2016-01-09---Perfecting-the-Art-of-Perfection.md\",\"mode\":\"100644\"},{\"id\":\"d0582dd245a3f408fb3fe2333bf01400007476e9\",\"name\":\"2016-01-12---The-Origins-of-Social-Stationery-Lettering.md\",\"type\":\"blob\",\"path\":\"content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering.md\",\"mode\":\"100644\"},{\"id\":\"0eea554365f002d0f1572af9a58522d335a794d5\",\"name\":\"2016-02-02---A-Brief-History-of-Typography.md\",\"type\":\"blob\",\"path\":\"content/posts/2016-02-02---A-Brief-History-of-Typography.md\",\"mode\":\"100644\"},{\"id\":\"44f78c474d04273185a95821426f75affc9b0044\",\"name\":\"2017-18-08---The-Birth-of-Movable-Type.md\",\"type\":\"blob\",\"path\":\"content/posts/2017-18-08---The-Birth-of-Movable-Type.md\",\"mode\":\"100644\"},{\"id\":\"a532f0a9445cdf90a19c6812cff89d1674991774\",\"name\":\"2017-19-08---Humane-Typography-in-the-Digital-Age.md\",\"type\":\"blob\",\"path\":\"content/posts/2017-19-08---Humane-Typography-in-the-Digital-Age.md\",\"mode\":\"100644\"}]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F2017-19-08---Humane-Typography-in-the-Digital-Age.md/raw?ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Content-Length": "7465",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"2017-19-08---Humane-Typography-in-the-Digital-Age.md\"; filename*=UTF-8''2017-19-08---Humane-Typography-in-the-Digital-Age.md",
"Etag": "W/\"4bea295d8f5ffb5b814fde70bdffdc0e\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "a532f0a9445cdf90a19c6812cff89d1674991774",
"X-Gitlab-Commit-Id": "cccedba45cd89df3190e24a5e173a89c097b65bb",
"X-Gitlab-Content-Sha256": "063282f246651562d133ca628c0efda434026cf7a116a96f77c8be4b07810ed0",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "2017-19-08---Humane-Typography-in-the-Digital-Age.md",
"X-Gitlab-File-Path": "content/posts/2017-19-08---Humane-Typography-in-the-Digital-Age.md",
"X-Gitlab-Last-Commit-Id": "2bc3fa39d8adb9e008e52793854338399fc6e4ad",
"X-Gitlab-Ref": "master",
"X-Gitlab-Size": "7465",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "---\ntitle: Humane Typography in the Digital Age\ndate: \"2017-08-19T22:40:32.169Z\"\ntemplate: \"post\"\ndraft: false\ncategory: \"Typography\"\ntags:\n - \"Design\"\n - \"Typography\"\n - \"Web Development\"\ndescription: \"An Essay on Typography by Eric Gill takes the reader back to the year 1930. The year when a conflict between two worlds came to its term. The machines of the industrial world finally took over the handicrafts.\"\ncanonical: ''\n---\n\n- [The first transition](#the-first-transition)\n- [The digital age](#the-digital-age)\n- [Loss of humanity through transitions](#loss-of-humanity-through-transitions)\n- [Chasing perfection](#chasing-perfection)\n\nAn Essay on Typography by Eric Gill takes the reader back to the year 1930. The year when a conflict between two worlds came to its term. The machines of the industrial world finally took over the handicrafts.\n\nThe typography of this industrial age was no longer handcrafted. Mass production and profit became more important. Quantity mattered more than the quality. The books and printed works in general lost a part of its humanity. The typefaces were not produced by craftsmen anymore. It was the machines printing and tying the books together now. The craftsmen had to let go of their craft and became a cog in the process. An extension of the industrial machine.\n\nBut the victory of the industrialism didnt mean that the craftsmen were completely extinct. The two worlds continued to coexist independently. Each recognising the good in the other the power of industrialism and the humanity of craftsmanship. This was the second transition that would strip typography of a part of its humanity. We have to go 500 years back in time to meet the first one.\n\n## The first transition\n\nA similar conflict emerged after the invention of the first printing press in Europe. Johannes Gutenberg invented movable type and used it to produce different compositions. His workshop could print up to 240 impressions per hour. Until then, the books were being copied by hand. All the books were handwritten and decorated with hand drawn ornaments and figures. A process of copying a book was long but each book, even a copy, was a work of art.\n\nThe first printed books were, at first, perceived as inferior to the handwritten ones. They were smaller and cheaper to produce. Movable type provided the printers with flexibility that allowed them to print books in languages other than Latin. Gill describes the transition to industrialism as something that people needed and wanted. Something similar happened after the first printed books emerged. People wanted books in a language they understood and they wanted books they could take with them. They were hungry for knowledge and printed books satisfied this hunger.\n\n![42-line-bible.jpg](/media/42-line-bible.jpg)\n\n*The 42Line Bible, printed by Gutenberg.*\n\nBut, through this transition, the book lost a large part of its humanity. The machine took over most of the process but craftsmanship was still a part of it. The typefaces were cut manually by the first punch cutters. The paper was made by hand. The illustrations and ornaments were still being hand drawn. These were the remains of the craftsmanship that went almost extinct in the times of Eric Gill.\n\n## The digital age\n\nThe first transition took away a large part of humanity from written communication. Industrialisation, the second transition described by Eric Gill, took away most of what was left. But its the third transition that stripped it naked. Typefaces are faceless these days. Theyre just fonts on our computers. Hardly anyone knows their stories. Hardly anyone cares. Flicking through thousands of typefaces and finding the right one is a matter of minutes.\n\n> In the new computer age the proliferation of typefaces and type manipulations represents a new level of visual pollution threatening our culture. Out of thousands of typefaces, all we need are a few basic ones, and trash the rest.\n>\n Massimo Vignelli\n\nTypography is not
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F2016-01-12---The-Origins-of-Social-Stationery-Lettering.md/raw?ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Content-Length": "2565",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"2016-01-12---The-Origins-of-Social-Stationery-Lettering.md\"; filename*=UTF-8''2016-01-12---The-Origins-of-Social-Stationery-Lettering.md",
"Etag": "W/\"9ca3839809fb6b1ce76c2b99e4f35877\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "d0582dd245a3f408fb3fe2333bf01400007476e9",
"X-Gitlab-Commit-Id": "cccedba45cd89df3190e24a5e173a89c097b65bb",
"X-Gitlab-Content-Sha256": "add0804dc8baae2bf77e4823c6fe2e1515525bb3ed3b00dd7abd6962e6b2ae5d",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "2016-01-12---The-Origins-of-Social-Stationery-Lettering.md",
"X-Gitlab-File-Path": "content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering.md",
"X-Gitlab-Last-Commit-Id": "2bc3fa39d8adb9e008e52793854338399fc6e4ad",
"X-Gitlab-Ref": "master",
"X-Gitlab-Size": "2565",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "---\ntitle: The Origins of Social Stationery Lettering\ndate: \"2016-12-01T22:40:32.169Z\"\ntemplate: \"post\"\ndraft: false\ncategory: \"Design Culture\"\ndescription: \"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.\"\ncanonical: ''\n---\n\n**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. *Aenean ultricies mi vitae est.* Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. \n\nVestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.\n\n![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/image-3.jpg)\n\n## Header Level 2\n\n+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n+ Aliquam tincidunt mauris eu risus.\n\nDonec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. \n\n<figure>\n\t<blockquote>\n\t\t<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p>\n\t\t<footer>\n\t\t\t<cite>— Aliquam tincidunt mauris eu risus.</cite>\n\t\t</footer>\n\t</blockquote>\n</figure>\n\n### Header Level 3\n\n+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n+ Aliquam tincidunt mauris eu risus.\n\nPellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.\n\n```css\n#header h1 a {\n display: block;\n width: 300px;\n height: 80px;\n}\n```\n\nDonec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F2016-01-09---Perfecting-the-Art-of-Perfection.md/raw?ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Content-Length": "1707",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"2016-01-09---Perfecting-the-Art-of-Perfection.md\"; filename*=UTF-8''2016-01-09---Perfecting-the-Art-of-Perfection.md",
"Etag": "W/\"11940fc78da3286890177cb6f90d231c\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "6d51a38aed7139d2117724b1e307657b6ff2d043",
"X-Gitlab-Commit-Id": "cccedba45cd89df3190e24a5e173a89c097b65bb",
"X-Gitlab-Content-Sha256": "4e34b86a142e9130ff1a5fff0405bc83daa8552ed653ba203fd9e20d810833af",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "2016-01-09---Perfecting-the-Art-of-Perfection.md",
"X-Gitlab-File-Path": "content/posts/2016-01-09---Perfecting-the-Art-of-Perfection.md",
"X-Gitlab-Last-Commit-Id": "2bc3fa39d8adb9e008e52793854338399fc6e4ad",
"X-Gitlab-Ref": "master",
"X-Gitlab-Size": "1707",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "---\ntitle: Perfecting the Art of Perfection\ndate: \"2016-09-01T23:46:37.121Z\"\ntemplate: \"post\"\ndraft: false\ncategory: \"Design Inspiration\"\ntags:\n - \"Handwriting\"\n - \"Learning to write\"\ndescription: \"Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum.\"\ncanonical: ''\n---\n\nQuisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum.\n\n![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/image-2.jpg)\n\nPellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. \n\nPraesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F2017-18-08---The-Birth-of-Movable-Type.md/raw?ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Vary": "Accept-Encoding",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"2017-18-08---The-Birth-of-Movable-Type.md\"; filename*=UTF-8''2017-18-08---The-Birth-of-Movable-Type.md",
"Etag": "W/\"b0f60b21ec2455572ab37e4be2c26876\"",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "44f78c474d04273185a95821426f75affc9b0044",
"X-Gitlab-Commit-Id": "cccedba45cd89df3190e24a5e173a89c097b65bb",
"X-Gitlab-Content-Sha256": "d76190173a1675a7aa9183c8e7a7a8c617924d5195999aa5f4daacd83090e548",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "2017-18-08---The-Birth-of-Movable-Type.md",
"X-Gitlab-File-Path": "content/posts/2017-18-08---The-Birth-of-Movable-Type.md",
"X-Gitlab-Last-Commit-Id": "2bc3fa39d8adb9e008e52793854338399fc6e4ad",
"X-Gitlab-Ref": "master",
"X-Gitlab-Size": "16071",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost",
"content-length": "16071"
},
"response": "---\ntitle: \"Johannes Gutenberg: The Birth of Movable Type\"\ndate: \"2017-08-18T22:12:03.284Z\"\ntemplate: \"post\"\ndraft: false\ncategory: \"Typography\"\ntags:\n - \"Open source\"\n - \"Gatsby\"\n - \"Typography\"\ndescription: \"German inventor Johannes Gutenberg developed a method of movable type and used it to create one of the western worlds first major printed books, the “FortyTwoLine” Bible.\"\ncanonical: ''\n---\n\nGerman inventor Johannes Gutenberg developed a method of movable type and used it to create one of the western worlds first major printed books, the “FortyTwoLine” Bible.\n\n**Johannes Gensfleisch zur Laden zum Gutenberg** (c. 1398 1468) was a German blacksmith, goldsmith, printer, and publisher who introduced printing to Europe. His invention of mechanical movable type printing started the Printing Revolution and is widely regarded as the most important event of the modern period. It played a key role in the development of the Renaissance, Reformation, the Age of Enlightenment, and the Scientific revolution and laid the material basis for the modern knowledge-based economy and the spread of learning to the masses.\n\n<figure class=\"float-right\" style=\"width: 240px\">\n\t<img src=\"/media/gutenberg.jpg\" alt=\"Gutenberg\">\n\t<figcaption>Johannes Gutenberg</figcaption>\n</figure>\n\nWith his invention of the printing press, Gutenberg was the first European to use movable type printing, in around 1439. Among his many contributions to printing are: the invention of a process for mass-producing movable type; the use of oil-based ink; and the use of a wooden printing press similar to the agricultural screw presses of the period. His truly epochal invention was the combination of these elements into a practical system that allowed the mass production of printed books and was economically viable for printers and readers alike. Gutenberg's method for making type is traditionally considered to have included a type metal alloy and a hand mould for casting type. The alloy was a mixture of lead, tin, and antimony that melted at a relatively low temperature for faster and more economical casting, cast well, and created a durable type.\n\nIn Renaissance Europe, the arrival of mechanical movable type printing introduced the era of mass communication which permanently altered the structure of society. The relatively unrestricted circulation of information including revolutionary ideas transcended borders, captured the masses in the Reformation and threatened the power of political and religious authorities; the sharp increase in literacy broke the monopoly of the literate elite on education and learning and bolstered the emerging middle class. Across Europe, the increasing cultural self-awareness of its people led to the rise of proto-nationalism, accelerated by the flowering of the European vernacular languages to the detriment of Latin's status as lingua franca. In the 19th century, the replacement of the hand-operated Gutenberg-style press by steam-powered rotary presses allowed printing on an industrial scale, while Western-style printing was adopted all over the world, becoming practically the sole medium for modern bulk printing.\n\nThe use of movable type was a marked improvement on the handwritten manuscript, which was the existing method of book production in Europe, and upon woodblock printing, and revolutionized European book-making. Gutenberg's printing technology spread rapidly throughout Europe and later the world.\n\nHis major work, the Gutenberg Bible (also known as the 42-line Bible), has been acclaimed for its high aesthetic and technical quality.\n\n## Printing Press\n\nAround 1439, Gutenberg was involved in a financial misadventure making polished metal mirrors (which were believed to capture holy light from religious relics) for sale to pilgrims to Aachen: in 1439 the city was planning to exhibit its collection of relics from Emperor Charlemagne but the event was delayed by one year due to a severe flood and the capital already spe
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F2016-02-02---A-Brief-History-of-Typography.md/raw?ref=master&ts=0",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Content-Length": "2786",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"2016-02-02---A-Brief-History-of-Typography.md\"; filename*=UTF-8''2016-02-02---A-Brief-History-of-Typography.md",
"Etag": "W/\"6f33f9960a288ff20a0e4a71d7c57486\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "0eea554365f002d0f1572af9a58522d335a794d5",
"X-Gitlab-Commit-Id": "cccedba45cd89df3190e24a5e173a89c097b65bb",
"X-Gitlab-Content-Sha256": "5ef3a4f55b0130f04866489f8304fd8db408351abe0bd10a9e8f17b167341591",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "2016-02-02---A-Brief-History-of-Typography.md",
"X-Gitlab-File-Path": "content/posts/2016-02-02---A-Brief-History-of-Typography.md",
"X-Gitlab-Last-Commit-Id": "2bc3fa39d8adb9e008e52793854338399fc6e4ad",
"X-Gitlab-Ref": "master",
"X-Gitlab-Size": "2786",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "---\ntitle: \"A Brief History of Typography\"\ndate: \"2016-02-02T22:40:32.169Z\"\ntemplate: \"post\"\ndraft: false\ncategory: \"Design Inspiration\"\ntags:\n - \"Linotype\"\n - \"Monotype\"\n - \"History of typography\"\n - \"Helvetica\"\ndescription: \"Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.\"\ncanonical: ''\n---\n\n**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. *Aenean ultricies mi vitae est.* Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. \n\nVestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.\n\n![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/image-0.jpg)\n\n## Header Level 2\n\n+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n+ Aliquam tincidunt mauris eu risus.\n\nDonec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. \n\n<figure>\n\t<blockquote>\n\t\t<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p>\n\t\t<footer>\n\t\t\t<cite>— Aliquam tincidunt mauris eu risus.</cite>\n\t\t</footer>\n\t</blockquote>\n</figure>\n\n### Header Level 3\n\n+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n+ Aliquam tincidunt mauris eu risus.\n\nPellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.\n\n```css\n#header h1 a {\n display: block;\n width: 300px;\n height: 80px;\n}\n```\n\nVestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?state=opened&labels=Any&target_branch=master&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4f53cda18c2baa0c0354bb5f9a3ecbe5\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "0",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?state=opened&labels=Any&target_branch=master&source_branch=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4f53cda18c2baa0c0354bb5f9a3ecbe5\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "0",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F1970-01-01-first-title.md/raw?ref=master&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "32",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "no-cache",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"GitLab-SV": "localhost"
},
"response": "{\"message\":\"404 File Not Found\"}",
"status": 404
},
{
"method": "HEAD",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F1970-01-01-first-title.md?ref=master&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "32",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "no-cache",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"GitLab-SV": "localhost"
},
"response": null,
"status": 404
},
{
2020-04-07 15:00:06 +03:00
"body": "{\"branch\":\"cms/posts/1970-01-01-first-title\",\"commit_message\":\"Create Post “1970-01-01-first-title”\",\"actions\":[{\"action\":\"create\",\"file_path\":\"content/posts/1970-01-01-first-title.md\",\"content\":\"LS0tCnRlbXBsYXRlOiBwb3N0CnRpdGxlOiBmaXJzdCB0aXRsZQpkYXRlOiAiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIgpkZXNjcmlwdGlvbjogZmlyc3QgZGVzY3JpcHRpb24KY2F0ZWdvcnk6IGZpcnN0IGNhdGVnb3J5CnRhZ3M6CiAgLSB0YWcxCi0tLQpmaXJzdCBib2R5\",\"encoding\":\"base64\"}],\"start_branch\":\"master\"}",
Feat: editorial workflow bitbucket gitlab (#3014) * refactor: typescript the backends * feat: support multiple files upload for GitLab and BitBucket * fix: load entry media files from media folder or UI state * chore: cleanup log message * chore: code cleanup * refactor: typescript the test backend * refactor: cleanup getEntry unsued variables * refactor: moved shared backend code to lib util * chore: rename files to preserve history * fix: bind readFile method to API classes * test(e2e): switch to chrome in cypress tests * refactor: extract common api methods * refactor: remove most of immutable js usage from backends * feat(backend-gitlab): initial editorial workflow support * feat(backend-gitlab): implement missing workflow methods * chore: fix lint error * feat(backend-gitlab): support files deletion * test(e2e): add gitlab cypress tests * feat(backend-bitbucket): implement missing editorial workflow methods * test(e2e): add BitBucket backend e2e tests * build: update node version to 12 on netlify builds * fix(backend-bitbucket): extract BitBucket avatar url * test: fix git-gateway AuthenticationPage test * test(e2e): fix some backend tests * test(e2e): fix tests * test(e2e): add git-gateway editorial workflow test * chore: code cleanup * test(e2e): revert back to electron * test(e2e): add non editorial workflow tests * fix(git-gateway-gitlab): don't call unpublishedEntry in simple workflow gitlab git-gateway doesn't support editorial workflow APIs yet. This change makes sure not to call them in simple workflow * refactor(backend-bitbucket): switch to diffstat API instead of raw diff * chore: fix test * test(e2e): add more git-gateway tests * fix: post rebase typescript fixes * test(e2e): fix tests * fix: fix parsing of content key and add tests * refactor: rename test file * test(unit): add getStatues unit tests * chore: update cypress * docs: update beta docs
2020-01-15 00:15:14 +02:00
"method": "POST",
"url": "/api/v4/projects/owner%2Frepo/repository/commits?ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "616",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"893d998f86729263e84a08949e983f4e\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "{\"id\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"short_id\":\"526b7958\",\"created_at\":\"2020-01-08T13:23:49.000+00:00\",\"parent_ids\":[\"cccedba45cd89df3190e24a5e173a89c097b65bb\"],\"title\":\"Create Post “1970-01-01-first-title”\",\"message\":\"Create Post “1970-01-01-first-title”\",\"author_name\":\"owner\",\"author_email\":\"owner@gmail.com\",\"authored_date\":\"2020-01-08T13:23:49.000+00:00\",\"committer_name\":\"owner\",\"committer_email\":\"owner@gmail.com\",\"committed_date\":\"2020-01-08T13:23:49.000+00:00\",\"stats\":{\"additions\":10,\"deletions\":0,\"total\":10},\"status\":null,\"last_pipeline\":null,\"project_id\":16214997}",
"status": 201
},
{
"method": "POST",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?source_branch=cms/posts/1970-01-01-first-title&target_branch=master&title=Create Post “1970-01-01-first-title”&description=Automatically generated by Netlify CMS&labels=netlify-cms/draft&remove_source_branch=true&squash=false&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2010",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"ab3589f5544c989767d0fabd53da9f21\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "{\"id\":46565287,\"iid\":1,\"project_id\":16214997,\"title\":\"Create Post “1970-01-01-first-title”\",\"description\":\"Automatically generated by Netlify CMS\",\"state\":\"opened\",\"created_at\":\"2020-01-08T13:23:51.593Z\",\"updated_at\":\"2020-01-08T13:23:51.593Z\",\"merged_by\":null,\"merged_at\":null,\"closed_by\":null,\"closed_at\":null,\"target_branch\":\"master\",\"source_branch\":\"cms/posts/1970-01-01-first-title\",\"user_notes_count\":0,\"upvotes\":0,\"downvotes\":0,\"assignee\":null,\"author\":{\"id\":4843565,\"name\":\"owner\",\"username\":\"owner\",\"state\":\"active\",\"avatar_url\":\"https://secure.gravatar.com/avatar/2c95a9ee2f890f6c9ccdbf2438c88ca7?s=80\\u0026d=identicon\",\"web_url\":\"https://gitlab.com/owner\"},\"assignees\":[],\"source_project_id\":16214997,\"target_project_id\":16214997,\"labels\":[\"netlify-cms/draft\"],\"work_in_progress\":false,\"milestone\":null,\"merge_when_pipeline_succeeds\":false,\"merge_status\":\"can_be_merged\",\"sha\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"merge_commit_sha\":null,\"squash_commit_sha\":null,\"discussion_locked\":null,\"should_remove_source_branch\":null,\"force_remove_source_branch\":true,\"reference\":\"!1\",\"references\":{\"short\":\"!1\",\"relative\":\"!1\",\"full\":\"owner/repo!1\"},\"web_url\":\"https://gitlab.com/owner/repo/merge_requests/1\",\"time_stats\":{\"time_estimate\":0,\"total_time_spent\":0,\"human_time_estimate\":null,\"human_total_time_spent\":null},\"squash\":false,\"task_completion_status\":{\"count\":0,\"completed_count\":0},\"has_conflicts\":false,\"blocking_discussions_resolved\":true,\"subscribed\":true,\"changes_count\":\"1\",\"latest_build_started_at\":null,\"latest_build_finished_at\":null,\"first_deployed_to_production_at\":null,\"pipeline\":null,\"head_pipeline\":null,\"diff_refs\":{\"base_sha\":\"cccedba45cd89df3190e24a5e173a89c097b65bb\",\"head_sha\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"start_sha\":\"cccedba45cd89df3190e24a5e173a89c097b65bb\"},\"merge_error\":null,\"user\":{\"can_merge\":true},\"approvals_before_merge\":null}",
"status": 201
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?state=opened&labels=Any&target_branch=master&source_branch=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "1613",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"554a9f85197f2664ab9a3adf8e743652\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "1",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[{\"id\":46565287,\"iid\":1,\"project_id\":16214997,\"title\":\"Create Post “1970-01-01-first-title”\",\"description\":\"Automatically generated by Netlify CMS\",\"state\":\"opened\",\"created_at\":\"2020-01-08T13:23:51.593Z\",\"updated_at\":\"2020-01-08T13:23:51.593Z\",\"merged_by\":null,\"merged_at\":null,\"closed_by\":null,\"closed_at\":null,\"target_branch\":\"master\",\"source_branch\":\"cms/posts/1970-01-01-first-title\",\"user_notes_count\":0,\"upvotes\":0,\"downvotes\":0,\"assignee\":null,\"author\":{\"id\":4843565,\"name\":\"owner\",\"username\":\"owner\",\"state\":\"active\",\"avatar_url\":\"https://secure.gravatar.com/avatar/2c95a9ee2f890f6c9ccdbf2438c88ca7?s=80\\u0026d=identicon\",\"web_url\":\"https://gitlab.com/owner\"},\"assignees\":[],\"source_project_id\":16214997,\"target_project_id\":16214997,\"labels\":[\"netlify-cms/draft\"],\"work_in_progress\":false,\"milestone\":null,\"merge_when_pipeline_succeeds\":false,\"merge_status\":\"can_be_merged\",\"sha\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"merge_commit_sha\":null,\"squash_commit_sha\":null,\"discussion_locked\":null,\"should_remove_source_branch\":null,\"force_remove_source_branch\":true,\"reference\":\"!1\",\"references\":{\"short\":\"!1\",\"relative\":\"!1\",\"full\":\"owner/repo!1\"},\"web_url\":\"https://gitlab.com/owner/repo/merge_requests/1\",\"time_stats\":{\"time_estimate\":0,\"total_time_spent\":0,\"human_time_estimate\":null,\"human_total_time_spent\":null},\"squash\":false,\"task_completion_status\":{\"count\":0,\"completed_count\":0},\"has_conflicts\":false,\"blocking_discussions_resolved\":true,\"approvals_before_merge\":null}]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/compare?from=master&to=526b7958d7bec3f0d54cf51e21013c58b9e1f5a2&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "1501",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"ebc40ef490200340751f8924514c161a\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "{\"commit\":{\"id\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"short_id\":\"526b7958\",\"created_at\":\"2020-01-08T13:23:49.000+00:00\",\"parent_ids\":[\"cccedba45cd89df3190e24a5e173a89c097b65bb\"],\"title\":\"Create Post “1970-01-01-first-title”\",\"message\":\"Create Post “1970-01-01-first-title”\",\"author_name\":\"owner\",\"author_email\":\"owner@gmail.com\",\"authored_date\":\"2020-01-08T13:23:49.000+00:00\",\"committer_name\":\"owner\",\"committer_email\":\"owner@gmail.com\",\"committed_date\":\"2020-01-08T13:23:49.000+00:00\"},\"commits\":[{\"id\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"short_id\":\"526b7958\",\"created_at\":\"2020-01-08T13:23:49.000+00:00\",\"parent_ids\":[\"cccedba45cd89df3190e24a5e173a89c097b65bb\"],\"title\":\"Create Post “1970-01-01-first-title”\",\"message\":\"Create Post “1970-01-01-first-title”\",\"author_name\":\"owner\",\"author_email\":\"owner@gmail.com\",\"authored_date\":\"2020-01-08T13:23:49.000+00:00\",\"committer_name\":\"owner\",\"committer_email\":\"owner@gmail.com\",\"committed_date\":\"2020-01-08T13:23:49.000+00:00\"}],\"diffs\":[{\"old_path\":\"content/posts/1970-01-01-first-title.md\",\"new_path\":\"content/posts/1970-01-01-first-title.md\",\"a_mode\":\"0\",\"b_mode\":\"100644\",\"new_file\":true,\"renamed_file\":false,\"deleted_file\":false,\"diff\":\"@@ -0,0 +1,10 @@\\n+---\\n+template: post\\n+title: first title\\n+date: 1970-01-01T00:00:00.000Z\\n+description: first description\\n+category: first category\\n+tags:\\n+ - tag1\\n+---\\n+first body\\n\"}],\"compare_timeout\":false,\"compare_same_ref\":false}",
"status": 200
},
{
"method": "HEAD",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F1970-01-01-first-title.md?ref=master&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "32",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "no-cache",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"GitLab-SV": "localhost"
},
"response": null,
"status": 404
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/files/content%2Fposts%2F1970-01-01-first-title.md/raw?ref=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "text/plain; charset=utf-8",
"Content-Length": "155",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Content-Disposition": "inline; filename=\"1970-01-01-first-title.md\"; filename*=UTF-8''1970-01-01-first-title.md",
"Etag": "W/\"de79b94d17d08230ccc2781a7eed5e5a\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Gitlab-Blob-Id": "762722b79294e825e5f22194f9273b53a2a3e6d5",
"X-Gitlab-Commit-Id": "526b7958d7bec3f0d54cf51e21013c58b9e1f5a2",
"X-Gitlab-Content-Sha256": "65eab7fa93df50a78e708474584f5642055ccafdc5f287b26deef8853b9b967c",
"X-Gitlab-Encoding": "base64",
"X-Gitlab-File-Name": "1970-01-01-first-title.md",
"X-Gitlab-File-Path": "content/posts/1970-01-01-first-title.md",
"X-Gitlab-Last-Commit-Id": "526b7958d7bec3f0d54cf51e21013c58b9e1f5a2",
"X-Gitlab-Ref": "cms/posts/1970-01-01-first-title",
"X-Gitlab-Size": "155",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "---\ntemplate: post\ntitle: first title\ndate: 1970-01-01T00:00:00.000Z\ndescription: first description\ncategory: first category\ntags:\n - tag1\n---\nfirst body\n",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?state=opened&labels=Any&target_branch=master&source_branch=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "1613",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"554a9f85197f2664ab9a3adf8e743652\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "1",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[{\"id\":46565287,\"iid\":1,\"project_id\":16214997,\"title\":\"Create Post “1970-01-01-first-title”\",\"description\":\"Automatically generated by Netlify CMS\",\"state\":\"opened\",\"created_at\":\"2020-01-08T13:23:51.593Z\",\"updated_at\":\"2020-01-08T13:23:51.593Z\",\"merged_by\":null,\"merged_at\":null,\"closed_by\":null,\"closed_at\":null,\"target_branch\":\"master\",\"source_branch\":\"cms/posts/1970-01-01-first-title\",\"user_notes_count\":0,\"upvotes\":0,\"downvotes\":0,\"assignee\":null,\"author\":{\"id\":4843565,\"name\":\"owner\",\"username\":\"owner\",\"state\":\"active\",\"avatar_url\":\"https://secure.gravatar.com/avatar/2c95a9ee2f890f6c9ccdbf2438c88ca7?s=80\\u0026d=identicon\",\"web_url\":\"https://gitlab.com/owner\"},\"assignees\":[],\"source_project_id\":16214997,\"target_project_id\":16214997,\"labels\":[\"netlify-cms/draft\"],\"work_in_progress\":false,\"milestone\":null,\"merge_when_pipeline_succeeds\":false,\"merge_status\":\"can_be_merged\",\"sha\":\"526b7958d7bec3f0d54cf51e21013c58b9e1f5a2\",\"merge_commit_sha\":null,\"squash_commit_sha\":null,\"discussion_locked\":null,\"should_remove_source_branch\":null,\"force_remove_source_branch\":true,\"reference\":\"!1\",\"references\":{\"short\":\"!1\",\"relative\":\"!1\",\"full\":\"owner/repo!1\"},\"web_url\":\"https://gitlab.com/owner/repo/merge_requests/1\",\"time_stats\":{\"time_estimate\":0,\"total_time_spent\":0,\"human_time_estimate\":null,\"human_total_time_spent\":null},\"squash\":false,\"task_completion_status\":{\"count\":0,\"completed_count\":0},\"has_conflicts\":false,\"blocking_discussions_resolved\":true,\"approvals_before_merge\":null}]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/repository/commits/526b7958d7bec3f0d54cf51e21013c58b9e1f5a2/statuses?ref=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4f53cda18c2baa0c0354bb5f9a3ecbe5\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/repository/commits/526b7958d7bec3f0d54cf51e21013c58b9e1f5a2/statuses?id=owner%2Frepo&page=1&per_page=20&ref=cms%2Fposts%2F1970-01-01-first-title&sha=526b7958d7bec3f0d54cf51e21013c58b9e1f5a2&ts=300>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/repository/commits/526b7958d7bec3f0d54cf51e21013c58b9e1f5a2/statuses?id=owner%2Frepo&page=1&per_page=20&ref=cms%2Fposts%2F1970-01-01-first-title&sha=526b7958d7bec3f0d54cf51e21013c58b9e1f5a2&ts=300>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "0",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[]",
"status": 200
},
{
"method": "GET",
"url": "/api/v4/projects/owner%2Frepo/merge_requests?state=opened&labels=Any&target_branch=master&source_branch=cms/posts/1970-01-01-first-title&ts=300",
"headers": {
"Server": "nginx",
"Content-Type": "application/json",
"Content-Length": "2",
"Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Access-Control-Expose-Headers": "Link, X-Total, X-Total-Pages, X-Per-Page, X-Page, X-Next-Page, X-Prev-Page",
"Access-Control-Max-Age": "1728000",
"Cache-Control": "max-age=0, private, must-revalidate",
"Etag": "W/\"4f53cda18c2baa0c0354bb5f9a3ecbe5\"",
"Link": "<https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"first\", <https://gitlab.com/api/v4/projects/owner%2Frepo/merge_requests?id=owner%2Frepo&labels%5B%5D=Any&order_by=created_at&page=1&per_page=20&sort=desc&source_branch=cms%2Fposts%2F1970-01-01-first-title&state=opened&target_branch=master&ts=300&with_labels_details=false>; rel=\"last\"",
"Vary": "Origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Next-Page": "",
"X-Page": "1",
"X-Per-Page": "20",
"X-Prev-Page": "",
"X-Total": "0",
"X-Total-Pages": "1",
"Strict-Transport-Security": "max-age=31536000",
"Referrer-Policy": "strict-origin-when-cross-origin",
"GitLab-SV": "localhost"
},
"response": "[]",
"status": 200
}
2020-04-07 15:00:06 +03:00
]