From 255d81976a407f49f077ccd844b00370eef5f8cc Mon Sep 17 00:00:00 2001 From: KathrynEE Date: Tue, 31 Aug 2021 16:41:00 -0700 Subject: [PATCH] finishing up --- docs/cross-service/cross-service-overview.md | 71 +++++++++++++----- docs/cross-service/github-integration.md | 22 +++--- .../overview/concept-link-types-pipelines.png | Bin 3408 -> 3833 bytes .../overview/concept-link-types-repos.png | Bin 7104 -> 8492 bytes docs/get-started/toc.yml | 8 ++ docs/index.yml | 16 ++-- 6 files changed, 80 insertions(+), 37 deletions(-) diff --git a/docs/cross-service/cross-service-overview.md b/docs/cross-service/cross-service-overview.md index 23bf733d351..2bccf0c7a67 100644 --- a/docs/cross-service/cross-service-overview.md +++ b/docs/cross-service/cross-service-overview.md @@ -18,11 +18,11 @@ ms.date: 08/31/2021 One of the major strengths of Azure DevOps is the integration it supports across its core services. Azure DevOps supports multiple integration points across each of the major services—Azure Boards, Azure Repos, Azure Pipelines, and Azure Test Plans. -Review this article to understand the various integration points across Azure DevOps. +Review this article to understand how to use various features to support collaboration and traceability for all your devops tasks. -## Collaboration across Azure Devops +## Collaboration across Azure DevOps Collaborating within and across teams is supported with many of the features summarized in the following table. @@ -365,9 +365,42 @@ The following table summarizes the integration features between Azure Repos and :::column-end::: :::row-end::: --- - - -::: moniker-end +:::row::: + :::column span="1"::: + Code coverage + :::column-end::: + :::column span="2"::: + Publish and review code coverage results that indicate the proportion of your project's code that is actually being tested. To learn more, see [Publish Code Coverage Results task](../pipelines/tasks/test/publish-code-coverage-results.md) and [Review code coverage results](../pipelines/test/review-code-coverage-results.md). + :::column-end::: +:::row-end::: +--- +:::row::: + :::column span="1"::: + View test results in builds and releases + :::column-end::: + :::column span="2"::: + Measure pipeline quality, review traceability, and troubleshoot failures by surfacing test reulst in pipeline builds and releases. To learn more, see [Review test results](../pipelines/test/review-continuous-test-results-after-build.md). + :::column-end::: +:::row-end::: +--- +:::row::: + :::column span="1"::: + Run automated tests in build pipelines + :::column-end::: + :::column span="2"::: + Associate test plans with a build pipeline so that they run with each build. To learn more, see [Run automated tests from test plans](..//test/run-automated-tests-from-test-hub.md). + :::column-end::: +:::row-end::: +--- +:::row::: + :::column span="1"::: + Run automated tests in build pipelines + :::column-end::: + :::column span="2"::: + Associate test plans with a build pipeline so that they run with each build. To learn more, see [Run automated tests from test plans](..//test/run-automated-tests-from-test-hub.md). + :::column-end::: +:::row-end::: +--- @@ -481,7 +514,6 @@ Several collaboration scenarios are supported through Azure Boards work item typ :::column span="3"::: Defines steps used to validate individual parts of your code to ensure your code works correctly, has no errors, and meets business and customer requirements. You can add individual test cases to a test plan without creating a test suite. More than one test suite or test plan can refer to a test case. You can effectively reuse test cases without having to copy or clone them for each suite or plan. To learn more, see [Create manual test cases](../test/create-test-cases.md). :::column-end::: - :::column-end::: :::row-end::: --- :::row::: @@ -509,7 +541,7 @@ Several collaboration scenarios are supported through Azure Boards work item typ :::row-end::: --- -## Test work item types +### Test work item types Work item types that support the test experience are linked together using the link types shown in the following image. These include *Tested By/Tests*, *Test Cases/Shared Steps*, and *Reference By/References*. @@ -518,7 +550,7 @@ Work item types that support the test experience are linked together using the l From the web portal, you can view which test cases are defined for a test suite, and which test suites are defined for a test plan. However, these objects aren't connected to each other through specific link types. -## Bug tracking +### Bug tracking When tracking bugs using the Bug work item type, note the following supported integrations. @@ -527,9 +559,6 @@ When tracking bugs using the Bug work item type, note the following supported in :::column span="1"::: **Scenario** :::column-end::: - :::column span="1"::: - **Work item type** - :::column-end::: :::column span="3"::: **Description** :::column-end::: @@ -540,7 +569,7 @@ When tracking bugs using the Bug work item type, note the following supported in Create a bug from a testing tool :::column-end::: :::column span="3"::: - You can add a bug from Test Runner or the Test & Feedback extension. To learn more, see [../boards/backlogs/manage-bugs.md#create-a-bug-from-a-testing-tool]. + You can add a bug from Test Runner or the Test & Feedback extension. To learn more, see [Define, capture, triage, and manage bugs](../boards/backlogs/manage-bugs.md#create-a-bug-from-a-testing-tool). :::column-end::: :::row-end::: --- @@ -745,6 +774,8 @@ Widgets are annotated as follows: --- +::: moniker range=">= azure-devops-2019" + ## Data available from Analytics Analytics provides the reporting platform for Azure DevOps. Analytics is generally available for Azure DevOps Service and Azure DevOps Server 2020. It is in preview for Azure DevOps Server 2019. @@ -754,9 +785,11 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general --- :::row::: :::column span="1"::: + **Service** :::column-end::: - :::column span="2"::: + :::column span="1"::: + **Data availability** :::column-end::: :::column span="1"::: @@ -772,7 +805,7 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general :::column span="1"::: **Boards** :::column-end::: - :::column span="2"::: + :::column span="1"::: [Widgets](../report/dashboards/analytics-widgets.md) [In-context reports](../report/dashboards/overview.md#in-context-reports-work-tracking) [OData](../report/extend-analytics/quick-ref.md) @@ -796,7 +829,7 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general :::column span="1"::: **Repos** :::column-end::: - :::column span="2"::: + :::column span="1"::: None :::column-end::: :::column span="1"::: @@ -832,7 +865,7 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general :::column span="1"::: **Test Plans** :::column-end::: - :::column span="2"::: + :::column span="1"::: [Progress Report](../test/track-test-status.md) :::column-end::: :::column span="1"::: @@ -845,7 +878,7 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general --- :::row::: :::column span="1"::: - Artifacts + **Artifacts** :::column-end::: :::column span="2"::: None @@ -859,6 +892,10 @@ Analytics provides the reporting platform for Azure DevOps. Analytics is general :::row-end::: --- + +::: moniker-end + + ## Related articles diff --git a/docs/cross-service/github-integration.md b/docs/cross-service/github-integration.md index 86d8fcca870..c93ae991014 100644 --- a/docs/cross-service/github-integration.md +++ b/docs/cross-service/github-integration.md @@ -18,9 +18,8 @@ ms.date: 08/31/2021 Azure Boards and Azure Pipelines provide several integration points with GitHub and GitHub Enterprise. - -### Sign-in with GitHub credentials +## Sign-in with GitHub credentials Azure DevOps simplifies deployment from your repository with seamless access to the Azure portal and Azure DevOps using your GitHub account credentials. @@ -35,7 +34,6 @@ Azure DevOps simplifies deployment from your repository with seamless access to :::column-end::: :::row-end::: --- -::: moniker-end ::: moniker range=">= azure-devops-2020" :::row::: :::column span="1"::: @@ -67,9 +65,8 @@ Azure DevOps simplifies deployment from your repository with seamless access to :::column-end::: :::row-end::: - -### Azure Boards and GitHub integration +## Azure Boards and GitHub integration By connecting Azure Boards with GitHub repositories, you enable linking between GitHub commits, pull requests, and issues to work items. You can use GitHub for software development while using Azure Boards to plan and track your work. To get started, see [Azure Boards-GitHub integration](../boards/github/index.md). @@ -143,9 +140,8 @@ By connecting Azure Boards with GitHub repositories, you enable linking between :::row-end::: --- - -### Azure Pipelines and GitHub integration +## Azure Pipelines and GitHub integration You can use Azure Pipelines to automatically build, test, package, release, and deploy your GitHub repository code. To get started, see [Build GitHub repositories](../pipelines/repos/github.md). @@ -328,7 +324,7 @@ You can map your GitHub repositories to one or more projects in Azure DevOps. ::: moniker range="azure-devops" :::row::: :::column span="1"::: - Github packages support in YAML pipelines + GitHub packages support in YAML pipelines :::column-end::: :::column span="2"::: In your YAML pipeline, specify a package type (NuGet or npm) that you want to consume from GitHub. For details, see [Resources: packages](../pipelines/process/resources.md). @@ -346,8 +342,9 @@ You can map your GitHub repositories to one or more projects in Azure DevOps. - **GitHub Checks** allows for sending detailed information about the pipeline status, test, code coverage, and errors. Status is posted to GitHub Checks for each job in the pipeline. - **Status badges**: Supports adding Markdown syntax to a GitHub repo README.md file to display the pipeline status. - GitHub artifacts show associated commits deployed in a release. To enhance traceability, you can see all the commits that were deployed to an environment for GitHub repositories, as a part of a specific release. - - Track GitHub commits and associated issues in releases. Lists commits made in GitHub repos and the associated GitHub issues that are being deployed with a release. For details, see [Track GitHub commits and associated issues in releases (Release Notes)](/azure/devops/release-notes/2018/sep-10-azure-devops-launch#new-build-status-badge-url). - For details, see: + - Track GitHub commits and associated issues in releases. Lists commits made in GitHub repos and the associated GitHub issues that are being deployed with a release. For details, see [Track GitHub commits and associated issues in releases (Release Notes)](/azure/devops/release-notes/2018/sep-10-azure-devops-launch#new-build-status-badge-url). + + For details, see: - [Create your first pipeline, Add a status badge to your repository](../pipelines/create-first-pipeline.md#add-a-status-badge-to-your-repository). - [GitHub Checks API](https://docs.github.com/en/rest/reference/checks) - [Display status for each pipeline job in GitHub Checks (Release Notes)](/azure/devops/release-notes/2019/sprint-146-update#automatic-github-service-connections-in-pipelines). @@ -358,5 +355,6 @@ You can map your GitHub repositories to one or more projects in Azure DevOps. ## Related articles -- [Azure Boards-GitHub integration](../boards/github/index.md) -- [Build GitHub repositories](../pipelines/repos/github.md) \ No newline at end of file +- [Azure Boards-GitHub integration](../boards/github/index.md) +- [Build GitHub repositories](../pipelines/repos/github.md) +- [Git experience in Visual Studio](/visualstudio/version-control/git-with-visual-studio) \ No newline at end of file diff --git a/docs/cross-service/media/overview/concept-link-types-pipelines.png b/docs/cross-service/media/overview/concept-link-types-pipelines.png index 6e10710901145225076cc452adcd51a57161d1ef..7235c8d0e15b1c75fd8dbddd80ee306d6f7083fe 100644 GIT binary patch literal 3833 zcmZ`+cQ_kt*B7(4ST$llw2D$KHHwm$wfAc5QKL#qD{8e5Qi_t=dz6$WM#T<&tPoY3 z7&WSPQ6toT)9<_9f8O`|{|hiWEFFIqfa|(J z6#0^*57D%I4&D0ZcILs$gzaRb7rx7>pw~;hAB4xYapRQGM0xr35t1rA{><+P$-41juf_`; zOT%U)qZKhKT~?gA&QOW4HNF;$E))@McP5$!$GlX5l-krX*Vy^$1P-p=gdshQyi;wI ziuw_#iCccX)qxQEV5PdbuA=4SBCa&1XD$-iwP6OD?gGVP#nau@BAv5w!_!ad`ubh! zv{LoDsMhAtCPPnYfwkob6gdkN+&-j4l}*=m`4Jcr9Pa`iza2(@wFi8~UU$TPn41Sb z@D2+Jwr3Y)c|Eo1*jQ?^^4vZS;REQ5Wr7uaYKq!^2TQYKJYk7p+ZpL+|Mf)A5Dimg z!2ZKNAyRDr`P8r1^M^YBp46PzD9`f(^4E@Y#WKrmeigWg_oqI~?<;L)$oXL>d}g9n z65|ALy&S%+B@F4(7~2rI?DEM317U=2i^dAj?K{6Pz+Smeg?yP z;0z87X?_ysaEN9mfKG8!>Y|u3CIlv6-3kINg!BO5~cii!?nv;+yFfP zMNu0|3EE6^FOh*$O|??Xb5wS$Yx1zQ@j!X#9Fbp?swA?1wm<0R<71FvE>`hk?fQU> zZF1xy{~?6W{M*AsZql)OhmQyx9RdYv9B)ae{dU`3-+^AvAp)H1YypzUr4AfYrNXtc% zqr|%)Wfvq15U1v42ZxfH>pv)ZoSF;H7pj+^e3S_?){ik(aXx6}Fs$^5SOwA2(FGp< z9N~brglu*E^NNl{e*EqdKJa+YLoK5w@-l*niOKm}b8vI%yXsItmP{K$40)}3JR7P{ zB+hj9(SW?^xW8(|K}qw*vYkDdu`K+)tJ2ZMlz95|sYukN@R;b75upXkF}WDji{%(( zsJN$jtAr9@!nxz2hii2~j#k#J37WLk#}8C7gcl5)ot>o)rQ{7{-S+zPjs3Fitv|vB znR)T?a7F8?AENnCcG0F_Mnf=KgSu56)M0Puq3>+=Ug0oY@ubzrd}|hbLkW^_pw))? za-1DFd0de8R*+D#m!}`YnA7mBDWD?6%zxW zFM}J1k8TM(>}yu&6;K(xxBup*xCU}(O0QSx@uk3InV{~cVC)+FPRlDV`E`|9>nKNO zIfbb9jsEhhUv)E_;(T<-F>6ohNrSYcZR!N}7Y64g(CvM}PJC3>^`V1!`1-y=f8Nz~ zOO2HlE7lL|-YXRiTBQSsX$;IMxsHzOrFGaI0hEGrs2!bZ2q?%GBL{EV6WOORK3Y5V z8;Kh#eW7-^9SO{E8tumbT0Wk1|LlrJW(Ci62(oUPq8EtX?n^{(OUk6g2_7XyzH$0V zv0ReW+e^DaTD_U*d&%kPd*(t5*4_^NfeluE{8Hc4&CZ>PZ(Rhkt_4?2J}-zMtW>Ob z{VLwiq#CW5;x_YlBM#k2aoRUd#-CTJAKA2pK~3--G;jlqe=J9{w2kCUf1sp=Z0P^`oQmC=xI#EPLc}Ykm2(2x&#g^>K(mq$_Qcu9%X4@< zU)-$t&hiT0_1Uz|w86}cy8OxZVRY``=b8zW`mWENg63yCg5-(oibLvyd=q;aV-rnq zr`s)=+1a&ozOOE@ICqe|yqJ^J3|3Ulr-r-v`x-Ur|HyAv`_qh#b!1 zQSiFJ$1uYh;G30MCgte$dZ2VtznYxP8vnD{zLYRH!8gGT4NQx3SptvbG=&{u6l8X= zqb<8CZJBQb%0e
wF#L#1bHUdfUZBhQppJ@qD^yNRwJfJ*OLKpn^lq3$v97X%*p zfUx5&yM*m*7dSrMqP=Nn)-PGgj|y&w*q#K`~IdktN8>C0AktCqo^*? z9&~<4vIlTv4Z(si9-xzAdC>|NCVruPGQBYi|E~NW^hPN*G1;G34cOn`hbJMtN&iKV zo)?fEW*dP*k!QCi&<^Df5I2_olimEAE0Kv6?_bF`4)>@DuF0yHy0m&LZ?&pOF*7%E z@HA~f1+|YC;>E5!ik9NdUTiSI@t^lhbO_5e1KVC-u1HP}KBaFtWzO2WFYOsHYTrE< zp#-{bAslN*YPY>#6)-MSg)V!dm9bnq6C4@)K2i)wW;XF-#uuJL5ode0S2$8Qe2%2m zs6zcdoqMkYp0`H1H!|`d@psDE@&pZp+EVw(Ek50IMF*Cz_rLXFKiKd{bG~sOwR+3% z<|lNw@ICc&`T2Q02oryWC>FUhNtgRWKRdI>CN%Q*wG`8^kkdzLe`+LIKYfqofH-KP z^I(24_nNt9x?QRJEqi0Phq$={Y09T3U6VJ1eavNV=uL!j3(ZY@`oRdo^x)6b z9S8iRqb7z0OFuGFqOx0AZN&cBWy#jn=$P|VP@PIvs{-gsm^fEH6iLnv_8x!I$me6r zE*HXDN{Vbv4gyha{Y z7qnFbO*ve>!=i+-QRxHpS~P5R^`kg%%%-0js$XIrkLgl9RL<|ySUBi83O=S}se51~ zyY=?bJ+CFVps$_-*$Rz2ZKqG^&5kipTyrf<(G-`E&v~f4>RZ|{d^^g)T1^J^^1E=* zM4ydUx%%aP{>|BVs7*LT;@8CB^2ESpPZ=LKh3a>7zZ5C zhU8h|a^e`U;C>h4+ri#USFrbkU63Kpc6Z#{ZeRYKa^)M2Eg?>2q*8e_el$q$D}$i2 zVLCm33VnSO<Oc>8cF~h5YBQWKZZeUGT25)@DhzKbt%WzI&c|T zfYA1_%nN>zzrE(c!LG^6uG6t3?hJw7HkTd!)aQh^e~3Jxr$!f@e;eiP4|qlR2d{OP z_RtTN)JTVyzO(k;Aw?yWZsMJb$M-ct=$)vH5CjTN?qUxpE$)j&`NHSy!xCz9fA9@k zvJg>flrWQVA)0b=@g0ny_3}iieCrPqg{K#{x1{G;fL5%Xu@$Hxa&|NuoFLoLCbmMZ zlz})>C~v?Pn;GdBB|!8BuPmE4Q|tXG1Y(2X|CVNCxcMW~)c$Ll{r}3&xT$PFDitDA|R1+0wE|; z4+zo;1f+vhg-{eJBIRyV zba`ickMrlwX3i@U{$~qafVuu%plX2s`t>Ew*NEe zx_sZd1Hi>)LzuQ@h||W5Gsb>YfN9%#uR}y8%Sr?}IgT*`MWT7&(?v>?Ff11@N$keC z1o`J8#-pxuW(*!iBDqFaOtIy;&(+2(?RE1WX7Cs~JQymtyKub+o(p5phrfApw^J~L zW*>Aiv+gy=w|Y3(L`-cF((P7RoehtWJLvroo#Hz)Imt^0pug&`$pBirIz@Cb8fj>t zfK8Ma_y$T~1P-NFf_5ARx03(F)>Zb367HUR=ZyRm*c zBHa$tTIU&JMsn{N)8p{s4C5fs6{reRNOA%!iI(77{4#!*a%dZ`UV<7C@@$TDgv;#4 zd@E+2Bc_hHV#G)H>w;^l*9Ne0Y9d7!3XIO;IFyI3Buao26anvR6jH77BM&6bfLST7 zlzX@+J-NNZSt6qD2FC&w**ppmfPcV3NjDrHgkFaX1w+}lE+t<;p8ClT-QgAa@aW$z zoBHoAmdvIy;@XeVQGXw!0lY1GAx4GJSQm5PLRWO-~ELXj}e4FT^Cu zFFt!*yypJ$_<06Nouas4vm>}wsa38-gDd^?f^?jq>2l3yp$J|BQFgW9&6{6~89rs6 zib(DCN5ApJctGpqHI&}}GCwsQMOz4ks_j=GC~Y*LB`Ae@IeOO3go>`99cihN;l z=!Jl_FoSGi&DS0#>bq1Lt>WR6ep6%>u@8(Xu5SLM?3J0did@~kL`k9sw@BY?)XU#8 zv%OgE9-BO~*Qht*x@?f82kRr2kX|m}hnK>$LSl0fKLl;vB4jEBF2Cb-*Te_})@M1i z4NI(RH#=BlRds}jglC^vftv?kKEss`Mv0BRGw3}n*5MW+GfhP9&(ynhv0Blk_74t5 zpC0cMT*vEu=cv@Io2yM@-6>pdyKb)A*=w31>d>eP$U8X;GIvKIdcV~MrkTX*la$Pt zMcir~uylm*%em zelDW4*3KvO8D6Dgkq+YkKq!MFX&?j>~UC8V-@mw`Id9ao*AMA5hg zUKQOPIYM~sT8ANN7x5r2)%44%<()TG*h!*Kadmn4v@QNu^S8`n_xzY)x<3vA8WFZu zt>LtpTaeynfCp`ue+(1)C--L}*9cCt zr<|7R+_vLT08K;ly6NO$wetf1a?8W+e5eHj(_=`oQm$?B zH2YuxU40sQ@|D@#0oq-^rrr&~IwhW0JgD+4`GI)Dkkr_VKGTJEKFnvL(Zs2`L4!HeGALdqWVv(vHzlPnsMwS;- z0r~8=ydwA-lT$XPy5h>cv^=Oax9)>0`J4XmR@U+(>B@fQL88VJGig7eo;r}Jyt&3S02_;e*$bJ;4C&8B@Pt8>m`I|$O_ zMv)fIO*K;W>u4KehNgc#G9m7CJpFl6tE1aqhZvk`3J+c#$fwm4zNq$HU|Vj)ZmYlT<a4|K6hAOdd6ILI&GuCkgP0_rzZ8Z6{{T@+j(=pW}xr3 z>_*@zHaY8)^U(ib08!&-h(CYU5P%rZ|4k8EBh91G z7|hYZVk#dmucZLt5{_ZHtO(B#C->hN--XL(GA)3_v)hONsx2`uESihzcx8|$Q3i0H zPbd}g#$nHy%8KSjkwX2!T5W0Q+viOXbl$?0hsI`XsuS3M{4OR~GaH2uU6=|Bz+ufD ztMa`k!iEl1^2{rhFm)0d?~A2PgI+N#$3J|{5GPT#M5Nr5 zhXvFl-97AB#^UWvO`$uR7kdMi3g{tUgBp$@jIMcf35+yJvzdHi>1J2V@S6-9p|AyR zf6gF@lSEa{jTR|hc}$WIE@!lo$;6q11ug`$Oj3Q(Kf-t3KrzPuLui$KNB{122(%`< z-a&2Z`0Fe&`vfT!Vcs9}Y;%FW5hdzKd5Qyg2{0p8^;Sg%G&q;(2e+4r1^pI|>* za&odg8S`Nk7k*a5{VlL#lhTk2%E7}{wgD(kB+X|S@+se#SyK?I@I9( ztLvtZS1RYc7rj}V>dI?^5;anv!FJk{`R;7aHocS1o8PJ5KRqrxRsJ)De|uQ!smmKX{xSo84>DXdJyF*P-y);LazhgExIWwEH`$za#>8V|K?lK2AiT zmcN1aW=V0dr_d$!8fAU)E5Cg>{VEkKP;s6){n}jhC)bs<)P$g2tTv$}Vlg}${o-;u zoO~AHm47>B@K8xSr? z+@KVZyJ@c|-3@=*k^ZF<;e{J_%vAUFBH|`fQdrC@tZ*}T2KM1(T}bq|!dOA;D3O`% zG}|~2tnDPnpWiMx*U&H!gPWrIHrtxRJr<~~80CzWq8|L@cf9Xip`C1mNm^QYK@_zx z9h>X;5vRJ4ZaB(_1B9q@Or<}Z>V3v$Lv$bqp$(_ zT}R?(t%rX&$~t?|GKh$pZ$mxw24_fq)~(uO`t=MpVvZ|coJd*cJin}dBoDdcYR)l9p8&L|C-*7 zny~6}ASw_YHrY%}$T=@<81IkF_W&_B-pkKRIPd_#KN3LiKc0LY0vKZI{QoG0ThC9} Zg3gUbg{X5FpQ#|gP!|EKx_kf0e*wWUfhYg~ diff --git a/docs/cross-service/media/overview/concept-link-types-repos.png b/docs/cross-service/media/overview/concept-link-types-repos.png index febbf64ea9b1f4d17bc57cf994cdd9da51429974..66bafbc0dad4da3d265bf3a265a9dcec568e2724 100644 GIT binary patch literal 8492 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 KtBz5%e*SNDjM~w)gjNW^VQ8J>8 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 diff --git a/docs/get-started/toc.yml b/docs/get-started/toc.yml index afb15f442f5..d6570883c18 100644 --- a/docs/get-started/toc.yml +++ b/docs/get-started/toc.yml @@ -2,6 +2,14 @@ href: index.yml - name: Start using Azure DevOps href: ../user-guide/toc.yml +- name: Integration overview + items: + - name: Cross-service integration overview + href: ../cross-service/cross-service-overview.md?toc=/azure/devops/get-started/toc.json&bc=/azure/devops/get-started/breadcrumb/toc.json + - name: GitHub integration + href: ../cross-service/github-integration.md?toc=/azure/devops/get-started/toc.json&bc=/azure/devops/get-started/breadcrumb/toc.json + - name: Deploy to Azure + href: ../pipelines/overview-azure.md?toc=/azure/devops/get-started/toc.json&bc=/azure/devops/get-started/breadcrumb/toc.json - name: Web portal navigation items: - name: Navigation diff --git a/docs/index.yml b/docs/index.yml index 1156d3c1d01..0d37cdbca68 100644 --- a/docs/index.yml +++ b/docs/index.yml @@ -232,31 +232,31 @@ additionalContent: # Card - title: Cross-service, Wikis, Public Projects links: - - text: Search - url: ./project/search/get-started-search.md - - text: Work across projects - url: ./project/navigation/work-across-projects.md - - text: Work across projects FAQs - url: ./project/work-across-projects-faqs.yml + - text: Cross-service integration and collaboration overview + url: ./cross-service/cross-service-overview.md?toc=/azure/devops/project/toc.json&bc=/azure/devops/project/breadcrumb/toc.json - text: End-to-end traceability url: ./cross-service/end-to-end-traceability.md + - text: Work across projects + url: ./project/navigation/work-across-projects.md - text: Create a wiki for your project url: ./project/wiki/wiki-create-repo.md - text: Syntax guidance for Markdown usage in Wiki url: ./project/wiki/wiki-markdown-guidance.md - - text: Create a public project - url: ./organizations/public/create-public-project.md - text: "See more >" url: ./project/index.yml # Card - title: GitHub integration links: + - url: ./cross-service/github-integration.md?toc=/azure/devops/project/toc.json&bc=/azure/devops/project/breadcrumb/toc.json + text: GitHub integration - url: ./boards/github/connect-to-github.md text: Azure Boards & GitHub - url: ./pipelines/create-first-pipeline.md text: Azure Pipelines & GitHub - url: /azure/devops-project/azure-devops-project-github text: Azure DevOps Projects & GitHub + - url: /visualstudio/version-control/git-with-visual-studio + text: Git experience in Visual Studio - title: Configure & customize resources items: # Card