I would like to set up a Merge Check that will block a merge if the associated Jira Issue has any blocking tasks.
I have searched for the solution before coming here and found the following example. However, right at import com.atlassian.jira.component.ComponentAccessor I get an "unable to resolve class" error. I am running the latest version of Scriptrunner for Bitbucket Server v.7.10.0.
I have attempted to use AppLinks as shown in the following example and see that I am able to access the Jira Api this way, however I am unsure of how to actually determine the Task Id of the issue linked to the triggering Merge Branch.
I am having a hard time finding any up to date documentation that doesn't involve random Adaptavist or Atlasian forumn posts. Does anyone have any insight for how I can get started?
Related
I want to preface this with I tried to submit this in the developercommuinty.visualstudio.com Request a feature section and it wouldn't upload due to server errors, 403 and bad requests.
On-prem DevOps version: Server 2020 (18.170.30331.4)
Scenario
I was going through some code with another team as they were asking questions it. The code in question was connecting to a database and then querying a different database. So now, a bug has been identified and I was looking to create one that calls out this specific line of code. When highlighting it in the repo and right clicking, there wasn't a way to create a task from it.
Expectation
I was expecting a similar experience to what GitHub has and create a work item that points to the specific line of code.
Suggestion
Mirror that similar functionality from GitHub in Azure DevOps when selecting lines in the repo and being able to create a work item from it.
I am trying to create a branch linked from an issue on GitLab. The option to create a branch from the issue however is missing on this particular project. I have an access level of Maintainer on this project.
The current project I'm working on:
I have checked the other project I made a few months back on which I have exactly the same access level, the option that I'm looking for is there.
My previous project (This is a different project btw, not the source of the fork)
The difference being is that the current project I am working on is a forked version of the old repo so I could keep historical branches from the previous version of the project. I also imported the issues from the previous repo to the new one. I tried to create a new test issue but I still can't see the menu.
It seems like I configured something wrong, could you please help me identify why I cannot access this menu? Any help would be appreciated.
Thanks!
After some digging, I found that this may be a current known issue on GitLab. It only happens on forked projects similar to #VonC's answer. However it doesn't show how to resolve the issue.
To resolve the issue you have to remove the project's fork relationship found on the Settings > General > Advance. If you forked the repo from another project, you should see the Remove fork relationship button there. This essentially removes the fork relationship of the project from the original repository. Once done, the Create merge request should pop-up immediately upon refreshing the page. Do note you need an Owner access to see the Remove fork relationship option.
For more details, please refer to this issue and this solution was from here.
Check first if this is similar to issue 39778 which refers to issue
I disable the button for projects which are forked.
The context in when it references (from a fork) issue from the original project.
No "Create merge request" in that case.
Not able to view the particular GitLab merge request in my repository:
While trying to view my repository’s particular merge request as below mentioned error occurred. I can able to view remaining all the merge requests in that repository, error occurred only try to view the particular merge request alone.
Could you share your suggestions, how to resolve this issue?
Error details snap:
This is a server-side error, which means you must check the logs (assuming an on-premise GitLab server, instead of gitlab.com)
Some bug reports (like 48595 or 12065) were fixed in more recent GitLab version, so it also depends on your exact GitLab server version.
Other reports, like 31141 suggests a permission issue and needs to be investigated or reported.
I tried to configure GitLab integration with Bugzilla but without success. Can somebody provide an example of:
Project url (e.g. http://bugzilla/describecomponents.cgi?product=MY_PROD&component=MY_COMP)
Issues url (e.g. http://bugzilla/buglist.cgi?id=:id)
New issue url (http://bugzilla/enter_bug.cgi?product=MY_PROD&component=MY_COMP)?
I tried to provide that, but I cannot see any changes in neither GitLab nor Bugzilla.
How references in commit should look like? GitLab documentation states in one place that it should be CODE-123, where code is some unknown tracker identifier, while in another place they state it should be #123.
What functionality should I expect? Will it just provide a reference from commit to issue, or will it also add a reference to Bugzilla and maybe resolve/assign bugs?
In git lab, you can create an issue, then within the issue you can create a branch. This branch is linked to the issue (I think because of the issue number at the start of the branch name), such that when you do a merge request on that branch it automatically closes the issue.
So my question is - how can you do this via the API? I can create the issue, but there is no control (as far as I can see) within the issue API to create the related branch.
Is that possible?
It would be nice to be able to create an issue with branch in one go - but I don't think that is possible?
Ok - its not perhaps the best answer, but here is what I came up with for a interim solution (in linux bash):
Raise the issue store response in cmd_resp
Extract the issue ID: echo $cmd_resp | grep -o -P '(?<=iid":).*(?=,"project_id)'.
Where the issue ID is found by looking for: iid":<ISSUE-ID>,"project_id
Create a branch with the name: <ISSUE-ID>-some-branch-name - by having the issue ID at the start of the branch name, gitlab automatically makes a relation to that issue.
So - its quite a simple approach, but it does not feel very integrated. I would still prefer to do that from the point of view of the issue.
It is not possible to create a branch related to an issue via the issues API.
However, this is in line with how RESTful APIs should be designed. If you want to create a branch, you need to make a POST request to the branches API.
POST /projects/:id/repository/branches
As you have already found out, GitLab is quite good at automatically linking issues, MRs and branches together.
For a branch to be linked to an issue, simply start the branch with the issue ID. However, usually it is enough if a merge request is linked to an issue. In my opinion, you shouldn't really be concerned with the branch. You can later access the branch via issue->MR->branch
Merge requests are linked to issues whenever a MR's description text links to an issue (e.g. #1). If you add an issue ID to the Closes statement, the issue will also be closed upon MR resolution.
Therefore, you could simply create a branch via the API, name it however you want. Then, create a MR from that issue and include Closes #1 in your MR description, where 1 is your issue ID.
Further, I would recommend using a more sophisticated REST client. You shouldn't have to parse the issue ID yourself. It is properly set as a field in the JSON response.