renovate icon indicating copy to clipboard operation
renovate copied to clipboard

Support issues for Azure platform

Open zharinov opened this issue 3 years ago • 28 comments

What would you like Renovate to be able to do?

Renovate should support issues on azure devops. That way dependency dashborad and other config issues can be created by renovate.

Did you already have any implementation ideas?

zharinov avatar Apr 17 '21 09:04 zharinov

These functions need to be implemented: https://github.com/renovatebot/renovate/blob/fbbbce608e5df637ac5a6447774d38e03b2e79fc/lib/platform/azure/index.ts#L699-L721

viceice avatar Jul 06 '21 07:07 viceice

Hello, any updates on this. I am getting the same warning in Azure Devops. The pipeline built successfully but I do not see any PRs created.

fmustapha avatar Dec 20 '21 21:12 fmustapha

@JamieMagee do you think the dependency dashboard would make sense as a work item?

rarkins avatar Apr 02 '22 04:04 rarkins

I looked into this before and Azure DevOps is almost too configurable for this.

To give you an idea, Azure DevOps comes pre-configured with four processes^1. However, this is just a starting point and you can completely customize all your work items and hierarchy. This also includes mandatory fields. In which case, what should they be? Of course we can query for a list of work item types, choose one, query for required work item fields, and set them randomly, but the resulting work item might not make much sense? Or might pop up in a query where it's not supposed to. And trigger some other processes.

All of the above is why I implemented azureWorkItemId instead of asking Renovate to create work items. It's easier for users to give us an existing work item ID that is pre-configured to meet their workflow.

As for dependency dashboards, I also investigated that. Azure DevOps does support rendering markdown and HTML in a work item description. But the checkboxes aren't interactive. That makes the dependency dashboard read-only, and not useful IMO.

JamieMagee avatar Apr 03 '22 00:04 JamieMagee

Would it be possible to add a dependencyDashboardAzureWorkItemId or something like that? Basically the user manually creates an appropriate work item, then Renovate edits the description.

ecraig12345 avatar May 25 '22 01:05 ecraig12345

We could definitely attempt that idea, but I assume keeping in mind that the checkboxes won't be possible so we'd need to adjust our markdown a bit to accommodate.

rarkins avatar May 25 '22 04:05 rarkins

This might also make more sense, even as a read-only dashboard, with the recent changes to include all detected dependencies.

JamieMagee avatar May 25 '22 04:05 JamieMagee

A read-only dashboard would be better than nothing, but being able to use the dashboard to take actions is a big part of the appeal. Even if I had to manually edit the markdown to "check" checkboxes, that might still be useful.

ecraig12345 avatar May 25 '22 04:05 ecraig12345

So checkboxes display ok, the only problem is that they're not interactive?

rarkins avatar May 25 '22 05:05 rarkins

I had to go try it out since I haven't actually used Azure DevOps work items in awhile (my team primarily works on github, but I'm helping set up Renovate for some ADO repos).

It looks like the "Description" field is displayed with a rich text editor and stored as HTML, not markdown. (Probably the same for other multi-line text fields.) It's possible to save markdown text into the field using the API, but it will display as plain text rather than being nicely formatted...which might be sort of usable, but not great.

In theory Renovate could also render the markdown into HTML and save that into the field. That would be a decent approach for a read-only dashboard, but it wouldn't help with checkboxes: if you put an <input type="checkbox"> in the HTML, it will render, but checking it doesn't actually modify the underlying HTML.

