Can we link Confluence page to get the specflow feature file which is Azure devops repo? - azure-devops

I have confluence page, where I want to store all my feature files(specflow), so that Business can have a look. Currently these feature file resides in a repository in Azure Devops. Is there a way to dynamically link these two , so that Confluence gets updated with the latest feature files ?
Thanks,
Rajee

I have the same basic problem, too. Our code is in DevOps and our product owner needs access to the feature files, but without a higher license in DevOps they cannot see repos.
I submit a pull request even to include new features. I mention the work item Id for the epic, story, feature or bug it pertains to in the commit message. I like to use conventional commits for commit messages in this case:
docs: Cucumber tests for X feature (related #1234)
(where #1234 is the work item Id in DevOps)
Make sure the epic, feature or story is linked to the pull request in DevOps.
Upon completing the pull request DevOps adds a link from the epic, feature story or bug to the pull request, providing some traceability to the real code.
Next, I copy and paste the feature files and scenarios into the acceptance criteria for stories, steps to reproduce for bugs or the description for features and epics. I also include a relative file path in the work item description to the feature file:
(copied and pasted from Project.Specs/Foo/Bar.feature)
Feature: ...
In order to ...
As a ...
I want to ...
Scenario: ...
Scenario: ...
It's a manual process, but you could adopt something similar in Confluence. You might not get the link from the commit to the wiki document, but basically copy and paste is your only free choice.
If your customers have read access to DevOps (which they should) adopting the procedure I outlined above at least gives you some traceability between the work item and a pull request that added the features to the repository. Then it is a manual step to copy and paste the features into the work item descriptions or acceptance criteria so the customers can review and approve. Annoying? Yes. But it does the trick.

Related

How do we enable code reviews in Azure DevOps?

Our company has multiple projects, and uses code reviews in most of them. However in one decades-old project we get the following message: "This feature can't be used until your Azure DevOps administrator has enabled it on the team project."
In Visual Studio / Team Explorer / Pending Actions, I drop down the list of Actions, and select 'Request Review' to get the above message.
We can't find the setting to enable code reviews, and google can't find any mentions of the error message.
We're still using Team Foundation version control, not Git.
We are on "Azure DevOps Server 2020 Update 1"
The closest match I've found on the web is this but it's not quite the same, and I'm reluctant to poke around with the templates without understanding them. It is quite possible that this project has been imported from our old Source Safe system some time ago though, the history is murky.
There used to be a new feature enablement wizard in versions up to Team Foundation Server 2018, It has now been removed. So now you'll have to do this manually. The blog post you referenced looks correct at first glance..
What you need to do is to make sure the right work item types, categories and relationships exist in your team project.
This official doc lists the steps to take. You'll need to:
Download the latest process template: Get the definitions you need to import or update
Import WITs: Code Review Request and Code Review Response
Update Categories:
Add the Code Review Request and Code Review Response Categories
Add the Code Review Request and Code Review Response Categories to the Hidden Types Category
Update ProcessConfiguration: Add work item colors for Code Review Request and Code Review Response
To verify, create a code review request.
You're likely missing more features, all of upgrades are described in the linked documenation.

Github API Specify Previous Tag

I'm trying to figure out how to specify "Previous Tag" via queryparams in the release form automation, or via the Create Release API. Preferably Both.
Here is the feature in the UI documented as step 7 here.
If there is no way to do this - where does one request a feature for github? Ex: Is there a github project for github?
Here are the documentation pages for the two ways to do this:
Automation for release forms - there is no "previous_tag" option.
Create a release API - there is no obvious reference to how to specify previous tag, even though there is a way to specify and tell it to generate release notes.
To repeat the question one more time:
How do we specify the specify the prerelease tag for release note autogen? - if unavailable, where does one request a feature for github?
Update:
There is a separate API for generating the release notes, which accepts the previous_tag parameter.
For the querystring, a feature request is open in the github feedback board. Vote for it go give it visbility, hopefully GitHub will take note and implement it.
Original Answer:
It does not look like you can configure it via queryparameters or the API yet. The documentation you shared seems to confirm that.
GitHub has an open discussion board where you can propose features and they have previously shown that they work on topics that resound with the community.
I don't see a fitting category for "Releases" right now, but you can probably fit it into the categories APIs and Integrations or General.

How to prevent individuals or a team to edit GitHub actions based workflow of a particular repository?

I have a GiHub repository with GitHub actions based workflow (/.github/workflows/build.yml) to do CI builds.
I am from the DevOps team, my case, folks from development team are not allowed to change CI pipelines, they can change whatever they want on a feature branch except “/.github/workflows/build.yml”.
How to prevent a developer changing GitHib workflow to see his app changes passing through different type of integration build quality checks ?
Is there any better approach to achieve this other than options mentioned below ?
1] Through PR reviews
2] Script/automation to validate PR to see if dev did any changes to (/.github/workflows/build.yml
With code owners you can specify who is allowed to modify certain files like so:
# .github/CODEOWNERS
.github/workflows/build.yml #myorg/devops-team
Somewhat off-topic, but note that Toughtworks does not recommend to separate code and pipeline ownership:
[..] in general we find it painful and unhelpful.

Where does Azure DevOps wiki store comments?

Azure DevOps includes a Wiki feature for all projects. The wiki content is stored as a git repository, with a .md markdown file for every page. You can clone the repository and look at how it is organised. All pages in the wiki allow users to submit comments - clearly these must be stored somewhere, but where? They do not appear in the wiki repository.
Unfortunately, we haven't sort it into any history and it only relevant to Wiki page until now. This comment feature is being implement but haven't supported from UI.
As of today, what we provide is view the comments content from UI, or get them from API:
Get https://dev.azure.com/{org name}/{project name}/_apis/wiki/wikis/{wiki name}/pages/{page id}/comments
In fact, the backend data structure has been built, but we haven't provide the corresponding UI to public. So, with above api, you can not only get the comments you want, but also record the modification history of the comments.
Personally, it sounds a good idea about putting comments into source control since it not only records some important conversation about current wiki, also has representation about its development process.
Much recommend you can share your idea here, it is the official forum that our Product Group reviewed.
You can share the suggestion ticket link here, I'm sure I would be the first voter on that. Also, there will have other SO users who view this ticket support that.

Display recent activity to a section of the wiki in an Azure DevOps project

We're moving our wikis over to Azure DevOps and want to replicate the 'overview' pages we have for each section of the wiki. This is comprised of a table with links to various files (which was easy enough to create in markdown), followed by a list of recent updates to pages within that section (showing which team member made the update, which page was updated, and the date).
Azure DevOps doesn't appear to let you run queries on wiki pages within a project, which was my initial approach. I therefore need some markdown that will return a list of the above information (say, the last ten updates made to a specified page of the wiki and any of its sub-pages). Is this possible? Or is there a better way to get the result I'm after?
Display recent activity to a section of the wiki in an Azure DevOps project
I am afraid this is impossible at this moment.
If you want to return a list of the last ten updates made to a specified page of the wiki and any of its sub-pages, there is a option View Revisions, which you could get wiki page history:
Revision pages show who made the change along with the revision
message, date, and version or commit ID. To view details of a
revision, select the message or version link.
Check the document View wiki page history and revert changes for some more details.
But we could not get the update list for all wiki pages, just for one specify.
Besides, the functions supported by markdown are limited currently, AFAIK, we could not dynamic Wiki Content, if we need to list the update list for all wiki pages, it should be the dynamic content:
Check the user voice Add dynamic Wiki Content.
The way I can think of is that we could create a scripts to invoke REST API to return the updates made to a specified page of the wiki, then add the result to the markdown in the local, and push the changes to the Azure devops. But this will add a update message in the Wiki.
So, I am afraid this is impossible at this moment.
Hope this helps.
If you want to see recent wiki page changes, look in the DevOps Repos -> Commits page in the GUI.