(There's an extension that fakes markdown support in work item fields, but what that actually does is convert to HTML as you type and save a ton of CSS and HTML in the field.)

ecraig12345 avatar May 25 '22 06:05 ecraig12345

Just injecting another idea here, would it be possible to use a "dummy" pull request instead of work items? I just noticed that pull requests in Azure DevOps actually supports markdown with checkbox'es (And it saves the changes)

Nisden avatar May 25 '22 06:05 Nisden

@ecraig12345 I think that converting from markdown to html is something we could add as part of our azure-specific code for ensureIssue()

@Nisden that's an interesting idea! @JamieMagee wdyt?

rarkins avatar May 26 '22 06:05 rarkins

Just another idea... would it be possible to use the Azure DevOps wiki for the dashboard? It supports a task list.

agilenut avatar Jun 03 '22 16:06 agilenut

The wiki is a git repository behind the scenes, so it should be possible.

JamieMagee avatar Jun 08 '22 04:06 JamieMagee

Is there an update on this item? I would like to have this functionality in Azure Devops. If not, I could see if I can give it a go.

danielmertens avatar Feb 01 '23 08:02 danielmertens

@danielmertens a PR for this would be very welcome! I've left this as status:requirements because it sounds like there might be some requirements gathering or decision making you find along the way, but it is OK to start.

BTW I've also sent you an invite to our contributor-only Slack channel in case you would like to join to discuss

rarkins avatar Feb 01 '23 08:02 rarkins

The documentation mentions that "Dependency Dashboard" feature lacks support for Bitbucket Server (https://docs.renovatebot.com/key-concepts/dashboard/#supported-platforms) and refers to this issue.

Is this issue only to create support for Azure DevOps as the title says or does it cover Bitbucket server as well?

Is there are separate issue to create support for Bitbucket Server?

rikhal avatar Jul 06 '23 08:07 rikhal

What type of issues exist on Bitbucket server?

rarkins avatar Jul 06 '23 08:07 rarkins

I haven't tested yet, because I saw this comment in the docs that "Dependency Dashboard" is not supported for Bitbucket server? Is that true or not?

rikhal avatar Jul 06 '23 10:07 rikhal

It's not supported because issues aren't supported. And I thought issues aren't supported because they don't exist on Bitbucket server

rarkins avatar Jul 06 '23 10:07 rarkins

Got it. Once this: #3796 is closed, would it enable adding "Dependency Dashboard" support for Bitbucket Server? Or does it require issues to be supported natively by the SCM (wrt. GitHub issues)?

rikhal avatar Jul 06 '23 11:07 rikhal

One of the important functionalities of the Dependency Dashboard is the interactive checkboxes. So Jira could at best support just a static list of dependencies and branches but not allow the interactivity.

Marking this conversation as off-topic in this issue

rarkins avatar Jul 06 '23 11:07 rarkins

What would be good if this was also implemented "Create new work item for each PR " From comments in that PR it is said to scope this in this issue.

https://github.com/renovatebot/renovate/pull/15876

I think what could also help is make task on PR creation or after. So people could just do it on it own.

waszakCeneo avatar Jul 07 '23 14:07 waszakCeneo

What would be good if this was also implemented "Create new work item for each PR " From comments in that PR it is said to scope this in this issue.

#15876

I think what could also help is make task on PR creation or after. So people could just do it on it own.

Just going to mention that Azure DevOps Boards is a pretty big challenge and personally I wouldn't find much value in it as a long-term Azure Repos + Renovate user. In the multiple companies I've worked at there tends to be customization and required fields & rules in this that would be difficult to handle. This is far different than github issues which are very unrestricted and freeform.

I've not yet worked at any place that used vanilla backlog type settings.

The required fields can actually block the automatic resolution of a work-item by merging the PR so it becomes another things to go track and manually edit, and no one would know without trying to manual edit and transition the file. There's additionally rule validation logic that is a UI for building conditional rules.

The pull request itself is the most important piece to me. The dependency dashboard linking to an existing long-lived item is satisfactory.

sheldonhull avatar Jul 08 '23 00:07 sheldonhull

Gentle bump. Both wiki and "dummy PR" seem fine to me.

black-snow avatar Mar 15 '24 18:03 black-snow

So this is still in progress? There are any news about it?

gioce90 avatar Apr 10 '24 12:04 gioce90

So in this discussion I see that some of you consider Azure devops's Work items not a good choice because there is a rich html editor that does not supports checkboxes. There is a Feature request on MS dev community to embrace Markdown. Upvotes if you want. Ultimately MS introduced markdown in PR's Description and Comments area. Other places who uses MD are reported here

What about the idea of using Azure DevOps wiki? There are two kind of: project wiki and code wiki (the last one have a git repository behind the scenes).

gioce90 avatar Apr 11 '24 10:04 gioce90

If you’re proposing to use wilis why not have a common renovate directory of some sort that gets mounted as a code based wiki from the relevant repo?

That shouldn’t be too complicated via the rest apis

RolfMoleman avatar Apr 27 '24 07:04 RolfMoleman

What about the idea of using Azure DevOps wiki? There are two kind of: project wiki and code wiki (the last one have a git repository behind the scenes).

In fact the project wiki is ALSO a git repository, it just isn't visible directly. It's path/name is predictable but you can also see the repo URL if you query the api

rbev avatar May 21 '24 05:05 rbev